// +build go1.13 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. package armnetwork import ( "encoding/json" "github.com/Azure/azure-sdk-for-go/sdk/azcore" "reflect" "time" ) // AADAuthenticationParameters - AAD Vpn authentication type related parameters. type AADAuthenticationParameters struct { // AAD Vpn authentication parameter AAD audience. AADAudience *string `json:"aadAudience,omitempty"` // AAD Vpn authentication parameter AAD issuer. AADIssuer *string `json:"aadIssuer,omitempty"` // AAD Vpn authentication parameter AAD tenant. AADTenant *string `json:"aadTenant,omitempty"` } // AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. type AddressSpace struct { // A list of address blocks reserved for this virtual network in CIDR notation. AddressPrefixes []*string `json:"addressPrefixes,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AddressSpace. func (a AddressSpace) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefixes", a.AddressPrefixes) return json.Marshal(objectMap) } // ApplicationGateway - Application gateway resource. type ApplicationGateway struct { Resource // The identity of the application gateway, if configured. Identity *ManagedServiceIdentity `json:"identity,omitempty"` // Properties of the application gateway. Properties *ApplicationGatewayPropertiesFormat `json:"properties,omitempty"` // A list of availability zones denoting where the resource needs to come from. Zones []*string `json:"zones,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGateway. func (a ApplicationGateway) MarshalJSON() ([]byte, error) { objectMap := a.Resource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "identity", a.Identity) populate(objectMap, "properties", a.Properties) populate(objectMap, "zones", a.Zones) return json.Marshal(objectMap) } // ApplicationGatewayAuthenticationCertificate - Authentication certificates of an application gateway. type ApplicationGatewayAuthenticationCertificate struct { SubResource // Name of the authentication certificate that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway authentication certificate. Properties *ApplicationGatewayAuthenticationCertificatePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAuthenticationCertificate. func (a ApplicationGatewayAuthenticationCertificate) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayAuthenticationCertificatePropertiesFormat - Authentication certificates properties of an application gateway. type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct { // Certificate public data. Data *string `json:"data,omitempty"` // READ-ONLY; The provisioning state of the authentication certificate resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayAutoscaleConfiguration - Application Gateway autoscale configuration. type ApplicationGatewayAutoscaleConfiguration struct { // REQUIRED; Lower bound on number of Application Gateway capacity. MinCapacity *int32 `json:"minCapacity,omitempty"` // Upper bound on number of Application Gateway capacity. MaxCapacity *int32 `json:"maxCapacity,omitempty"` } // ApplicationGatewayAvailableSSLOptions - Response for ApplicationGatewayAvailableSslOptions API service call. type ApplicationGatewayAvailableSSLOptions struct { Resource // Properties of the application gateway available SSL options. Properties *ApplicationGatewayAvailableSSLOptionsPropertiesFormat `json:"properties,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLOptions. func (a ApplicationGatewayAvailableSSLOptions) MarshalJSON() ([]byte, error) { objectMap := a.Resource.marshalInternal() populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // ApplicationGatewayAvailableSSLOptionsPropertiesFormat - Properties of ApplicationGatewayAvailableSslOptions. type ApplicationGatewayAvailableSSLOptionsPropertiesFormat struct { // List of available Ssl cipher suites. AvailableCipherSuites []*ApplicationGatewaySSLCipherSuite `json:"availableCipherSuites,omitempty"` // List of available Ssl protocols. AvailableProtocols []*ApplicationGatewaySSLProtocol `json:"availableProtocols,omitempty"` // Name of the Ssl predefined policy applied by default to application gateway. DefaultPolicy *ApplicationGatewaySSLPolicyName `json:"defaultPolicy,omitempty"` // List of available Ssl predefined policy. PredefinedPolicies []*SubResource `json:"predefinedPolicies,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLOptionsPropertiesFormat. func (a ApplicationGatewayAvailableSSLOptionsPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "availableCipherSuites", a.AvailableCipherSuites) populate(objectMap, "availableProtocols", a.AvailableProtocols) populate(objectMap, "defaultPolicy", a.DefaultPolicy) populate(objectMap, "predefinedPolicies", a.PredefinedPolicies) return json.Marshal(objectMap) } // ApplicationGatewayAvailableSSLPredefinedPolicies - Response for ApplicationGatewayAvailableSslOptions API service call. type ApplicationGatewayAvailableSSLPredefinedPolicies struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of available Ssl predefined policy. Value []*ApplicationGatewaySSLPredefinedPolicy `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLPredefinedPolicies. func (a ApplicationGatewayAvailableSSLPredefinedPolicies) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // ApplicationGatewayAvailableWafRuleSetsResult - Response for ApplicationGatewayAvailableWafRuleSets API service call. type ApplicationGatewayAvailableWafRuleSetsResult struct { // The list of application gateway rule sets. Value []*ApplicationGatewayFirewallRuleSet `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableWafRuleSetsResult. func (a ApplicationGatewayAvailableWafRuleSetsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // ApplicationGatewayBackendAddress - Backend address of an application gateway. type ApplicationGatewayBackendAddress struct { // Fully qualified domain name (FQDN). Fqdn *string `json:"fqdn,omitempty"` // IP address. IPAddress *string `json:"ipAddress,omitempty"` } // ApplicationGatewayBackendAddressPool - Backend Address Pool of an application gateway. type ApplicationGatewayBackendAddressPool struct { SubResource // Name of the backend address pool that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway backend address pool. Properties *ApplicationGatewayBackendAddressPoolPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendAddressPool. func (a ApplicationGatewayBackendAddressPool) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayBackendAddressPoolPropertiesFormat - Properties of Backend Address Pool of an application gateway. type ApplicationGatewayBackendAddressPoolPropertiesFormat struct { // Backend addresses. BackendAddresses []*ApplicationGatewayBackendAddress `json:"backendAddresses,omitempty"` // READ-ONLY; Collection of references to IPs defined in network interfaces. BackendIPConfigurations []*NetworkInterfaceIPConfiguration `json:"backendIPConfigurations,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the backend address pool resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendAddressPoolPropertiesFormat. func (a ApplicationGatewayBackendAddressPoolPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendAddresses", a.BackendAddresses) populate(objectMap, "backendIPConfigurations", a.BackendIPConfigurations) populate(objectMap, "provisioningState", a.ProvisioningState) return json.Marshal(objectMap) } // ApplicationGatewayBackendHTTPSettings - Backend address pool settings of an application gateway. type ApplicationGatewayBackendHTTPSettings struct { SubResource // Name of the backend http settings that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway backend HTTP settings. Properties *ApplicationGatewayBackendHTTPSettingsPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHTTPSettings. func (a ApplicationGatewayBackendHTTPSettings) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayBackendHTTPSettingsPropertiesFormat - Properties of Backend address pool settings of an application gateway. type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct { // Cookie name to use for the affinity cookie. AffinityCookieName *string `json:"affinityCookieName,omitempty"` // Array of references to application gateway authentication certificates. AuthenticationCertificates []*SubResource `json:"authenticationCertificates,omitempty"` // Connection draining of the backend http settings resource. ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"` // Cookie based affinity. CookieBasedAffinity *ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"` // Host header to be sent to the backend servers. HostName *string `json:"hostName,omitempty"` // 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"` // 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"` // The destination port on the backend. Port *int32 `json:"port,omitempty"` // Probe resource of an application gateway. Probe *SubResource `json:"probe,omitempty"` // Whether the probe is enabled. Default value is false. ProbeEnabled *bool `json:"probeEnabled,omitempty"` // The protocol used to communicate with the backend. Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` // 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"` // Array of references to application gateway trusted root certificates. TrustedRootCertificates []*SubResource `json:"trustedRootCertificates,omitempty"` // READ-ONLY; The provisioning state of the backend HTTP settings resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHTTPSettingsPropertiesFormat. func (a ApplicationGatewayBackendHTTPSettingsPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "affinityCookieName", a.AffinityCookieName) populate(objectMap, "authenticationCertificates", a.AuthenticationCertificates) populate(objectMap, "connectionDraining", a.ConnectionDraining) populate(objectMap, "cookieBasedAffinity", a.CookieBasedAffinity) populate(objectMap, "hostName", a.HostName) populate(objectMap, "path", a.Path) populate(objectMap, "pickHostNameFromBackendAddress", a.PickHostNameFromBackendAddress) populate(objectMap, "port", a.Port) populate(objectMap, "probe", a.Probe) populate(objectMap, "probeEnabled", a.ProbeEnabled) populate(objectMap, "protocol", a.Protocol) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "requestTimeout", a.RequestTimeout) populate(objectMap, "trustedRootCertificates", a.TrustedRootCertificates) return json.Marshal(objectMap) } // ApplicationGatewayBackendHealth - Response for ApplicationGatewayBackendHealth API service call. type ApplicationGatewayBackendHealth struct { // A list of ApplicationGatewayBackendHealthPool resources. BackendAddressPools []*ApplicationGatewayBackendHealthPool `json:"backendAddressPools,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealth. func (a ApplicationGatewayBackendHealth) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendAddressPools", a.BackendAddressPools) return json.Marshal(objectMap) } // ApplicationGatewayBackendHealthHTTPSettings - Application gateway BackendHealthHttp settings. type ApplicationGatewayBackendHealthHTTPSettings struct { // Reference to an ApplicationGatewayBackendHttpSettings resource. BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettings,omitempty"` // List of ApplicationGatewayBackendHealthServer resources. Servers []*ApplicationGatewayBackendHealthServer `json:"servers,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthHTTPSettings. func (a ApplicationGatewayBackendHealthHTTPSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) populate(objectMap, "servers", a.Servers) return json.Marshal(objectMap) } // ApplicationGatewayBackendHealthOnDemand - Result of on demand test probe. type ApplicationGatewayBackendHealthOnDemand struct { // Reference to an ApplicationGatewayBackendAddressPool resource. BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` // Application gateway BackendHealthHttp settings. BackendHealthHTTPSettings *ApplicationGatewayBackendHealthHTTPSettings `json:"backendHealthHttpSettings,omitempty"` } // ApplicationGatewayBackendHealthPool - Application gateway BackendHealth pool. type ApplicationGatewayBackendHealthPool struct { // Reference to an ApplicationGatewayBackendAddressPool resource. BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` // List of ApplicationGatewayBackendHealthHttpSettings resources. BackendHTTPSettingsCollection []*ApplicationGatewayBackendHealthHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthPool. func (a ApplicationGatewayBackendHealthPool) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendAddressPool", a.BackendAddressPool) populate(objectMap, "backendHttpSettingsCollection", a.BackendHTTPSettingsCollection) return json.Marshal(objectMap) } // ApplicationGatewayBackendHealthServer - Application gateway backendhealth http settings. type ApplicationGatewayBackendHealthServer struct { // IP address or FQDN of backend server. Address *string `json:"address,omitempty"` // Health of backend server. Health *ApplicationGatewayBackendHealthServerHealth `json:"health,omitempty"` // Health Probe Log. HealthProbeLog *string `json:"healthProbeLog,omitempty"` // Reference to IP configuration of backend server. IPConfiguration *NetworkInterfaceIPConfiguration `json:"ipConfiguration,omitempty"` } // ApplicationGatewayClientAuthConfiguration - Application gateway client authentication configuration. type ApplicationGatewayClientAuthConfiguration struct { // Verify client certificate issuer name on the application gateway. VerifyClientCertIssuerDN *bool `json:"verifyClientCertIssuerDN,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 { // REQUIRED; The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds. DrainTimeoutInSec *int32 `json:"drainTimeoutInSec,omitempty"` // REQUIRED; Whether connection draining is enabled or not. Enabled *bool `json:"enabled,omitempty"` } // ApplicationGatewayCustomError - Customer error of an application gateway. type ApplicationGatewayCustomError struct { // Error page URL of the application gateway customer error. CustomErrorPageURL *string `json:"customErrorPageUrl,omitempty"` // Status code of the application gateway customer error. StatusCode *ApplicationGatewayCustomErrorStatusCode `json:"statusCode,omitempty"` } // ApplicationGatewayFirewallDisabledRuleGroup - Allows to disable rules within a rule group or an entire rule group. type ApplicationGatewayFirewallDisabledRuleGroup struct { // REQUIRED; The name of the rule group that will be disabled. RuleGroupName *string `json:"ruleGroupName,omitempty"` // The list of rules that will be disabled. If null, all rules of the rule group will be disabled. Rules []*int32 `json:"rules,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallDisabledRuleGroup. func (a ApplicationGatewayFirewallDisabledRuleGroup) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "ruleGroupName", a.RuleGroupName) populate(objectMap, "rules", a.Rules) return json.Marshal(objectMap) } // ApplicationGatewayFirewallExclusion - Allow to exclude some variable satisfy the condition for the WAF check. type ApplicationGatewayFirewallExclusion struct { // REQUIRED; The variable to be excluded. MatchVariable *string `json:"matchVariable,omitempty"` // REQUIRED; When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. Selector *string `json:"selector,omitempty"` // REQUIRED; When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. SelectorMatchOperator *string `json:"selectorMatchOperator,omitempty"` } // ApplicationGatewayFirewallRule - A web application firewall rule. type ApplicationGatewayFirewallRule struct { // REQUIRED; The identifier of the web application firewall rule. RuleID *int32 `json:"ruleId,omitempty"` // The description of the web application firewall rule. Description *string `json:"description,omitempty"` } // ApplicationGatewayFirewallRuleGroup - A web application firewall rule group. type ApplicationGatewayFirewallRuleGroup struct { // REQUIRED; The name of the web application firewall rule group. RuleGroupName *string `json:"ruleGroupName,omitempty"` // REQUIRED; The rules of the web application firewall rule group. Rules []*ApplicationGatewayFirewallRule `json:"rules,omitempty"` // The description of the web application firewall rule group. Description *string `json:"description,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleGroup. func (a ApplicationGatewayFirewallRuleGroup) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "description", a.Description) populate(objectMap, "ruleGroupName", a.RuleGroupName) populate(objectMap, "rules", a.Rules) return json.Marshal(objectMap) } // ApplicationGatewayFirewallRuleSet - A web application firewall rule set. type ApplicationGatewayFirewallRuleSet struct { Resource // Properties of the application gateway firewall rule set. Properties *ApplicationGatewayFirewallRuleSetPropertiesFormat `json:"properties,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleSet. func (a ApplicationGatewayFirewallRuleSet) MarshalJSON() ([]byte, error) { objectMap := a.Resource.marshalInternal() populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // ApplicationGatewayFirewallRuleSetPropertiesFormat - Properties of the web application firewall rule set. type ApplicationGatewayFirewallRuleSetPropertiesFormat struct { // REQUIRED; The rule groups of the web application firewall rule set. RuleGroups []*ApplicationGatewayFirewallRuleGroup `json:"ruleGroups,omitempty"` // REQUIRED; The type of the web application firewall rule set. RuleSetType *string `json:"ruleSetType,omitempty"` // REQUIRED; The version of the web application firewall rule set type. RuleSetVersion *string `json:"ruleSetVersion,omitempty"` // READ-ONLY; The provisioning state of the web application firewall rule set. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleSetPropertiesFormat. func (a ApplicationGatewayFirewallRuleSetPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "ruleGroups", a.RuleGroups) populate(objectMap, "ruleSetType", a.RuleSetType) populate(objectMap, "ruleSetVersion", a.RuleSetVersion) return json.Marshal(objectMap) } // ApplicationGatewayFrontendIPConfiguration - Frontend IP configuration of an application gateway. type ApplicationGatewayFrontendIPConfiguration struct { SubResource // Name of the frontend IP configuration that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway frontend IP configuration. Properties *ApplicationGatewayFrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendIPConfiguration. func (a ApplicationGatewayFrontendIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayFrontendIPConfigurationPropertiesFormat - Properties of Frontend IP configuration of an application gateway. type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct { // PrivateIPAddress of the network interface IP Configuration. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // The private IP address allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // Reference to the application gateway private link configuration. PrivateLinkConfiguration *SubResource `json:"privateLinkConfiguration,omitempty"` // Reference to the PublicIP resource. PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` // Reference to the subnet resource. Subnet *SubResource `json:"subnet,omitempty"` // READ-ONLY; The provisioning state of the frontend IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayFrontendPort - Frontend port of an application gateway. type ApplicationGatewayFrontendPort struct { SubResource // Name of the frontend port that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway frontend port. Properties *ApplicationGatewayFrontendPortPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendPort. func (a ApplicationGatewayFrontendPort) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayFrontendPortPropertiesFormat - Properties of Frontend port of an application gateway. type ApplicationGatewayFrontendPortPropertiesFormat struct { // Frontend port. Port *int32 `json:"port,omitempty"` // READ-ONLY; The provisioning state of the frontend port resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayHTTPListener - Http listener of an application gateway. type ApplicationGatewayHTTPListener struct { SubResource // Name of the HTTP listener that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway HTTP listener. Properties *ApplicationGatewayHTTPListenerPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayHTTPListener. func (a ApplicationGatewayHTTPListener) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayHTTPListenerPropertiesFormat - Properties of HTTP listener of an application gateway. type ApplicationGatewayHTTPListenerPropertiesFormat struct { // Custom error configurations of the HTTP listener. CustomErrorConfigurations []*ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` // Reference to the FirewallPolicy resource. FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` // Frontend IP configuration resource of an application gateway. FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` // Frontend port resource of an application gateway. FrontendPort *SubResource `json:"frontendPort,omitempty"` // Host name of HTTP listener. HostName *string `json:"hostName,omitempty"` // List of Host names for HTTP Listener that allows special wildcard characters as well. HostNames []*string `json:"hostNames,omitempty"` // Protocol of the HTTP listener. Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` // Applicable only if protocol is https. Enables SNI for multi-hosting. RequireServerNameIndication *bool `json:"requireServerNameIndication,omitempty"` // SSL certificate resource of an application gateway. SSLCertificate *SubResource `json:"sslCertificate,omitempty"` // SSL profile resource of the application gateway. SSLProfile *SubResource `json:"sslProfile,omitempty"` // READ-ONLY; The provisioning state of the HTTP listener resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayHTTPListenerPropertiesFormat. func (a ApplicationGatewayHTTPListenerPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "customErrorConfigurations", a.CustomErrorConfigurations) populate(objectMap, "firewallPolicy", a.FirewallPolicy) populate(objectMap, "frontendIPConfiguration", a.FrontendIPConfiguration) populate(objectMap, "frontendPort", a.FrontendPort) populate(objectMap, "hostName", a.HostName) populate(objectMap, "hostNames", a.HostNames) populate(objectMap, "protocol", a.Protocol) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "requireServerNameIndication", a.RequireServerNameIndication) populate(objectMap, "sslCertificate", a.SSLCertificate) populate(objectMap, "sslProfile", a.SSLProfile) return json.Marshal(objectMap) } // ApplicationGatewayHeaderConfiguration - Header configuration of the Actions set in Application Gateway. type ApplicationGatewayHeaderConfiguration struct { // Header name of the header configuration. HeaderName *string `json:"headerName,omitempty"` // Header value of the header configuration. HeaderValue *string `json:"headerValue,omitempty"` } // ApplicationGatewayIPConfiguration - IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. type ApplicationGatewayIPConfiguration struct { SubResource // Name of the IP configuration that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway IP configuration. Properties *ApplicationGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayIPConfiguration. func (a ApplicationGatewayIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayIPConfigurationPropertiesFormat - Properties of IP configuration of an application gateway. type ApplicationGatewayIPConfigurationPropertiesFormat struct { // Reference to the subnet resource. A subnet from where application gateway gets its private address. Subnet *SubResource `json:"subnet,omitempty"` // READ-ONLY; The provisioning state of the application gateway IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayListResult - Response for ListApplicationGateways API service call. type ApplicationGatewayListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of an application gateways in a resource group. Value []*ApplicationGateway `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayListResult. func (a ApplicationGatewayListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // ApplicationGatewayOnDemandProbe - Details of on demand test probe request. type ApplicationGatewayOnDemandProbe struct { // Reference to backend pool of application gateway to which probe request will be sent. BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` // Reference to backend http setting of application gateway to be used for test probe. BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` // Host name to send the probe to. Host *string `json:"host,omitempty"` // Criterion for classifying a healthy probe response. Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` // Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. Path *string `json:"path,omitempty"` // Whether the host header should be picked from the backend http settings. Default value is false. PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` // The protocol used for the probe. Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` // 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"` } // ApplicationGatewayPathRule - Path rule of URL path map of an application gateway. type ApplicationGatewayPathRule struct { SubResource // Name of the path rule that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway path rule. Properties *ApplicationGatewayPathRulePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPathRule. func (a ApplicationGatewayPathRule) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayPathRulePropertiesFormat - Properties of path rule of an application gateway. type ApplicationGatewayPathRulePropertiesFormat struct { // Backend address pool resource of URL path map path rule. BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` // Backend http settings resource of URL path map path rule. BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` // Reference to the FirewallPolicy resource. FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` // Path rules of URL path map. Paths []*string `json:"paths,omitempty"` // Redirect configuration resource of URL path map path rule. RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` // Rewrite rule set resource of URL path map path rule. RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` // READ-ONLY; The provisioning state of the path rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPathRulePropertiesFormat. func (a ApplicationGatewayPathRulePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendAddressPool", a.BackendAddressPool) populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) populate(objectMap, "firewallPolicy", a.FirewallPolicy) populate(objectMap, "paths", a.Paths) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "redirectConfiguration", a.RedirectConfiguration) populate(objectMap, "rewriteRuleSet", a.RewriteRuleSet) return json.Marshal(objectMap) } // ApplicationGatewayPrivateEndpointConnection - Private Endpoint connection on an application gateway. type ApplicationGatewayPrivateEndpointConnection struct { SubResource // Name of the private endpoint connection on an application gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway private endpoint connection. Properties *ApplicationGatewayPrivateEndpointConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateEndpointConnection. func (a ApplicationGatewayPrivateEndpointConnection) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayPrivateEndpointConnectionListResult - Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private // endpoint connections for an application gateway. type ApplicationGatewayPrivateEndpointConnectionListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of private endpoint connections on an application gateway. Value []*ApplicationGatewayPrivateEndpointConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateEndpointConnectionListResult. func (a ApplicationGatewayPrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // ApplicationGatewayPrivateEndpointConnectionProperties - Properties of Private Link Resource of an application gateway. type ApplicationGatewayPrivateEndpointConnectionProperties struct { // A collection of information about the state of the connection between service consumer and provider. PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` // READ-ONLY; The consumer link id. LinkIdentifier *string `json:"linkIdentifier,omitempty" azure:"ro"` // READ-ONLY; The resource of private end point. PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the application gateway private endpoint connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayPrivateEndpointConnectionsBeginDeleteOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.BeginDelete // method. type ApplicationGatewayPrivateEndpointConnectionsBeginDeleteOptions struct { // placeholder for future optional parameters } // ApplicationGatewayPrivateEndpointConnectionsBeginUpdateOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.BeginUpdate // method. type ApplicationGatewayPrivateEndpointConnectionsBeginUpdateOptions struct { // placeholder for future optional parameters } // ApplicationGatewayPrivateEndpointConnectionsGetOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.Get method. type ApplicationGatewayPrivateEndpointConnectionsGetOptions struct { // placeholder for future optional parameters } // ApplicationGatewayPrivateEndpointConnectionsListOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.List method. type ApplicationGatewayPrivateEndpointConnectionsListOptions struct { // placeholder for future optional parameters } // ApplicationGatewayPrivateLinkConfiguration - Private Link Configuration on an application gateway. type ApplicationGatewayPrivateLinkConfiguration struct { SubResource // Name of the private link configuration that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway private link configuration. Properties *ApplicationGatewayPrivateLinkConfigurationProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkConfiguration. func (a ApplicationGatewayPrivateLinkConfiguration) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayPrivateLinkConfigurationProperties - Properties of private link configuration on an application gateway. type ApplicationGatewayPrivateLinkConfigurationProperties struct { // An array of application gateway private link ip configurations. IPConfigurations []*ApplicationGatewayPrivateLinkIPConfiguration `json:"ipConfigurations,omitempty"` // READ-ONLY; The provisioning state of the application gateway private link configuration. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkConfigurationProperties. func (a ApplicationGatewayPrivateLinkConfigurationProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "ipConfigurations", a.IPConfigurations) populate(objectMap, "provisioningState", a.ProvisioningState) return json.Marshal(objectMap) } // ApplicationGatewayPrivateLinkIPConfiguration - The application gateway private link ip configuration. type ApplicationGatewayPrivateLinkIPConfiguration struct { SubResource // The name of application gateway private link ip configuration. Name *string `json:"name,omitempty"` // Properties of an application gateway private link ip configuration. Properties *ApplicationGatewayPrivateLinkIPConfigurationProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; The resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkIPConfiguration. func (a ApplicationGatewayPrivateLinkIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayPrivateLinkIPConfigurationProperties - Properties of an application gateway private link IP configuration. type ApplicationGatewayPrivateLinkIPConfigurationProperties struct { // Whether the ip configuration is primary or not. Primary *bool `json:"primary,omitempty"` // The private IP address of the IP configuration. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // The private IP address allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // Reference to the subnet resource. Subnet *SubResource `json:"subnet,omitempty"` // READ-ONLY; The provisioning state of the application gateway private link IP configuration. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayPrivateLinkResource - PrivateLink Resource of an application gateway. type ApplicationGatewayPrivateLinkResource struct { SubResource // Name of the private link resource that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway private link resource. Properties *ApplicationGatewayPrivateLinkResourceProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResource. func (a ApplicationGatewayPrivateLinkResource) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayPrivateLinkResourceListResult - Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources // for an application gateway. type ApplicationGatewayPrivateLinkResourceListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of private link resources of an application gateway. Value []*ApplicationGatewayPrivateLinkResource `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResourceListResult. func (a ApplicationGatewayPrivateLinkResourceListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // ApplicationGatewayPrivateLinkResourceProperties - Properties of a private link resource. type ApplicationGatewayPrivateLinkResourceProperties struct { // Required DNS zone names of the the private link resource. RequiredZoneNames []*string `json:"requiredZoneNames,omitempty"` // READ-ONLY; Group identifier of private link resource. GroupID *string `json:"groupId,omitempty" azure:"ro"` // READ-ONLY; Required member names of private link resource. RequiredMembers []*string `json:"requiredMembers,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResourceProperties. func (a ApplicationGatewayPrivateLinkResourceProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "groupId", a.GroupID) populate(objectMap, "requiredMembers", a.RequiredMembers) populate(objectMap, "requiredZoneNames", a.RequiredZoneNames) return json.Marshal(objectMap) } // ApplicationGatewayPrivateLinkResourcesListOptions contains the optional parameters for the ApplicationGatewayPrivateLinkResources.List method. type ApplicationGatewayPrivateLinkResourcesListOptions struct { // placeholder for future optional parameters } // ApplicationGatewayProbe - Probe of the application gateway. type ApplicationGatewayProbe struct { SubResource // Name of the probe that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway probe. Properties *ApplicationGatewayProbePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayProbe. func (a ApplicationGatewayProbe) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayProbeHealthResponseMatch - Application gateway probe health response match. type ApplicationGatewayProbeHealthResponseMatch struct { // Body that must be contained in the health response. Default value is empty. Body *string `json:"body,omitempty"` // Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399. StatusCodes []*string `json:"statusCodes,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayProbeHealthResponseMatch. func (a ApplicationGatewayProbeHealthResponseMatch) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "body", a.Body) populate(objectMap, "statusCodes", a.StatusCodes) return json.Marshal(objectMap) } // ApplicationGatewayProbePropertiesFormat - Properties of probe of an application gateway. type ApplicationGatewayProbePropertiesFormat struct { // Host name to send the probe to. Host *string `json:"host,omitempty"` // 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"` // Criterion for classifying a healthy probe response. Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` // Minimum number of servers that are always marked healthy. Default value is 0. MinServers *int32 `json:"minServers,omitempty"` // Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. Path *string `json:"path,omitempty"` // Whether the host header should be picked from the backend http settings. Default value is false. PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` // Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will // be used. This property is valid for Standardv2 and // WAFv2 only. Port *int32 `json:"port,omitempty"` // The protocol used for the probe. Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` // 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"` // 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"` // READ-ONLY; The provisioning state of the probe resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayPropertiesFormat - Properties of the application gateway. type ApplicationGatewayPropertiesFormat struct { // Authentication certificates of the application gateway resource. For default limits, see Application Gateway limits // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. AuthenticationCertificates []*ApplicationGatewayAuthenticationCertificate `json:"authenticationCertificates,omitempty"` // Autoscale Configuration. AutoscaleConfiguration *ApplicationGatewayAutoscaleConfiguration `json:"autoscaleConfiguration,omitempty"` // Backend address pool of the application gateway resource. For default limits, see Application Gateway limits // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. BackendAddressPools []*ApplicationGatewayBackendAddressPool `json:"backendAddressPools,omitempty"` // Backend http settings of the application gateway resource. For default limits, see Application Gateway limits // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. BackendHTTPSettingsCollection []*ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` // Custom error configurations of the application gateway resource. CustomErrorConfigurations []*ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` // Whether FIPS is enabled on the application gateway resource. EnableFips *bool `json:"enableFips,omitempty"` // Whether HTTP2 is enabled on the application gateway resource. EnableHTTP2 *bool `json:"enableHttp2,omitempty"` // Reference to the FirewallPolicy resource. FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` // If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config. ForceFirewallPolicyAssociation *bool `json:"forceFirewallPolicyAssociation,omitempty"` // Frontend IP addresses of the application gateway resource. For default limits, see Application Gateway limits // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. FrontendIPConfigurations []*ApplicationGatewayFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` // Frontend ports of the application gateway resource. For default limits, see Application Gateway limits [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. FrontendPorts []*ApplicationGatewayFrontendPort `json:"frontendPorts,omitempty"` // Subnets of the application gateway resource. For default limits, see Application Gateway limits [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. GatewayIPConfigurations []*ApplicationGatewayIPConfiguration `json:"gatewayIPConfigurations,omitempty"` // Http listeners of the application gateway resource. For default limits, see Application Gateway limits [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. HTTPListeners []*ApplicationGatewayHTTPListener `json:"httpListeners,omitempty"` // PrivateLink configurations on application gateway. PrivateLinkConfigurations []*ApplicationGatewayPrivateLinkConfiguration `json:"privateLinkConfigurations,omitempty"` // Probes of the application gateway resource. Probes []*ApplicationGatewayProbe `json:"probes,omitempty"` // Redirect configurations of the application gateway resource. For default limits, see Application Gateway limits // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. RedirectConfigurations []*ApplicationGatewayRedirectConfiguration `json:"redirectConfigurations,omitempty"` // Request routing rules of the application gateway resource. RequestRoutingRules []*ApplicationGatewayRequestRoutingRule `json:"requestRoutingRules,omitempty"` // Rewrite rules for the application gateway resource. RewriteRuleSets []*ApplicationGatewayRewriteRuleSet `json:"rewriteRuleSets,omitempty"` // SKU of the application gateway resource. SKU *ApplicationGatewaySKU `json:"sku,omitempty"` // SSL certificates of the application gateway resource. For default limits, see Application Gateway limits [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits] // . SSLCertificates []*ApplicationGatewaySSLCertificate `json:"sslCertificates,omitempty"` // SSL policy of the application gateway resource. SSLPolicy *ApplicationGatewaySSLPolicy `json:"sslPolicy,omitempty"` // SSL profiles of the application gateway resource. For default limits, see Application Gateway limits [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. SSLProfiles []*ApplicationGatewaySSLProfile `json:"sslProfiles,omitempty"` // Trusted client certificates of the application gateway resource. For default limits, see Application Gateway limits // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. TrustedClientCertificates []*ApplicationGatewayTrustedClientCertificate `json:"trustedClientCertificates,omitempty"` // Trusted Root certificates of the application gateway resource. For default limits, see Application Gateway limits // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. TrustedRootCertificates []*ApplicationGatewayTrustedRootCertificate `json:"trustedRootCertificates,omitempty"` // URL path map of the application gateway resource. For default limits, see Application Gateway limits [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. URLPathMaps []*ApplicationGatewayURLPathMap `json:"urlPathMaps,omitempty"` // Web application firewall configuration. WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration `json:"webApplicationFirewallConfiguration,omitempty"` // READ-ONLY; Operational state of the application gateway resource. OperationalState *ApplicationGatewayOperationalState `json:"operationalState,omitempty" azure:"ro"` // READ-ONLY; Private Endpoint connections on application gateway. PrivateEndpointConnections []*ApplicationGatewayPrivateEndpointConnection `json:"privateEndpointConnections,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the application gateway resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the application gateway resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPropertiesFormat. func (a ApplicationGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "authenticationCertificates", a.AuthenticationCertificates) populate(objectMap, "autoscaleConfiguration", a.AutoscaleConfiguration) populate(objectMap, "backendAddressPools", a.BackendAddressPools) populate(objectMap, "backendHttpSettingsCollection", a.BackendHTTPSettingsCollection) populate(objectMap, "customErrorConfigurations", a.CustomErrorConfigurations) populate(objectMap, "enableFips", a.EnableFips) populate(objectMap, "enableHttp2", a.EnableHTTP2) populate(objectMap, "firewallPolicy", a.FirewallPolicy) populate(objectMap, "forceFirewallPolicyAssociation", a.ForceFirewallPolicyAssociation) populate(objectMap, "frontendIPConfigurations", a.FrontendIPConfigurations) populate(objectMap, "frontendPorts", a.FrontendPorts) populate(objectMap, "gatewayIPConfigurations", a.GatewayIPConfigurations) populate(objectMap, "httpListeners", a.HTTPListeners) populate(objectMap, "operationalState", a.OperationalState) populate(objectMap, "privateEndpointConnections", a.PrivateEndpointConnections) populate(objectMap, "privateLinkConfigurations", a.PrivateLinkConfigurations) populate(objectMap, "probes", a.Probes) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "redirectConfigurations", a.RedirectConfigurations) populate(objectMap, "requestRoutingRules", a.RequestRoutingRules) populate(objectMap, "resourceGuid", a.ResourceGUID) populate(objectMap, "rewriteRuleSets", a.RewriteRuleSets) populate(objectMap, "sku", a.SKU) populate(objectMap, "sslCertificates", a.SSLCertificates) populate(objectMap, "sslPolicy", a.SSLPolicy) populate(objectMap, "sslProfiles", a.SSLProfiles) populate(objectMap, "trustedClientCertificates", a.TrustedClientCertificates) populate(objectMap, "trustedRootCertificates", a.TrustedRootCertificates) populate(objectMap, "urlPathMaps", a.URLPathMaps) populate(objectMap, "webApplicationFirewallConfiguration", a.WebApplicationFirewallConfiguration) return json.Marshal(objectMap) } // ApplicationGatewayRedirectConfiguration - Redirect configuration of an application gateway. type ApplicationGatewayRedirectConfiguration struct { SubResource // Name of the redirect configuration that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway redirect configuration. Properties *ApplicationGatewayRedirectConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRedirectConfiguration. func (a ApplicationGatewayRedirectConfiguration) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayRedirectConfigurationPropertiesFormat - Properties of redirect configuration of the application gateway. type ApplicationGatewayRedirectConfigurationPropertiesFormat struct { // Include path in the redirected url. IncludePath *bool `json:"includePath,omitempty"` // Include query string in the redirected url. IncludeQueryString *bool `json:"includeQueryString,omitempty"` // Path rules specifying redirect configuration. PathRules []*SubResource `json:"pathRules,omitempty"` // HTTP redirection type. RedirectType *ApplicationGatewayRedirectType `json:"redirectType,omitempty"` // Request routing specifying redirect configuration. RequestRoutingRules []*SubResource `json:"requestRoutingRules,omitempty"` // Reference to a listener to redirect the request to. TargetListener *SubResource `json:"targetListener,omitempty"` // Url to redirect the request to. TargetURL *string `json:"targetUrl,omitempty"` // Url path maps specifying default redirect configuration. URLPathMaps []*SubResource `json:"urlPathMaps,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRedirectConfigurationPropertiesFormat. func (a ApplicationGatewayRedirectConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "includePath", a.IncludePath) populate(objectMap, "includeQueryString", a.IncludeQueryString) populate(objectMap, "pathRules", a.PathRules) populate(objectMap, "redirectType", a.RedirectType) populate(objectMap, "requestRoutingRules", a.RequestRoutingRules) populate(objectMap, "targetListener", a.TargetListener) populate(objectMap, "targetUrl", a.TargetURL) populate(objectMap, "urlPathMaps", a.URLPathMaps) return json.Marshal(objectMap) } // ApplicationGatewayRequestRoutingRule - Request routing rule of an application gateway. type ApplicationGatewayRequestRoutingRule struct { SubResource // Name of the request routing rule that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway request routing rule. Properties *ApplicationGatewayRequestRoutingRulePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRequestRoutingRule. func (a ApplicationGatewayRequestRoutingRule) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayRequestRoutingRulePropertiesFormat - Properties of request routing rule of the application gateway. type ApplicationGatewayRequestRoutingRulePropertiesFormat struct { // Backend address pool resource of the application gateway. BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` // Backend http settings resource of the application gateway. BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` // Http listener resource of the application gateway. HTTPListener *SubResource `json:"httpListener,omitempty"` // Priority of the request routing rule. Priority *int32 `json:"priority,omitempty"` // Redirect configuration resource of the application gateway. RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` // Rewrite Rule Set resource in Basic rule of the application gateway. RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` // Rule type. RuleType *ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"` // URL path map resource of the application gateway. URLPathMap *SubResource `json:"urlPathMap,omitempty"` // READ-ONLY; The provisioning state of the request routing rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayRewriteRule - Rewrite rule of an application gateway. type ApplicationGatewayRewriteRule struct { // Set of actions to be done as part of the rewrite Rule. ActionSet *ApplicationGatewayRewriteRuleActionSet `json:"actionSet,omitempty"` // Conditions based on which the action set execution will be evaluated. Conditions []*ApplicationGatewayRewriteRuleCondition `json:"conditions,omitempty"` // Name of the rewrite rule that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet. RuleSequence *int32 `json:"ruleSequence,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRule. func (a ApplicationGatewayRewriteRule) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "actionSet", a.ActionSet) populate(objectMap, "conditions", a.Conditions) populate(objectMap, "name", a.Name) populate(objectMap, "ruleSequence", a.RuleSequence) return json.Marshal(objectMap) } // ApplicationGatewayRewriteRuleActionSet - Set of actions in the Rewrite Rule in Application Gateway. type ApplicationGatewayRewriteRuleActionSet struct { // Request Header Actions in the Action Set. RequestHeaderConfigurations []*ApplicationGatewayHeaderConfiguration `json:"requestHeaderConfigurations,omitempty"` // Response Header Actions in the Action Set. ResponseHeaderConfigurations []*ApplicationGatewayHeaderConfiguration `json:"responseHeaderConfigurations,omitempty"` // Url Configuration Action in the Action Set. URLConfiguration *ApplicationGatewayURLConfiguration `json:"urlConfiguration,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleActionSet. func (a ApplicationGatewayRewriteRuleActionSet) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "requestHeaderConfigurations", a.RequestHeaderConfigurations) populate(objectMap, "responseHeaderConfigurations", a.ResponseHeaderConfigurations) populate(objectMap, "urlConfiguration", a.URLConfiguration) return json.Marshal(objectMap) } // ApplicationGatewayRewriteRuleCondition - Set of conditions in the Rewrite Rule in Application Gateway. type ApplicationGatewayRewriteRuleCondition struct { // Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison. IgnoreCase *bool `json:"ignoreCase,omitempty"` // Setting this value as truth will force to check the negation of the condition given by the user. Negate *bool `json:"negate,omitempty"` // The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition. Pattern *string `json:"pattern,omitempty"` // The condition parameter of the RewriteRuleCondition. Variable *string `json:"variable,omitempty"` } // ApplicationGatewayRewriteRuleSet - Rewrite rule set of an application gateway. type ApplicationGatewayRewriteRuleSet struct { SubResource // Name of the rewrite rule set that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway rewrite rule set. Properties *ApplicationGatewayRewriteRuleSetPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleSet. func (a ApplicationGatewayRewriteRuleSet) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // ApplicationGatewayRewriteRuleSetPropertiesFormat - Properties of rewrite rule set of the application gateway. type ApplicationGatewayRewriteRuleSetPropertiesFormat struct { // Rewrite rules in the rewrite rule set. RewriteRules []*ApplicationGatewayRewriteRule `json:"rewriteRules,omitempty"` // READ-ONLY; The provisioning state of the rewrite rule set resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleSetPropertiesFormat. func (a ApplicationGatewayRewriteRuleSetPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "rewriteRules", a.RewriteRules) return json.Marshal(objectMap) } // ApplicationGatewaySKU - SKU of an application gateway. type ApplicationGatewaySKU struct { // Capacity (instance count) of an application gateway. Capacity *int32 `json:"capacity,omitempty"` // Name of an application gateway SKU. Name *ApplicationGatewaySKUName `json:"name,omitempty"` // Tier of an application gateway. Tier *ApplicationGatewayTier `json:"tier,omitempty"` } // ApplicationGatewaySSLCertificate - SSL certificates of an application gateway. type ApplicationGatewaySSLCertificate struct { SubResource // Name of the SSL certificate that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway SSL certificate. Properties *ApplicationGatewaySSLCertificatePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLCertificate. func (a ApplicationGatewaySSLCertificate) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewaySSLCertificatePropertiesFormat - Properties of SSL certificates of an application gateway. type ApplicationGatewaySSLCertificatePropertiesFormat struct { // Base-64 encoded pfx certificate. Only applicable in PUT Request. Data *string `json:"data,omitempty"` // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` // Password for the pfx file specified in data. Only applicable in PUT request. Password *string `json:"password,omitempty"` // READ-ONLY; The provisioning state of the SSL certificate resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. PublicCertData *string `json:"publicCertData,omitempty" azure:"ro"` } // ApplicationGatewaySSLPolicy - Application Gateway Ssl policy. type ApplicationGatewaySSLPolicy struct { // Ssl cipher suites to be enabled in the specified order to application gateway. CipherSuites []*ApplicationGatewaySSLCipherSuite `json:"cipherSuites,omitempty"` // Ssl protocols to be disabled on application gateway. DisabledSSLProtocols []*ApplicationGatewaySSLProtocol `json:"disabledSslProtocols,omitempty"` // Minimum version of Ssl protocol to be supported on application gateway. MinProtocolVersion *ApplicationGatewaySSLProtocol `json:"minProtocolVersion,omitempty"` // Name of Ssl predefined policy. PolicyName *ApplicationGatewaySSLPolicyName `json:"policyName,omitempty"` // Type of Ssl Policy. PolicyType *ApplicationGatewaySSLPolicyType `json:"policyType,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPolicy. func (a ApplicationGatewaySSLPolicy) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "cipherSuites", a.CipherSuites) populate(objectMap, "disabledSslProtocols", a.DisabledSSLProtocols) populate(objectMap, "minProtocolVersion", a.MinProtocolVersion) populate(objectMap, "policyName", a.PolicyName) populate(objectMap, "policyType", a.PolicyType) return json.Marshal(objectMap) } // ApplicationGatewaySSLPredefinedPolicy - An Ssl predefined policy. type ApplicationGatewaySSLPredefinedPolicy struct { SubResource // Name of the Ssl predefined policy. Name *string `json:"name,omitempty"` // Properties of the application gateway SSL predefined policy. Properties *ApplicationGatewaySSLPredefinedPolicyPropertiesFormat `json:"properties,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPredefinedPolicy. func (a ApplicationGatewaySSLPredefinedPolicy) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // ApplicationGatewaySSLPredefinedPolicyPropertiesFormat - Properties of ApplicationGatewaySslPredefinedPolicy. type ApplicationGatewaySSLPredefinedPolicyPropertiesFormat struct { // Ssl cipher suites to be enabled in the specified order for application gateway. CipherSuites []*ApplicationGatewaySSLCipherSuite `json:"cipherSuites,omitempty"` // Minimum version of Ssl protocol to be supported on application gateway. MinProtocolVersion *ApplicationGatewaySSLProtocol `json:"minProtocolVersion,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPredefinedPolicyPropertiesFormat. func (a ApplicationGatewaySSLPredefinedPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "cipherSuites", a.CipherSuites) populate(objectMap, "minProtocolVersion", a.MinProtocolVersion) return json.Marshal(objectMap) } // ApplicationGatewaySSLProfile - SSL profile of an application gateway. type ApplicationGatewaySSLProfile struct { SubResource // Name of the SSL profile that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway SSL profile. Properties *ApplicationGatewaySSLProfilePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLProfile. func (a ApplicationGatewaySSLProfile) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewaySSLProfilePropertiesFormat - Properties of SSL profile of an application gateway. type ApplicationGatewaySSLProfilePropertiesFormat struct { // Client authentication configuration of the application gateway resource. ClientAuthConfiguration *ApplicationGatewayClientAuthConfiguration `json:"clientAuthConfiguration,omitempty"` // SSL policy of the application gateway resource. SSLPolicy *ApplicationGatewaySSLPolicy `json:"sslPolicy,omitempty"` // Array of references to application gateway trusted client certificates. TrustedClientCertificates []*SubResource `json:"trustedClientCertificates,omitempty"` // READ-ONLY; The provisioning state of the HTTP listener resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLProfilePropertiesFormat. func (a ApplicationGatewaySSLProfilePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "clientAuthConfiguration", a.ClientAuthConfiguration) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "sslPolicy", a.SSLPolicy) populate(objectMap, "trustedClientCertificates", a.TrustedClientCertificates) return json.Marshal(objectMap) } // ApplicationGatewayTrustedClientCertificate - Trusted client certificates of an application gateway. type ApplicationGatewayTrustedClientCertificate struct { SubResource // Name of the trusted client certificate that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway trusted client certificate. Properties *ApplicationGatewayTrustedClientCertificatePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedClientCertificate. func (a ApplicationGatewayTrustedClientCertificate) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayTrustedClientCertificatePropertiesFormat - Trusted client certificates properties of an application gateway. type ApplicationGatewayTrustedClientCertificatePropertiesFormat struct { // Certificate public data. Data *string `json:"data,omitempty"` // READ-ONLY; Distinguished name of client certificate issuer. ClientCertIssuerDN *string `json:"clientCertIssuerDN,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the trusted client certificate resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; Validated certificate data. ValidatedCertData *string `json:"validatedCertData,omitempty" azure:"ro"` } // ApplicationGatewayTrustedRootCertificate - Trusted Root certificates of an application gateway. type ApplicationGatewayTrustedRootCertificate struct { SubResource // Name of the trusted root certificate that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway trusted root certificate. Properties *ApplicationGatewayTrustedRootCertificatePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedRootCertificate. func (a ApplicationGatewayTrustedRootCertificate) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayTrustedRootCertificatePropertiesFormat - Trusted Root certificates properties of an application gateway. type ApplicationGatewayTrustedRootCertificatePropertiesFormat struct { // Certificate public data. Data *string `json:"data,omitempty"` // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` // READ-ONLY; The provisioning state of the trusted root certificate resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ApplicationGatewayURLConfiguration - Url configuration of the Actions set in Application Gateway. type ApplicationGatewayURLConfiguration struct { // Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null. ModifiedPath *string `json:"modifiedPath,omitempty"` // Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null. ModifiedQueryString *string `json:"modifiedQueryString,omitempty"` // If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false. Reroute *bool `json:"reroute,omitempty"` } // ApplicationGatewayURLPathMap - UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. type ApplicationGatewayURLPathMap struct { SubResource // Name of the URL path map that is unique within an Application Gateway. Name *string `json:"name,omitempty"` // Properties of the application gateway URL path map. Properties *ApplicationGatewayURLPathMapPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayURLPathMap. func (a ApplicationGatewayURLPathMap) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // ApplicationGatewayURLPathMapPropertiesFormat - Properties of UrlPathMap of the application gateway. type ApplicationGatewayURLPathMapPropertiesFormat struct { // Default backend address pool resource of URL path map. DefaultBackendAddressPool *SubResource `json:"defaultBackendAddressPool,omitempty"` // Default backend http settings resource of URL path map. DefaultBackendHTTPSettings *SubResource `json:"defaultBackendHttpSettings,omitempty"` // Default redirect configuration resource of URL path map. DefaultRedirectConfiguration *SubResource `json:"defaultRedirectConfiguration,omitempty"` // Default Rewrite rule set resource of URL path map. DefaultRewriteRuleSet *SubResource `json:"defaultRewriteRuleSet,omitempty"` // Path rule of URL path map resource. PathRules []*ApplicationGatewayPathRule `json:"pathRules,omitempty"` // READ-ONLY; The provisioning state of the URL path map resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayURLPathMapPropertiesFormat. func (a ApplicationGatewayURLPathMapPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "defaultBackendAddressPool", a.DefaultBackendAddressPool) populate(objectMap, "defaultBackendHttpSettings", a.DefaultBackendHTTPSettings) populate(objectMap, "defaultRedirectConfiguration", a.DefaultRedirectConfiguration) populate(objectMap, "defaultRewriteRuleSet", a.DefaultRewriteRuleSet) populate(objectMap, "pathRules", a.PathRules) populate(objectMap, "provisioningState", a.ProvisioningState) return json.Marshal(objectMap) } // ApplicationGatewayWebApplicationFirewallConfiguration - Application gateway web application firewall configuration. type ApplicationGatewayWebApplicationFirewallConfiguration struct { // REQUIRED; Whether the web application firewall is enabled or not. Enabled *bool `json:"enabled,omitempty"` // REQUIRED; Web application firewall mode. FirewallMode *ApplicationGatewayFirewallMode `json:"firewallMode,omitempty"` // REQUIRED; The type of the web application firewall rule set. Possible values are: 'OWASP'. RuleSetType *string `json:"ruleSetType,omitempty"` // REQUIRED; The version of the rule set type. RuleSetVersion *string `json:"ruleSetVersion,omitempty"` // The disabled rule groups. DisabledRuleGroups []*ApplicationGatewayFirewallDisabledRuleGroup `json:"disabledRuleGroups,omitempty"` // The exclusion list. Exclusions []*ApplicationGatewayFirewallExclusion `json:"exclusions,omitempty"` // Maximum file upload size in Mb for WAF. FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` // Maximum request body size for WAF. MaxRequestBodySize *int32 `json:"maxRequestBodySize,omitempty"` // Maximum request body size in Kb for WAF. MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` // Whether allow WAF to check request Body. RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayWebApplicationFirewallConfiguration. func (a ApplicationGatewayWebApplicationFirewallConfiguration) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "disabledRuleGroups", a.DisabledRuleGroups) populate(objectMap, "enabled", a.Enabled) populate(objectMap, "exclusions", a.Exclusions) populate(objectMap, "fileUploadLimitInMb", a.FileUploadLimitInMb) populate(objectMap, "firewallMode", a.FirewallMode) populate(objectMap, "maxRequestBodySize", a.MaxRequestBodySize) populate(objectMap, "maxRequestBodySizeInKb", a.MaxRequestBodySizeInKb) populate(objectMap, "requestBodyCheck", a.RequestBodyCheck) populate(objectMap, "ruleSetType", a.RuleSetType) populate(objectMap, "ruleSetVersion", a.RuleSetVersion) return json.Marshal(objectMap) } // ApplicationGatewaysBeginBackendHealthOnDemandOptions contains the optional parameters for the ApplicationGateways.BeginBackendHealthOnDemand method. type ApplicationGatewaysBeginBackendHealthOnDemandOptions struct { // Expands BackendAddressPool and BackendHttpSettings referenced in backend health. Expand *string } // ApplicationGatewaysBeginBackendHealthOptions contains the optional parameters for the ApplicationGateways.BeginBackendHealth method. type ApplicationGatewaysBeginBackendHealthOptions struct { // Expands BackendAddressPool and BackendHttpSettings referenced in backend health. Expand *string } // ApplicationGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the ApplicationGateways.BeginCreateOrUpdate method. type ApplicationGatewaysBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysBeginDeleteOptions contains the optional parameters for the ApplicationGateways.BeginDelete method. type ApplicationGatewaysBeginDeleteOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysBeginStartOptions contains the optional parameters for the ApplicationGateways.BeginStart method. type ApplicationGatewaysBeginStartOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysBeginStopOptions contains the optional parameters for the ApplicationGateways.BeginStop method. type ApplicationGatewaysBeginStopOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysGetOptions contains the optional parameters for the ApplicationGateways.Get method. type ApplicationGatewaysGetOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysGetSSLPredefinedPolicyOptions contains the optional parameters for the ApplicationGateways.GetSSLPredefinedPolicy method. type ApplicationGatewaysGetSSLPredefinedPolicyOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListAllOptions contains the optional parameters for the ApplicationGateways.ListAll method. type ApplicationGatewaysListAllOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListAvailableRequestHeadersOptions contains the optional parameters for the ApplicationGateways.ListAvailableRequestHeaders method. type ApplicationGatewaysListAvailableRequestHeadersOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListAvailableResponseHeadersOptions contains the optional parameters for the ApplicationGateways.ListAvailableResponseHeaders method. type ApplicationGatewaysListAvailableResponseHeadersOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListAvailableSSLOptionsOptions contains the optional parameters for the ApplicationGateways.ListAvailableSSLOptions method. type ApplicationGatewaysListAvailableSSLOptionsOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListAvailableSSLPredefinedPoliciesOptions contains the optional parameters for the ApplicationGateways.ListAvailableSSLPredefinedPolicies // method. type ApplicationGatewaysListAvailableSSLPredefinedPoliciesOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListAvailableServerVariablesOptions contains the optional parameters for the ApplicationGateways.ListAvailableServerVariables method. type ApplicationGatewaysListAvailableServerVariablesOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListAvailableWafRuleSetsOptions contains the optional parameters for the ApplicationGateways.ListAvailableWafRuleSets method. type ApplicationGatewaysListAvailableWafRuleSetsOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysListOptions contains the optional parameters for the ApplicationGateways.List method. type ApplicationGatewaysListOptions struct { // placeholder for future optional parameters } // ApplicationGatewaysUpdateTagsOptions contains the optional parameters for the ApplicationGateways.UpdateTags method. type ApplicationGatewaysUpdateTagsOptions struct { // placeholder for future optional parameters } // ApplicationRule - Rule of type application. type ApplicationRule struct { FirewallPolicyRule // List of destination IP addresses or Service Tags. DestinationAddresses []*string `json:"destinationAddresses,omitempty"` // List of FQDN Tags for this rule. FqdnTags []*string `json:"fqdnTags,omitempty"` // Array of Application Protocols. Protocols []*FirewallPolicyRuleApplicationProtocol `json:"protocols,omitempty"` // List of source IP addresses for this rule. SourceAddresses []*string `json:"sourceAddresses,omitempty"` // List of source IpGroups for this rule. SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` // List of FQDNs for this rule. TargetFqdns []*string `json:"targetFqdns,omitempty"` // List of Urls for this rule condition. TargetUrls []*string `json:"targetUrls,omitempty"` // Terminate TLS connections for this rule. TerminateTLS *bool `json:"terminateTLS,omitempty"` // List of destination azure web categories. WebCategories []*string `json:"webCategories,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationRule. func (a ApplicationRule) MarshalJSON() ([]byte, error) { objectMap := a.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeApplicationRule) populate(objectMap, "destinationAddresses", a.DestinationAddresses) populate(objectMap, "fqdnTags", a.FqdnTags) populate(objectMap, "protocols", a.Protocols) populate(objectMap, "sourceAddresses", a.SourceAddresses) populate(objectMap, "sourceIpGroups", a.SourceIPGroups) populate(objectMap, "targetFqdns", a.TargetFqdns) populate(objectMap, "targetUrls", a.TargetUrls) populate(objectMap, "terminateTLS", a.TerminateTLS) populate(objectMap, "webCategories", a.WebCategories) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationRule. func (a *ApplicationRule) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "destinationAddresses": err = unpopulate(val, &a.DestinationAddresses) delete(rawMsg, key) case "fqdnTags": err = unpopulate(val, &a.FqdnTags) delete(rawMsg, key) case "protocols": err = unpopulate(val, &a.Protocols) delete(rawMsg, key) case "sourceAddresses": err = unpopulate(val, &a.SourceAddresses) delete(rawMsg, key) case "sourceIpGroups": err = unpopulate(val, &a.SourceIPGroups) delete(rawMsg, key) case "targetFqdns": err = unpopulate(val, &a.TargetFqdns) delete(rawMsg, key) case "targetUrls": err = unpopulate(val, &a.TargetUrls) delete(rawMsg, key) case "terminateTLS": err = unpopulate(val, &a.TerminateTLS) delete(rawMsg, key) case "webCategories": err = unpopulate(val, &a.WebCategories) delete(rawMsg, key) } if err != nil { return err } } return a.FirewallPolicyRule.unmarshalInternal(rawMsg) } // ApplicationSecurityGroup - An application security group in a resource group. type ApplicationSecurityGroup struct { Resource // Properties of the application security group. Properties *ApplicationSecurityGroupPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationSecurityGroup. func (a ApplicationSecurityGroup) MarshalJSON() ([]byte, error) { objectMap := a.Resource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // ApplicationSecurityGroupListResult - A list of application security groups. type ApplicationSecurityGroupListResult struct { // A list of application security groups. Value []*ApplicationSecurityGroup `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ApplicationSecurityGroupListResult. func (a ApplicationSecurityGroupListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // ApplicationSecurityGroupPropertiesFormat - Application security group properties. type ApplicationSecurityGroupPropertiesFormat struct { // READ-ONLY; The provisioning state of the application security group resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name // or migrate the resource across subscriptions or resource // groups. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // ApplicationSecurityGroupsBeginCreateOrUpdateOptions contains the optional parameters for the ApplicationSecurityGroups.BeginCreateOrUpdate method. type ApplicationSecurityGroupsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ApplicationSecurityGroupsBeginDeleteOptions contains the optional parameters for the ApplicationSecurityGroups.BeginDelete method. type ApplicationSecurityGroupsBeginDeleteOptions struct { // placeholder for future optional parameters } // ApplicationSecurityGroupsGetOptions contains the optional parameters for the ApplicationSecurityGroups.Get method. type ApplicationSecurityGroupsGetOptions struct { // placeholder for future optional parameters } // ApplicationSecurityGroupsListAllOptions contains the optional parameters for the ApplicationSecurityGroups.ListAll method. type ApplicationSecurityGroupsListAllOptions struct { // placeholder for future optional parameters } // ApplicationSecurityGroupsListOptions contains the optional parameters for the ApplicationSecurityGroups.List method. type ApplicationSecurityGroupsListOptions struct { // placeholder for future optional parameters } // ApplicationSecurityGroupsUpdateTagsOptions contains the optional parameters for the ApplicationSecurityGroups.UpdateTags method. type ApplicationSecurityGroupsUpdateTagsOptions struct { // placeholder for future optional parameters } // AuthorizationListResult - Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. type AuthorizationListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The authorizations in an ExpressRoute Circuit. Value []*ExpressRouteCircuitAuthorization `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AuthorizationListResult. func (a AuthorizationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // AuthorizationPropertiesFormat - Properties of ExpressRouteCircuitAuthorization. type AuthorizationPropertiesFormat struct { // The authorization key. AuthorizationKey *string `json:"authorizationKey,omitempty"` // The authorization use status. AuthorizationUseStatus *AuthorizationUseStatus `json:"authorizationUseStatus,omitempty"` // READ-ONLY; The provisioning state of the authorization resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // AutoApprovedPrivateLinkService - The information of an AutoApprovedPrivateLinkService. type AutoApprovedPrivateLinkService struct { // The id of the private link service resource. PrivateLinkService *string `json:"privateLinkService,omitempty"` } // AutoApprovedPrivateLinkServicesResult - An array of private link service id that can be linked to a private end point with auto approved. type AutoApprovedPrivateLinkServicesResult struct { // An array of auto approved private link service. Value []*AutoApprovedPrivateLinkService `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AutoApprovedPrivateLinkServicesResult. func (a AutoApprovedPrivateLinkServicesResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // Availability of the metric. type Availability struct { // Duration of the availability blob. BlobDuration *string `json:"blobDuration,omitempty"` // The retention of the availability. Retention *string `json:"retention,omitempty"` // The time grain of the availability. TimeGrain *string `json:"timeGrain,omitempty"` } // AvailableDelegation - The serviceName of an AvailableDelegation indicates a possible delegation for a subnet. type AvailableDelegation struct { // The actions permitted to the service upon delegation. Actions []*string `json:"actions,omitempty"` // A unique identifier of the AvailableDelegation resource. ID *string `json:"id,omitempty"` // The name of the AvailableDelegation resource. Name *string `json:"name,omitempty"` // The name of the service and resource. ServiceName *string `json:"serviceName,omitempty"` // Resource type. Type *string `json:"type,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AvailableDelegation. func (a AvailableDelegation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "actions", a.Actions) populate(objectMap, "id", a.ID) populate(objectMap, "name", a.Name) populate(objectMap, "serviceName", a.ServiceName) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // AvailableDelegationsListOptions contains the optional parameters for the AvailableDelegations.List method. type AvailableDelegationsListOptions struct { // placeholder for future optional parameters } // AvailableDelegationsResult - An array of available delegations. type AvailableDelegationsResult struct { // An array of available delegations. Value []*AvailableDelegation `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AvailableDelegationsResult. func (a AvailableDelegationsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // AvailableEndpointServicesListOptions contains the optional parameters for the AvailableEndpointServices.List method. type AvailableEndpointServicesListOptions struct { // placeholder for future optional parameters } // AvailablePrivateEndpointType - The information of an AvailablePrivateEndpointType. type AvailablePrivateEndpointType struct { // Display name of the resource. DisplayName *string `json:"displayName,omitempty"` // A unique identifier of the AvailablePrivateEndpoint Type resource. ID *string `json:"id,omitempty"` // The name of the service and resource. Name *string `json:"name,omitempty"` // The name of the service and resource. ResourceName *string `json:"resourceName,omitempty"` // Resource type. Type *string `json:"type,omitempty"` } // AvailablePrivateEndpointTypesListByResourceGroupOptions contains the optional parameters for the AvailablePrivateEndpointTypes.ListByResourceGroup method. type AvailablePrivateEndpointTypesListByResourceGroupOptions struct { // placeholder for future optional parameters } // AvailablePrivateEndpointTypesListOptions contains the optional parameters for the AvailablePrivateEndpointTypes.List method. type AvailablePrivateEndpointTypesListOptions struct { // placeholder for future optional parameters } // AvailablePrivateEndpointTypesResult - An array of available PrivateEndpoint types. type AvailablePrivateEndpointTypesResult struct { // An array of available privateEndpoint type. Value []*AvailablePrivateEndpointType `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AvailablePrivateEndpointTypesResult. func (a AvailablePrivateEndpointTypesResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // AvailableProvidersList - List of available countries with details. type AvailableProvidersList struct { // REQUIRED; List of available countries. Countries []*AvailableProvidersListCountry `json:"countries,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersList. func (a AvailableProvidersList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "countries", a.Countries) return json.Marshal(objectMap) } // AvailableProvidersListCity - City or town details. type AvailableProvidersListCity struct { // The city or town name. CityName *string `json:"cityName,omitempty"` // A list of Internet service providers. Providers []*string `json:"providers,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListCity. func (a AvailableProvidersListCity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "cityName", a.CityName) populate(objectMap, "providers", a.Providers) return json.Marshal(objectMap) } // AvailableProvidersListCountry - Country details. type AvailableProvidersListCountry struct { // The country name. CountryName *string `json:"countryName,omitempty"` // A list of Internet service providers. Providers []*string `json:"providers,omitempty"` // List of available states in the country. States []*AvailableProvidersListState `json:"states,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListCountry. func (a AvailableProvidersListCountry) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "countryName", a.CountryName) populate(objectMap, "providers", a.Providers) populate(objectMap, "states", a.States) return json.Marshal(objectMap) } // AvailableProvidersListParameters - Constraints that determine the list of available Internet service providers. type AvailableProvidersListParameters struct { // A list of Azure regions. AzureLocations []*string `json:"azureLocations,omitempty"` // The city or town for available providers list. City *string `json:"city,omitempty"` // The country for available providers list. Country *string `json:"country,omitempty"` // The state for available providers list. State *string `json:"state,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListParameters. func (a AvailableProvidersListParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "azureLocations", a.AzureLocations) populate(objectMap, "city", a.City) populate(objectMap, "country", a.Country) populate(objectMap, "state", a.State) return json.Marshal(objectMap) } // AvailableProvidersListState - State details. type AvailableProvidersListState struct { // List of available cities or towns in the state. Cities []*AvailableProvidersListCity `json:"cities,omitempty"` // A list of Internet service providers. Providers []*string `json:"providers,omitempty"` // The state name. StateName *string `json:"stateName,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListState. func (a AvailableProvidersListState) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "cities", a.Cities) populate(objectMap, "providers", a.Providers) populate(objectMap, "stateName", a.StateName) return json.Marshal(objectMap) } // AvailableResourceGroupDelegationsListOptions contains the optional parameters for the AvailableResourceGroupDelegations.List method. type AvailableResourceGroupDelegationsListOptions struct { // placeholder for future optional parameters } // AvailableServiceAlias - The available service alias. type AvailableServiceAlias struct { // The ID of the service alias. ID *string `json:"id,omitempty"` // The name of the service alias. Name *string `json:"name,omitempty"` // The resource name of the service alias. ResourceName *string `json:"resourceName,omitempty"` // The type of the resource. Type *string `json:"type,omitempty"` } // AvailableServiceAliasesListByResourceGroupOptions contains the optional parameters for the AvailableServiceAliases.ListByResourceGroup method. type AvailableServiceAliasesListByResourceGroupOptions struct { // placeholder for future optional parameters } // AvailableServiceAliasesListOptions contains the optional parameters for the AvailableServiceAliases.List method. type AvailableServiceAliasesListOptions struct { // placeholder for future optional parameters } // AvailableServiceAliasesResult - An array of available service aliases. type AvailableServiceAliasesResult struct { // An array of available service aliases. Value []*AvailableServiceAlias `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AvailableServiceAliasesResult. func (a AvailableServiceAliasesResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // AzureAsyncOperationResult - The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in // progress, or has failed. Note that this status is distinct from the HTTP // status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status // code for the successful request. If the // asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure. type AzureAsyncOperationResult struct { // Details of the error occurred during specified asynchronous operation. Error *Error `json:"error,omitempty"` // Status of the Azure async operation. Status *NetworkOperationStatus `json:"status,omitempty"` } // AzureFirewall - Azure Firewall resource. type AzureFirewall struct { Resource // Properties of the azure firewall. Properties *AzureFirewallPropertiesFormat `json:"properties,omitempty"` // A list of availability zones denoting where the resource needs to come from. Zones []*string `json:"zones,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewall. func (a AzureFirewall) MarshalJSON() ([]byte, error) { objectMap := a.Resource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "properties", a.Properties) populate(objectMap, "zones", a.Zones) return json.Marshal(objectMap) } // AzureFirewallApplicationRule - Properties of an application rule. type AzureFirewallApplicationRule struct { // Description of the rule. Description *string `json:"description,omitempty"` // List of FQDN Tags for this rule. FqdnTags []*string `json:"fqdnTags,omitempty"` // Name of the application rule. Name *string `json:"name,omitempty"` // Array of ApplicationRuleProtocols. Protocols []*AzureFirewallApplicationRuleProtocol `json:"protocols,omitempty"` // List of source IP addresses for this rule. SourceAddresses []*string `json:"sourceAddresses,omitempty"` // List of source IpGroups for this rule. SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` // List of FQDNs for this rule. TargetFqdns []*string `json:"targetFqdns,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRule. func (a AzureFirewallApplicationRule) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "description", a.Description) populate(objectMap, "fqdnTags", a.FqdnTags) populate(objectMap, "name", a.Name) populate(objectMap, "protocols", a.Protocols) populate(objectMap, "sourceAddresses", a.SourceAddresses) populate(objectMap, "sourceIpGroups", a.SourceIPGroups) populate(objectMap, "targetFqdns", a.TargetFqdns) return json.Marshal(objectMap) } // AzureFirewallApplicationRuleCollection - Application rule collection resource. type AzureFirewallApplicationRuleCollection struct { SubResource // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of the azure firewall application rule collection. Properties *AzureFirewallApplicationRuleCollectionPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRuleCollection. func (a AzureFirewallApplicationRuleCollection) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // AzureFirewallApplicationRuleCollectionPropertiesFormat - Properties of the application rule collection. type AzureFirewallApplicationRuleCollectionPropertiesFormat struct { // The action type of a rule collection. Action *AzureFirewallRCAction `json:"action,omitempty"` // Priority of the application rule collection resource. Priority *int32 `json:"priority,omitempty"` // Collection of rules used by a application rule collection. Rules []*AzureFirewallApplicationRule `json:"rules,omitempty"` // READ-ONLY; The provisioning state of the application rule collection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRuleCollectionPropertiesFormat. func (a AzureFirewallApplicationRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "action", a.Action) populate(objectMap, "priority", a.Priority) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "rules", a.Rules) return json.Marshal(objectMap) } // AzureFirewallApplicationRuleProtocol - Properties of the application rule protocol. type AzureFirewallApplicationRuleProtocol struct { // Port number for the protocol, cannot be greater than 64000. This field is optional. Port *int32 `json:"port,omitempty"` // Protocol type. ProtocolType *AzureFirewallApplicationRuleProtocolType `json:"protocolType,omitempty"` } // AzureFirewallFqdnTag - Azure Firewall FQDN Tag Resource. type AzureFirewallFqdnTag struct { Resource // Properties of the azure firewall FQDN tag. Properties *AzureFirewallFqdnTagPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallFqdnTag. func (a AzureFirewallFqdnTag) MarshalJSON() ([]byte, error) { objectMap := a.Resource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // AzureFirewallFqdnTagListResult - Response for ListAzureFirewallFqdnTags API service call. type AzureFirewallFqdnTagListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Azure Firewall FQDN Tags in a resource group. Value []*AzureFirewallFqdnTag `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallFqdnTagListResult. func (a AzureFirewallFqdnTagListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // AzureFirewallFqdnTagPropertiesFormat - Azure Firewall FQDN Tag Properties. type AzureFirewallFqdnTagPropertiesFormat struct { // READ-ONLY; The name of this FQDN Tag. FqdnTagName *string `json:"fqdnTagName,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the Azure firewall FQDN tag resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // AzureFirewallFqdnTagsListAllOptions contains the optional parameters for the AzureFirewallFqdnTags.ListAll method. type AzureFirewallFqdnTagsListAllOptions struct { // placeholder for future optional parameters } // AzureFirewallIPConfiguration - IP configuration of an Azure Firewall. type AzureFirewallIPConfiguration struct { SubResource // 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"` // Properties of the azure firewall IP configuration. Properties *AzureFirewallIPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallIPConfiguration. func (a AzureFirewallIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // AzureFirewallIPConfigurationPropertiesFormat - Properties of IP configuration of an Azure Firewall. type AzureFirewallIPConfigurationPropertiesFormat struct { // Reference to the PublicIP resource. This field is a mandatory input if subnet is not null. PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` // Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. Subnet *SubResource `json:"subnet,omitempty"` // READ-ONLY; The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes. PrivateIPAddress *string `json:"privateIPAddress,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the Azure firewall IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // AzureFirewallIPGroups - IpGroups associated with azure firewall. type AzureFirewallIPGroups struct { // READ-ONLY; The iteration number. ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` // READ-ONLY; Resource ID. ID *string `json:"id,omitempty" azure:"ro"` } // AzureFirewallListResult - Response for ListAzureFirewalls API service call. type AzureFirewallListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Azure Firewalls in a resource group. Value []*AzureFirewall `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallListResult. func (a AzureFirewallListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // AzureFirewallNatRCAction - AzureFirewall NAT Rule Collection Action. type AzureFirewallNatRCAction struct { // The type of action. Type *AzureFirewallNatRCActionType `json:"type,omitempty"` } // AzureFirewallNatRule - Properties of a NAT rule. type AzureFirewallNatRule struct { // Description of the rule. Description *string `json:"description,omitempty"` // List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags. DestinationAddresses []*string `json:"destinationAddresses,omitempty"` // List of destination ports. DestinationPorts []*string `json:"destinationPorts,omitempty"` // Name of the NAT rule. Name *string `json:"name,omitempty"` // Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. Protocols []*AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` // List of source IP addresses for this rule. SourceAddresses []*string `json:"sourceAddresses,omitempty"` // List of source IpGroups for this rule. SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` // The translated address for this NAT rule. TranslatedAddress *string `json:"translatedAddress,omitempty"` // The translated FQDN for this NAT rule. TranslatedFqdn *string `json:"translatedFqdn,omitempty"` // The translated port for this NAT rule. TranslatedPort *string `json:"translatedPort,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRule. func (a AzureFirewallNatRule) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "description", a.Description) populate(objectMap, "destinationAddresses", a.DestinationAddresses) populate(objectMap, "destinationPorts", a.DestinationPorts) populate(objectMap, "name", a.Name) populate(objectMap, "protocols", a.Protocols) populate(objectMap, "sourceAddresses", a.SourceAddresses) populate(objectMap, "sourceIpGroups", a.SourceIPGroups) populate(objectMap, "translatedAddress", a.TranslatedAddress) populate(objectMap, "translatedFqdn", a.TranslatedFqdn) populate(objectMap, "translatedPort", a.TranslatedPort) return json.Marshal(objectMap) } // AzureFirewallNatRuleCollection - NAT rule collection resource. type AzureFirewallNatRuleCollection struct { SubResource // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of the azure firewall NAT rule collection. Properties *AzureFirewallNatRuleCollectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRuleCollection. func (a AzureFirewallNatRuleCollection) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // AzureFirewallNatRuleCollectionProperties - Properties of the NAT rule collection. type AzureFirewallNatRuleCollectionProperties struct { // The action type of a NAT rule collection. Action *AzureFirewallNatRCAction `json:"action,omitempty"` // Priority of the NAT rule collection resource. Priority *int32 `json:"priority,omitempty"` // Collection of rules used by a NAT rule collection. Rules []*AzureFirewallNatRule `json:"rules,omitempty"` // READ-ONLY; The provisioning state of the NAT rule collection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRuleCollectionProperties. func (a AzureFirewallNatRuleCollectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "action", a.Action) populate(objectMap, "priority", a.Priority) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "rules", a.Rules) return json.Marshal(objectMap) } // AzureFirewallNetworkRule - Properties of the network rule. type AzureFirewallNetworkRule struct { // Description of the rule. Description *string `json:"description,omitempty"` // List of destination IP addresses. DestinationAddresses []*string `json:"destinationAddresses,omitempty"` // List of destination FQDNs. DestinationFqdns []*string `json:"destinationFqdns,omitempty"` // List of destination IpGroups for this rule. DestinationIPGroups []*string `json:"destinationIpGroups,omitempty"` // List of destination ports. DestinationPorts []*string `json:"destinationPorts,omitempty"` // Name of the network rule. Name *string `json:"name,omitempty"` // Array of AzureFirewallNetworkRuleProtocols. Protocols []*AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` // List of source IP addresses for this rule. SourceAddresses []*string `json:"sourceAddresses,omitempty"` // List of source IpGroups for this rule. SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRule. func (a AzureFirewallNetworkRule) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "description", a.Description) populate(objectMap, "destinationAddresses", a.DestinationAddresses) populate(objectMap, "destinationFqdns", a.DestinationFqdns) populate(objectMap, "destinationIpGroups", a.DestinationIPGroups) populate(objectMap, "destinationPorts", a.DestinationPorts) populate(objectMap, "name", a.Name) populate(objectMap, "protocols", a.Protocols) populate(objectMap, "sourceAddresses", a.SourceAddresses) populate(objectMap, "sourceIpGroups", a.SourceIPGroups) return json.Marshal(objectMap) } // AzureFirewallNetworkRuleCollection - Network rule collection resource. type AzureFirewallNetworkRuleCollection struct { SubResource // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of the azure firewall network rule collection. Properties *AzureFirewallNetworkRuleCollectionPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRuleCollection. func (a AzureFirewallNetworkRuleCollection) MarshalJSON() ([]byte, error) { objectMap := a.SubResource.marshalInternal() populate(objectMap, "etag", a.Etag) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) return json.Marshal(objectMap) } // AzureFirewallNetworkRuleCollectionPropertiesFormat - Properties of the network rule collection. type AzureFirewallNetworkRuleCollectionPropertiesFormat struct { // The action type of a rule collection. Action *AzureFirewallRCAction `json:"action,omitempty"` // Priority of the network rule collection resource. Priority *int32 `json:"priority,omitempty"` // Collection of rules used by a network rule collection. Rules []*AzureFirewallNetworkRule `json:"rules,omitempty"` // READ-ONLY; The provisioning state of the network rule collection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRuleCollectionPropertiesFormat. func (a AzureFirewallNetworkRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "action", a.Action) populate(objectMap, "priority", a.Priority) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "rules", a.Rules) return json.Marshal(objectMap) } // AzureFirewallPropertiesFormat - Properties of the Azure Firewall. type AzureFirewallPropertiesFormat struct { // The additional properties used to further config this azure firewall. AdditionalProperties map[string]*string `json:"additionalProperties,omitempty"` // Collection of application rule collections used by Azure Firewall. ApplicationRuleCollections []*AzureFirewallApplicationRuleCollection `json:"applicationRuleCollections,omitempty"` // The firewallPolicy associated with this azure firewall. FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` // IP addresses associated with AzureFirewall. HubIPAddresses *HubIPAddresses `json:"hubIPAddresses,omitempty"` // IP configuration of the Azure Firewall resource. IPConfigurations []*AzureFirewallIPConfiguration `json:"ipConfigurations,omitempty"` // IP configuration of the Azure Firewall used for management traffic. ManagementIPConfiguration *AzureFirewallIPConfiguration `json:"managementIpConfiguration,omitempty"` // Collection of NAT rule collections used by Azure Firewall. NatRuleCollections []*AzureFirewallNatRuleCollection `json:"natRuleCollections,omitempty"` // Collection of network rule collections used by Azure Firewall. NetworkRuleCollections []*AzureFirewallNetworkRuleCollection `json:"networkRuleCollections,omitempty"` // The Azure Firewall Resource SKU. SKU *AzureFirewallSKU `json:"sku,omitempty"` // The operation mode for Threat Intelligence. ThreatIntelMode *AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` // The virtualHub to which the firewall belongs. VirtualHub *SubResource `json:"virtualHub,omitempty"` // READ-ONLY; IpGroups associated with AzureFirewall. IPGroups []*AzureFirewallIPGroups `json:"ipGroups,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the Azure firewall resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type AzureFirewallPropertiesFormat. func (a AzureFirewallPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "additionalProperties", a.AdditionalProperties) populate(objectMap, "applicationRuleCollections", a.ApplicationRuleCollections) populate(objectMap, "firewallPolicy", a.FirewallPolicy) populate(objectMap, "hubIPAddresses", a.HubIPAddresses) populate(objectMap, "ipConfigurations", a.IPConfigurations) populate(objectMap, "ipGroups", a.IPGroups) populate(objectMap, "managementIpConfiguration", a.ManagementIPConfiguration) populate(objectMap, "natRuleCollections", a.NatRuleCollections) populate(objectMap, "networkRuleCollections", a.NetworkRuleCollections) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "sku", a.SKU) populate(objectMap, "threatIntelMode", a.ThreatIntelMode) populate(objectMap, "virtualHub", a.VirtualHub) return json.Marshal(objectMap) } // AzureFirewallPublicIPAddress - Public IP Address associated with azure firewall. type AzureFirewallPublicIPAddress struct { // Public IP Address value. Address *string `json:"address,omitempty"` } // AzureFirewallRCAction - Properties of the AzureFirewallRCAction. type AzureFirewallRCAction struct { // The type of action. Type *AzureFirewallRCActionType `json:"type,omitempty"` } // AzureFirewallSKU - SKU of an Azure Firewall. type AzureFirewallSKU struct { // Name of an Azure Firewall SKU. Name *AzureFirewallSKUName `json:"name,omitempty"` // Tier of an Azure Firewall. Tier *AzureFirewallSKUTier `json:"tier,omitempty"` } // AzureFirewallsBeginCreateOrUpdateOptions contains the optional parameters for the AzureFirewalls.BeginCreateOrUpdate method. type AzureFirewallsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // AzureFirewallsBeginDeleteOptions contains the optional parameters for the AzureFirewalls.BeginDelete method. type AzureFirewallsBeginDeleteOptions struct { // placeholder for future optional parameters } // AzureFirewallsBeginUpdateTagsOptions contains the optional parameters for the AzureFirewalls.BeginUpdateTags method. type AzureFirewallsBeginUpdateTagsOptions struct { // placeholder for future optional parameters } // AzureFirewallsGetOptions contains the optional parameters for the AzureFirewalls.Get method. type AzureFirewallsGetOptions struct { // placeholder for future optional parameters } // AzureFirewallsListAllOptions contains the optional parameters for the AzureFirewalls.ListAll method. type AzureFirewallsListAllOptions struct { // placeholder for future optional parameters } // AzureFirewallsListOptions contains the optional parameters for the AzureFirewalls.List method. type AzureFirewallsListOptions struct { // placeholder for future optional parameters } // AzureReachabilityReport - Azure reachability report details. type AzureReachabilityReport struct { // REQUIRED; The aggregation level of Azure reachability report. Can be Country, State or City. AggregationLevel *string `json:"aggregationLevel,omitempty"` // REQUIRED; Parameters that define a geographic location. ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` // REQUIRED; List of Azure reachability report items. ReachabilityReport []*AzureReachabilityReportItem `json:"reachabilityReport,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReport. func (a AzureReachabilityReport) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "aggregationLevel", a.AggregationLevel) populate(objectMap, "providerLocation", a.ProviderLocation) populate(objectMap, "reachabilityReport", a.ReachabilityReport) return json.Marshal(objectMap) } // AzureReachabilityReportItem - Azure reachability report details for a given provider location. type AzureReachabilityReportItem struct { // The Azure region. AzureLocation *string `json:"azureLocation,omitempty"` // List of latency details for each of the time series. Latencies []*AzureReachabilityReportLatencyInfo `json:"latencies,omitempty"` // The Internet service provider. Provider *string `json:"provider,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportItem. func (a AzureReachabilityReportItem) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "azureLocation", a.AzureLocation) populate(objectMap, "latencies", a.Latencies) populate(objectMap, "provider", a.Provider) return json.Marshal(objectMap) } // AzureReachabilityReportLatencyInfo - Details on latency for a time series. type AzureReachabilityReportLatencyInfo struct { // The relative latency score between 1 and 100, higher values indicating a faster connection. Score *int32 `json:"score,omitempty"` // The time stamp. TimeStamp *time.Time `json:"timeStamp,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportLatencyInfo. func (a AzureReachabilityReportLatencyInfo) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "score", a.Score) populate(objectMap, "timeStamp", (*timeRFC3339)(a.TimeStamp)) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportLatencyInfo. func (a *AzureReachabilityReportLatencyInfo) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "score": err = unpopulate(val, &a.Score) delete(rawMsg, key) case "timeStamp": var aux timeRFC3339 err = unpopulate(val, &aux) a.TimeStamp = (*time.Time)(&aux) delete(rawMsg, key) } if err != nil { return err } } return nil } // AzureReachabilityReportLocation - Parameters that define a geographic location. type AzureReachabilityReportLocation struct { // REQUIRED; The name of the country. Country *string `json:"country,omitempty"` // The name of the city or town. City *string `json:"city,omitempty"` // The name of the state. State *string `json:"state,omitempty"` } // AzureReachabilityReportParameters - Geographic and time constraints for Azure reachability report. type AzureReachabilityReportParameters struct { // REQUIRED; The end time for the Azure reachability report. EndTime *time.Time `json:"endTime,omitempty"` // REQUIRED; Parameters that define a geographic location. ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` // REQUIRED; The start time for the Azure reachability report. StartTime *time.Time `json:"startTime,omitempty"` // Optional Azure regions to scope the query to. AzureLocations []*string `json:"azureLocations,omitempty"` // List of Internet service providers. Providers []*string `json:"providers,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportParameters. func (a AzureReachabilityReportParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "azureLocations", a.AzureLocations) populate(objectMap, "endTime", (*timeRFC3339)(a.EndTime)) populate(objectMap, "providerLocation", a.ProviderLocation) populate(objectMap, "providers", a.Providers) populate(objectMap, "startTime", (*timeRFC3339)(a.StartTime)) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportParameters. func (a *AzureReachabilityReportParameters) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "azureLocations": err = unpopulate(val, &a.AzureLocations) delete(rawMsg, key) case "endTime": var aux timeRFC3339 err = unpopulate(val, &aux) a.EndTime = (*time.Time)(&aux) delete(rawMsg, key) case "providerLocation": err = unpopulate(val, &a.ProviderLocation) delete(rawMsg, key) case "providers": err = unpopulate(val, &a.Providers) delete(rawMsg, key) case "startTime": var aux timeRFC3339 err = unpopulate(val, &aux) a.StartTime = (*time.Time)(&aux) delete(rawMsg, key) } if err != nil { return err } } return nil } // AzureWebCategory - Azure Web Category Resource. type AzureWebCategory struct { // Resource ID. ID *string `json:"id,omitempty"` // Properties of the Azure Web Category. Properties *AzureWebCategoryPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource name. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // AzureWebCategoryListResult - Response for ListAzureWebCategories API service call. type AzureWebCategoryListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Azure Web Categories for a given Subscription. Value []*AzureWebCategory `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type AzureWebCategoryListResult. func (a AzureWebCategoryListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", a.NextLink) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // AzureWebCategoryPropertiesFormat - Azure Web Category Properties. type AzureWebCategoryPropertiesFormat struct { // READ-ONLY; The name of the group that the category belongs to. Group *string `json:"group,omitempty" azure:"ro"` } // BGPCommunity - Contains bgp community information offered in Service Community resources. type BGPCommunity struct { // The name of the bgp community. e.g. Skype. CommunityName *string `json:"communityName,omitempty"` // The prefixes that the bgp community contains. CommunityPrefixes []*string `json:"communityPrefixes,omitempty"` // The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. CommunityValue *string `json:"communityValue,omitempty"` // Customer is authorized to use bgp community or not. IsAuthorizedToUse *bool `json:"isAuthorizedToUse,omitempty"` // The service group of the bgp community contains. ServiceGroup *string `json:"serviceGroup,omitempty"` // The region which the service support. e.g. For O365, region is Global. ServiceSupportedRegion *string `json:"serviceSupportedRegion,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BGPCommunity. func (b BGPCommunity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "communityName", b.CommunityName) populate(objectMap, "communityPrefixes", b.CommunityPrefixes) populate(objectMap, "communityValue", b.CommunityValue) populate(objectMap, "isAuthorizedToUse", b.IsAuthorizedToUse) populate(objectMap, "serviceGroup", b.ServiceGroup) populate(objectMap, "serviceSupportedRegion", b.ServiceSupportedRegion) return json.Marshal(objectMap) } // BackendAddressPool - Pool of backend IP addresses. type BackendAddressPool struct { SubResource // The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of load balancer backend address pool. Properties *BackendAddressPoolPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type BackendAddressPool. func (b BackendAddressPool) MarshalJSON() ([]byte, error) { objectMap := b.SubResource.marshalInternal() populate(objectMap, "etag", b.Etag) populate(objectMap, "name", b.Name) populate(objectMap, "properties", b.Properties) populate(objectMap, "type", b.Type) return json.Marshal(objectMap) } // BackendAddressPoolPropertiesFormat - Properties of the backend address pool. type BackendAddressPoolPropertiesFormat struct { // An array of backend addresses. LoadBalancerBackendAddresses []*LoadBalancerBackendAddress `json:"loadBalancerBackendAddresses,omitempty"` // The location of the backend address pool. Location *string `json:"location,omitempty"` // An array of gateway load balancer tunnel interfaces. TunnelInterfaces []*GatewayLoadBalancerTunnelInterface `json:"tunnelInterfaces,omitempty"` // READ-ONLY; An array of references to IP addresses defined in network interfaces. BackendIPConfigurations []*NetworkInterfaceIPConfiguration `json:"backendIPConfigurations,omitempty" azure:"ro"` // READ-ONLY; An array of references to load balancing rules that use this backend address pool. LoadBalancingRules []*SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` // READ-ONLY; A reference to an outbound rule that uses this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty" azure:"ro"` // READ-ONLY; An array of references to outbound rules that use this backend address pool. OutboundRules []*SubResource `json:"outboundRules,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the backend address pool resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type BackendAddressPoolPropertiesFormat. func (b BackendAddressPoolPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendIPConfigurations", b.BackendIPConfigurations) populate(objectMap, "loadBalancerBackendAddresses", b.LoadBalancerBackendAddresses) populate(objectMap, "loadBalancingRules", b.LoadBalancingRules) populate(objectMap, "location", b.Location) populate(objectMap, "outboundRule", b.OutboundRule) populate(objectMap, "outboundRules", b.OutboundRules) populate(objectMap, "provisioningState", b.ProvisioningState) populate(objectMap, "tunnelInterfaces", b.TunnelInterfaces) return json.Marshal(objectMap) } // BastionActiveSession - The session detail for a target. type BastionActiveSession struct { // READ-ONLY; The protocol used to connect to the target. Protocol *BastionConnectProtocol `json:"protocol,omitempty" azure:"ro"` // READ-ONLY; The type of the resource. ResourceType *string `json:"resourceType,omitempty" azure:"ro"` // READ-ONLY; Duration in mins the session has been active. SessionDurationInMins *float32 `json:"sessionDurationInMins,omitempty" azure:"ro"` // READ-ONLY; A unique id for the session. SessionID *string `json:"sessionId,omitempty" azure:"ro"` // READ-ONLY; The time when the session started. StartTime map[string]interface{} `json:"startTime,omitempty" azure:"ro"` // READ-ONLY; The host name of the target. TargetHostName *string `json:"targetHostName,omitempty" azure:"ro"` // READ-ONLY; The IP Address of the target. TargetIPAddress *string `json:"targetIpAddress,omitempty" azure:"ro"` // READ-ONLY; The resource group of the target. TargetResourceGroup *string `json:"targetResourceGroup,omitempty" azure:"ro"` // READ-ONLY; The resource id of the target. TargetResourceID *string `json:"targetResourceId,omitempty" azure:"ro"` // READ-ONLY; The subscription id for the target virtual machine. TargetSubscriptionID *string `json:"targetSubscriptionId,omitempty" azure:"ro"` // READ-ONLY; The user name who is active on this session. UserName *string `json:"userName,omitempty" azure:"ro"` } // BastionActiveSessionListResult - Response for GetActiveSessions. type BastionActiveSessionListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of active sessions on the bastion. Value []*BastionActiveSession `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BastionActiveSessionListResult. func (b BastionActiveSessionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", b.NextLink) populate(objectMap, "value", b.Value) return json.Marshal(objectMap) } // BastionHost - Bastion Host resource. type BastionHost struct { Resource // Represents the bastion host resource. Properties *BastionHostPropertiesFormat `json:"properties,omitempty"` // The sku of this Bastion Host. SKU *SKU `json:"sku,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type BastionHost. func (b BastionHost) MarshalJSON() ([]byte, error) { objectMap := b.Resource.marshalInternal() populate(objectMap, "etag", b.Etag) populate(objectMap, "properties", b.Properties) populate(objectMap, "sku", b.SKU) return json.Marshal(objectMap) } // BastionHostIPConfiguration - IP configuration of an Bastion Host. type BastionHostIPConfiguration struct { SubResource // 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"` // Represents the ip configuration associated with the resource. Properties *BastionHostIPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Ip configuration type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type BastionHostIPConfiguration. func (b BastionHostIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := b.SubResource.marshalInternal() populate(objectMap, "etag", b.Etag) populate(objectMap, "name", b.Name) populate(objectMap, "properties", b.Properties) populate(objectMap, "type", b.Type) return json.Marshal(objectMap) } // BastionHostIPConfigurationPropertiesFormat - Properties of IP configuration of an Bastion Host. type BastionHostIPConfigurationPropertiesFormat struct { // REQUIRED; Reference of the PublicIP resource. PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` // REQUIRED; Reference of the subnet resource. Subnet *SubResource `json:"subnet,omitempty"` // Private IP allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // READ-ONLY; The provisioning state of the bastion host IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // BastionHostListResult - Response for ListBastionHosts API service call. type BastionHostListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Bastion Hosts in a resource group. Value []*BastionHost `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BastionHostListResult. func (b BastionHostListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", b.NextLink) populate(objectMap, "value", b.Value) return json.Marshal(objectMap) } // BastionHostPropertiesFormat - Properties of the Bastion Host. type BastionHostPropertiesFormat struct { // FQDN for the endpoint on which bastion host is accessible. DNSName *string `json:"dnsName,omitempty"` // IP configuration of the Bastion Host resource. IPConfigurations []*BastionHostIPConfiguration `json:"ipConfigurations,omitempty"` // READ-ONLY; The provisioning state of the bastion host resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type BastionHostPropertiesFormat. func (b BastionHostPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "dnsName", b.DNSName) populate(objectMap, "ipConfigurations", b.IPConfigurations) populate(objectMap, "provisioningState", b.ProvisioningState) return json.Marshal(objectMap) } // BastionHostsBeginCreateOrUpdateOptions contains the optional parameters for the BastionHosts.BeginCreateOrUpdate method. type BastionHostsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // BastionHostsBeginDeleteOptions contains the optional parameters for the BastionHosts.BeginDelete method. type BastionHostsBeginDeleteOptions struct { // placeholder for future optional parameters } // BastionHostsGetOptions contains the optional parameters for the BastionHosts.Get method. type BastionHostsGetOptions struct { // placeholder for future optional parameters } // BastionHostsListByResourceGroupOptions contains the optional parameters for the BastionHosts.ListByResourceGroup method. type BastionHostsListByResourceGroupOptions struct { // placeholder for future optional parameters } // BastionHostsListOptions contains the optional parameters for the BastionHosts.List method. type BastionHostsListOptions struct { // placeholder for future optional parameters } // BastionSessionDeleteResult - Response for DisconnectActiveSessions. type BastionSessionDeleteResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of sessions with their corresponding state. Value []*BastionSessionState `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BastionSessionDeleteResult. func (b BastionSessionDeleteResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", b.NextLink) populate(objectMap, "value", b.Value) return json.Marshal(objectMap) } // BastionSessionState - The session state detail for a target. type BastionSessionState struct { // READ-ONLY; Used for extra information. Message *string `json:"message,omitempty" azure:"ro"` // READ-ONLY; A unique id for the session. SessionID *string `json:"sessionId,omitempty" azure:"ro"` // READ-ONLY; The state of the session. Disconnected/Failed/NotFound. State *string `json:"state,omitempty" azure:"ro"` } // BastionShareableLink - Bastion Shareable Link. type BastionShareableLink struct { // REQUIRED; Reference of the virtual machine resource. VM *VM `json:"vm,omitempty"` // READ-ONLY; The unique Bastion Shareable Link to the virtual machine. Bsl *string `json:"bsl,omitempty" azure:"ro"` // READ-ONLY; The time when the link was created. CreatedAt *string `json:"createdAt,omitempty" azure:"ro"` // READ-ONLY; Optional field indicating the warning or error message related to the vm in case of partial failure. Message *string `json:"message,omitempty" azure:"ro"` } // BastionShareableLinkListRequest - Post request for all the Bastion Shareable Link endpoints. type BastionShareableLinkListRequest struct { // List of VM references. VMs []*BastionShareableLink `json:"vms,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BastionShareableLinkListRequest. func (b BastionShareableLinkListRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "vms", b.VMs) return json.Marshal(objectMap) } // BastionShareableLinkListResult - Response for all the Bastion Shareable Link endpoints. type BastionShareableLinkListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Bastion Shareable Links for the request. Value []*BastionShareableLink `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BastionShareableLinkListResult. func (b BastionShareableLinkListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", b.NextLink) populate(objectMap, "value", b.Value) return json.Marshal(objectMap) } // BgpConnection - Virtual Appliance Site resource. type BgpConnection struct { SubResource // Name of the connection. Name *string `json:"name,omitempty"` // The properties of the Bgp connections. Properties *BgpConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Connection type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type BgpConnection. func (b BgpConnection) MarshalJSON() ([]byte, error) { objectMap := b.SubResource.marshalInternal() populate(objectMap, "etag", b.Etag) populate(objectMap, "name", b.Name) populate(objectMap, "properties", b.Properties) populate(objectMap, "type", b.Type) return json.Marshal(objectMap) } // BgpConnectionProperties - Properties of the bgp connection. type BgpConnectionProperties struct { // Peer ASN. PeerAsn *int64 `json:"peerAsn,omitempty"` // Peer IP. PeerIP *string `json:"peerIp,omitempty"` // READ-ONLY; The current state of the VirtualHub to Peer. ConnectionState *HubBgpConnectionStatus `json:"connectionState,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // BgpPeerStatus - BGP peer status details. type BgpPeerStatus struct { // READ-ONLY; The autonomous system number of the remote BGP peer. Asn *int64 `json:"asn,omitempty" azure:"ro"` // READ-ONLY; For how long the peering has been up. ConnectedDuration *string `json:"connectedDuration,omitempty" azure:"ro"` // READ-ONLY; The virtual network gateway's local address. LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` // READ-ONLY; The number of BGP messages received. MessagesReceived *int64 `json:"messagesReceived,omitempty" azure:"ro"` // READ-ONLY; The number of BGP messages sent. MessagesSent *int64 `json:"messagesSent,omitempty" azure:"ro"` // READ-ONLY; The remote BGP peer. Neighbor *string `json:"neighbor,omitempty" azure:"ro"` // READ-ONLY; The number of routes learned from this peer. RoutesReceived *int64 `json:"routesReceived,omitempty" azure:"ro"` // READ-ONLY; The BGP peer state. State *BgpPeerState `json:"state,omitempty" azure:"ro"` } // BgpPeerStatusListResult - Response for list BGP peer status API service call. type BgpPeerStatusListResult struct { // List of BGP peers. Value []*BgpPeerStatus `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BgpPeerStatusListResult. func (b BgpPeerStatusListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", b.Value) return json.Marshal(objectMap) } // BgpServiceCommunitiesListOptions contains the optional parameters for the BgpServiceCommunities.List method. type BgpServiceCommunitiesListOptions struct { // placeholder for future optional parameters } // BgpServiceCommunity - Service Community Properties. type BgpServiceCommunity struct { Resource // Properties of the BGP service community. Properties *BgpServiceCommunityPropertiesFormat `json:"properties,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunity. func (b BgpServiceCommunity) MarshalJSON() ([]byte, error) { objectMap := b.Resource.marshalInternal() populate(objectMap, "properties", b.Properties) return json.Marshal(objectMap) } // BgpServiceCommunityListResult - Response for the ListServiceCommunity API service call. type BgpServiceCommunityListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of service community resources. Value []*BgpServiceCommunity `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunityListResult. func (b BgpServiceCommunityListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", b.NextLink) populate(objectMap, "value", b.Value) return json.Marshal(objectMap) } // BgpServiceCommunityPropertiesFormat - Properties of Service Community. type BgpServiceCommunityPropertiesFormat struct { // A list of bgp communities. BgpCommunities []*BGPCommunity `json:"bgpCommunities,omitempty"` // The name of the bgp community. e.g. Skype. ServiceName *string `json:"serviceName,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunityPropertiesFormat. func (b BgpServiceCommunityPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "bgpCommunities", b.BgpCommunities) populate(objectMap, "serviceName", b.ServiceName) return json.Marshal(objectMap) } // BgpSettings - BGP settings details. type BgpSettings struct { // The BGP speaker's ASN. Asn *int64 `json:"asn,omitempty"` // The BGP peering address and BGP identifier of this BGP speaker. BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` // BGP peering address with IP configuration ID for virtual network gateway. BgpPeeringAddresses []*IPConfigurationBgpPeeringAddress `json:"bgpPeeringAddresses,omitempty"` // The weight added to routes learned from this BGP speaker. PeerWeight *int32 `json:"peerWeight,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type BgpSettings. func (b BgpSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "asn", b.Asn) populate(objectMap, "bgpPeeringAddress", b.BgpPeeringAddress) populate(objectMap, "bgpPeeringAddresses", b.BgpPeeringAddresses) populate(objectMap, "peerWeight", b.PeerWeight) return json.Marshal(objectMap) } // BreakOutCategoryPolicies - Network Virtual Appliance Sku Properties. type BreakOutCategoryPolicies struct { // Flag to control breakout of o365 allow category. Allow *bool `json:"allow,omitempty"` // Flag to control breakout of o365 default category. Default *bool `json:"default,omitempty"` // Flag to control breakout of o365 optimize category. Optimize *bool `json:"optimize,omitempty"` } // CheckPrivateLinkServiceVisibilityRequest - Request body of the CheckPrivateLinkServiceVisibility API service call. type CheckPrivateLinkServiceVisibilityRequest struct { // The alias of the private link service. PrivateLinkServiceAlias *string `json:"privateLinkServiceAlias,omitempty"` } // CloudError - An error response from the service. // Implements the error and azcore.HTTPResponse interfaces. type CloudError struct { raw string // Cloud error body. InnerError *CloudErrorBody `json:"error,omitempty"` } // Error implements the error interface for type CloudError. // The contents of the error text are not contractual and subject to change. func (e CloudError) Error() string { return e.raw } // CloudErrorBody - An error response from the service. type CloudErrorBody struct { // An identifier for the error. Codes are invariant and are intended to be consumed programmatically. Code *string `json:"code,omitempty"` // A list of additional details about the error. Details []*CloudErrorBody `json:"details,omitempty"` // A message describing the error, intended to be suitable for display in a user interface. Message *string `json:"message,omitempty"` // The target of the particular error. For example, the name of the property in error. Target *string `json:"target,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type CloudErrorBody. func (c CloudErrorBody) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "code", c.Code) populate(objectMap, "details", c.Details) populate(objectMap, "message", c.Message) populate(objectMap, "target", c.Target) return json.Marshal(objectMap) } type Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties struct { // READ-ONLY; The client id of user assigned identity. ClientID *string `json:"clientId,omitempty" azure:"ro"` // READ-ONLY; The principal id of user assigned identity. PrincipalID *string `json:"principalId,omitempty" azure:"ro"` } // ConnectionMonitor - Parameters that define the operation to create a connection monitor. type ConnectionMonitor struct { // REQUIRED; Properties of the connection monitor. Properties *ConnectionMonitorParameters `json:"properties,omitempty"` // Connection monitor location. Location *string `json:"location,omitempty"` // Connection monitor tags. Tags map[string]*string `json:"tags,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitor. func (c ConnectionMonitor) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "location", c.Location) populate(objectMap, "properties", c.Properties) populate(objectMap, "tags", c.Tags) return json.Marshal(objectMap) } // ConnectionMonitorDestination - Describes the destination of connection monitor. type ConnectionMonitorDestination struct { // Address of the connection monitor destination (IP or domain name). Address *string `json:"address,omitempty"` // The destination port used by connection monitor. Port *int32 `json:"port,omitempty"` // The ID of the resource used as the destination by connection monitor. ResourceID *string `json:"resourceId,omitempty"` } // ConnectionMonitorEndpoint - Describes the connection monitor endpoint. type ConnectionMonitorEndpoint struct { // REQUIRED; The name of the connection monitor endpoint. Name *string `json:"name,omitempty"` // Address of the connection monitor endpoint (IP or domain name). Address *string `json:"address,omitempty"` // Test coverage for the endpoint. CoverageLevel *CoverageLevel `json:"coverageLevel,omitempty"` // Filter for sub-items within the endpoint. Filter *ConnectionMonitorEndpointFilter `json:"filter,omitempty"` // Resource ID of the connection monitor endpoint. ResourceID *string `json:"resourceId,omitempty"` // Endpoint scope. Scope *ConnectionMonitorEndpointScope `json:"scope,omitempty"` // The endpoint type. Type *EndpointType `json:"type,omitempty"` } // ConnectionMonitorEndpointFilter - Describes the connection monitor endpoint filter. type ConnectionMonitorEndpointFilter struct { // List of items in the filter. Items []*ConnectionMonitorEndpointFilterItem `json:"items,omitempty"` // The behavior of the endpoint filter. Currently only 'Include' is supported. Type *ConnectionMonitorEndpointFilterType `json:"type,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointFilter. func (c ConnectionMonitorEndpointFilter) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "items", c.Items) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // ConnectionMonitorEndpointFilterItem - Describes the connection monitor endpoint filter item. type ConnectionMonitorEndpointFilterItem struct { // The address of the filter item. Address *string `json:"address,omitempty"` // The type of item included in the filter. Currently only 'AgentAddress' is supported. Type *ConnectionMonitorEndpointFilterItemType `json:"type,omitempty"` } // ConnectionMonitorEndpointScope - Describes the connection monitor endpoint scope. type ConnectionMonitorEndpointScope struct { // List of items which needs to be excluded from the endpoint scope. Exclude []*ConnectionMonitorEndpointScopeItem `json:"exclude,omitempty"` // List of items which needs to be included to the endpoint scope. Include []*ConnectionMonitorEndpointScopeItem `json:"include,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointScope. func (c ConnectionMonitorEndpointScope) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "exclude", c.Exclude) populate(objectMap, "include", c.Include) return json.Marshal(objectMap) } // ConnectionMonitorEndpointScopeItem - Describes the connection monitor endpoint scope item. type ConnectionMonitorEndpointScopeItem struct { // The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address. Address *string `json:"address,omitempty"` } // ConnectionMonitorHTTPConfiguration - Describes the HTTP configuration. type ConnectionMonitorHTTPConfiguration struct { // The HTTP method to use. Method *HTTPConfigurationMethod `json:"method,omitempty"` // The path component of the URI. For instance, "/dir1/dir2". Path *string `json:"path,omitempty"` // The port to connect to. Port *int32 `json:"port,omitempty"` // Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit. PreferHTTPS *bool `json:"preferHTTPS,omitempty"` // The HTTP headers to transmit with the request. RequestHeaders []*HTTPHeader `json:"requestHeaders,omitempty"` // HTTP status codes to consider successful. For instance, "2xx,301-304,418". ValidStatusCodeRanges []*string `json:"validStatusCodeRanges,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorHTTPConfiguration. func (c ConnectionMonitorHTTPConfiguration) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "method", c.Method) populate(objectMap, "path", c.Path) populate(objectMap, "port", c.Port) populate(objectMap, "preferHTTPS", c.PreferHTTPS) populate(objectMap, "requestHeaders", c.RequestHeaders) populate(objectMap, "validStatusCodeRanges", c.ValidStatusCodeRanges) return json.Marshal(objectMap) } // ConnectionMonitorIcmpConfiguration - Describes the ICMP configuration. type ConnectionMonitorIcmpConfiguration struct { // Value indicating whether path evaluation with trace route should be disabled. DisableTraceRoute *bool `json:"disableTraceRoute,omitempty"` } // ConnectionMonitorListResult - List of connection monitors. type ConnectionMonitorListResult struct { // Information about connection monitors. Value []*ConnectionMonitorResult `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorListResult. func (c ConnectionMonitorListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", c.Value) return json.Marshal(objectMap) } // ConnectionMonitorOutput - Describes a connection monitor output destination. type ConnectionMonitorOutput struct { // Connection monitor output destination type. Currently, only "Workspace" is supported. Type *OutputType `json:"type,omitempty"` // Describes the settings for producing output into a log analytics workspace. WorkspaceSettings *ConnectionMonitorWorkspaceSettings `json:"workspaceSettings,omitempty"` } // ConnectionMonitorParameters - Parameters that define the operation to create a connection monitor. type ConnectionMonitorParameters struct { // Determines if the connection monitor will start automatically once created. AutoStart *bool `json:"autoStart,omitempty"` // Describes the destination of connection monitor. Destination *ConnectionMonitorDestination `json:"destination,omitempty"` // List of connection monitor endpoints. Endpoints []*ConnectionMonitorEndpoint `json:"endpoints,omitempty"` // Monitoring interval in seconds. MonitoringIntervalInSeconds *int32 `json:"monitoringIntervalInSeconds,omitempty"` // Optional notes to be associated with the connection monitor. Notes *string `json:"notes,omitempty"` // List of connection monitor outputs. Outputs []*ConnectionMonitorOutput `json:"outputs,omitempty"` // Describes the source of connection monitor. Source *ConnectionMonitorSource `json:"source,omitempty"` // List of connection monitor test configurations. TestConfigurations []*ConnectionMonitorTestConfiguration `json:"testConfigurations,omitempty"` // List of connection monitor test groups. TestGroups []*ConnectionMonitorTestGroup `json:"testGroups,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorParameters. func (c ConnectionMonitorParameters) MarshalJSON() ([]byte, error) { objectMap := c.marshalInternal() return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorParameters. func (c *ConnectionMonitorParameters) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } return c.unmarshalInternal(rawMsg) } func (c ConnectionMonitorParameters) marshalInternal() map[string]interface{} { objectMap := make(map[string]interface{}) populate(objectMap, "autoStart", c.AutoStart) populate(objectMap, "destination", c.Destination) populate(objectMap, "endpoints", c.Endpoints) populate(objectMap, "monitoringIntervalInSeconds", c.MonitoringIntervalInSeconds) populate(objectMap, "notes", c.Notes) populate(objectMap, "outputs", c.Outputs) populate(objectMap, "source", c.Source) populate(objectMap, "testConfigurations", c.TestConfigurations) populate(objectMap, "testGroups", c.TestGroups) return objectMap } func (c *ConnectionMonitorParameters) unmarshalInternal(rawMsg map[string]json.RawMessage) error { for key, val := range rawMsg { var err error switch key { case "autoStart": err = unpopulate(val, &c.AutoStart) delete(rawMsg, key) case "destination": err = unpopulate(val, &c.Destination) delete(rawMsg, key) case "endpoints": err = unpopulate(val, &c.Endpoints) delete(rawMsg, key) case "monitoringIntervalInSeconds": err = unpopulate(val, &c.MonitoringIntervalInSeconds) delete(rawMsg, key) case "notes": err = unpopulate(val, &c.Notes) delete(rawMsg, key) case "outputs": err = unpopulate(val, &c.Outputs) delete(rawMsg, key) case "source": err = unpopulate(val, &c.Source) delete(rawMsg, key) case "testConfigurations": err = unpopulate(val, &c.TestConfigurations) delete(rawMsg, key) case "testGroups": err = unpopulate(val, &c.TestGroups) delete(rawMsg, key) } if err != nil { return err } } return nil } // ConnectionMonitorQueryResult - List of connection states snapshots. type ConnectionMonitorQueryResult struct { // Status of connection monitor source. SourceStatus *ConnectionMonitorSourceStatus `json:"sourceStatus,omitempty"` // Information about connection states. States []*ConnectionStateSnapshot `json:"states,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorQueryResult. func (c ConnectionMonitorQueryResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "sourceStatus", c.SourceStatus) populate(objectMap, "states", c.States) return json.Marshal(objectMap) } // ConnectionMonitorResult - Information about the connection monitor. type ConnectionMonitorResult struct { // Connection monitor location. Location *string `json:"location,omitempty"` // Properties of the connection monitor result. Properties *ConnectionMonitorResultProperties `json:"properties,omitempty"` // Connection monitor tags. Tags map[string]*string `json:"tags,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; ID of the connection monitor. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; Name of the connection monitor. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; Connection monitor type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorResult. func (c ConnectionMonitorResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "etag", c.Etag) populate(objectMap, "id", c.ID) populate(objectMap, "location", c.Location) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "tags", c.Tags) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // ConnectionMonitorResultProperties - Describes the properties of a connection monitor. type ConnectionMonitorResultProperties struct { ConnectionMonitorParameters // READ-ONLY; Type of connection monitor. ConnectionMonitorType *ConnectionMonitorType `json:"connectionMonitorType,omitempty" azure:"ro"` // READ-ONLY; The monitoring status of the connection monitor. MonitoringStatus *string `json:"monitoringStatus,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the connection monitor. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The date and time when the connection monitor was started. StartTime *time.Time `json:"startTime,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorResultProperties. func (c ConnectionMonitorResultProperties) MarshalJSON() ([]byte, error) { objectMap := c.ConnectionMonitorParameters.marshalInternal() populate(objectMap, "connectionMonitorType", c.ConnectionMonitorType) populate(objectMap, "monitoringStatus", c.MonitoringStatus) populate(objectMap, "provisioningState", c.ProvisioningState) populate(objectMap, "startTime", (*timeRFC3339)(c.StartTime)) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorResultProperties. func (c *ConnectionMonitorResultProperties) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "connectionMonitorType": err = unpopulate(val, &c.ConnectionMonitorType) delete(rawMsg, key) case "monitoringStatus": err = unpopulate(val, &c.MonitoringStatus) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, &c.ProvisioningState) delete(rawMsg, key) case "startTime": var aux timeRFC3339 err = unpopulate(val, &aux) c.StartTime = (*time.Time)(&aux) delete(rawMsg, key) } if err != nil { return err } } return c.ConnectionMonitorParameters.unmarshalInternal(rawMsg) } // ConnectionMonitorSource - Describes the source of connection monitor. type ConnectionMonitorSource struct { // REQUIRED; The ID of the resource used as the source by connection monitor. ResourceID *string `json:"resourceId,omitempty"` // The source port used by connection monitor. Port *int32 `json:"port,omitempty"` } // ConnectionMonitorSuccessThreshold - Describes the threshold for declaring a test successful. type ConnectionMonitorSuccessThreshold struct { // The maximum percentage of failed checks permitted for a test to evaluate as successful. ChecksFailedPercent *int32 `json:"checksFailedPercent,omitempty"` // The maximum round-trip time in milliseconds permitted for a test to evaluate as successful. RoundTripTimeMs *float32 `json:"roundTripTimeMs,omitempty"` } // ConnectionMonitorTCPConfiguration - Describes the TCP configuration. type ConnectionMonitorTCPConfiguration struct { // Destination port behavior. DestinationPortBehavior *DestinationPortBehavior `json:"destinationPortBehavior,omitempty"` // Value indicating whether path evaluation with trace route should be disabled. DisableTraceRoute *bool `json:"disableTraceRoute,omitempty"` // The port to connect to. Port *int32 `json:"port,omitempty"` } // ConnectionMonitorTestConfiguration - Describes a connection monitor test configuration. type ConnectionMonitorTestConfiguration struct { // REQUIRED; The name of the connection monitor test configuration. Name *string `json:"name,omitempty"` // REQUIRED; The protocol to use in test evaluation. Protocol *ConnectionMonitorTestConfigurationProtocol `json:"protocol,omitempty"` // The parameters used to perform test evaluation over HTTP. HTTPConfiguration *ConnectionMonitorHTTPConfiguration `json:"httpConfiguration,omitempty"` // The parameters used to perform test evaluation over ICMP. IcmpConfiguration *ConnectionMonitorIcmpConfiguration `json:"icmpConfiguration,omitempty"` // The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters. PreferredIPVersion *PreferredIPVersion `json:"preferredIPVersion,omitempty"` // The threshold for declaring a test successful. SuccessThreshold *ConnectionMonitorSuccessThreshold `json:"successThreshold,omitempty"` // The parameters used to perform test evaluation over TCP. TCPConfiguration *ConnectionMonitorTCPConfiguration `json:"tcpConfiguration,omitempty"` // The frequency of test evaluation, in seconds. TestFrequencySec *int32 `json:"testFrequencySec,omitempty"` } // ConnectionMonitorTestGroup - Describes the connection monitor test group. type ConnectionMonitorTestGroup struct { // REQUIRED; List of destination endpoint names. Destinations []*string `json:"destinations,omitempty"` // REQUIRED; The name of the connection monitor test group. Name *string `json:"name,omitempty"` // REQUIRED; List of source endpoint names. Sources []*string `json:"sources,omitempty"` // REQUIRED; List of test configuration names. TestConfigurations []*string `json:"testConfigurations,omitempty"` // Value indicating whether test group is disabled. Disable *bool `json:"disable,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorTestGroup. func (c ConnectionMonitorTestGroup) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "destinations", c.Destinations) populate(objectMap, "disable", c.Disable) populate(objectMap, "name", c.Name) populate(objectMap, "sources", c.Sources) populate(objectMap, "testConfigurations", c.TestConfigurations) return json.Marshal(objectMap) } // ConnectionMonitorWorkspaceSettings - Describes the settings for producing output into a log analytics workspace. type ConnectionMonitorWorkspaceSettings struct { // Log analytics workspace resource ID. WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` } // ConnectionMonitorsBeginCreateOrUpdateOptions contains the optional parameters for the ConnectionMonitors.BeginCreateOrUpdate method. type ConnectionMonitorsBeginCreateOrUpdateOptions struct { // Value indicating whether connection monitor V1 should be migrated to V2 format. Migrate *string } // ConnectionMonitorsBeginDeleteOptions contains the optional parameters for the ConnectionMonitors.BeginDelete method. type ConnectionMonitorsBeginDeleteOptions struct { // placeholder for future optional parameters } // ConnectionMonitorsBeginQueryOptions contains the optional parameters for the ConnectionMonitors.BeginQuery method. type ConnectionMonitorsBeginQueryOptions struct { // placeholder for future optional parameters } // ConnectionMonitorsBeginStartOptions contains the optional parameters for the ConnectionMonitors.BeginStart method. type ConnectionMonitorsBeginStartOptions struct { // placeholder for future optional parameters } // ConnectionMonitorsBeginStopOptions contains the optional parameters for the ConnectionMonitors.BeginStop method. type ConnectionMonitorsBeginStopOptions struct { // placeholder for future optional parameters } // ConnectionMonitorsGetOptions contains the optional parameters for the ConnectionMonitors.Get method. type ConnectionMonitorsGetOptions struct { // placeholder for future optional parameters } // ConnectionMonitorsListOptions contains the optional parameters for the ConnectionMonitors.List method. type ConnectionMonitorsListOptions struct { // placeholder for future optional parameters } // ConnectionMonitorsUpdateTagsOptions contains the optional parameters for the ConnectionMonitors.UpdateTags method. type ConnectionMonitorsUpdateTagsOptions struct { // placeholder for future optional parameters } // ConnectionResetSharedKey - The virtual network connection reset shared key. type ConnectionResetSharedKey struct { // REQUIRED; The virtual network connection reset shared key length, should between 1 and 128. KeyLength *int32 `json:"keyLength,omitempty"` } // ConnectionSharedKey - Response for GetConnectionSharedKey API service call. type ConnectionSharedKey struct { SubResource // REQUIRED; The virtual network connection shared key value. Value *string `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionSharedKey. func (c ConnectionSharedKey) MarshalJSON() ([]byte, error) { objectMap := c.SubResource.marshalInternal() populate(objectMap, "value", c.Value) return json.Marshal(objectMap) } // ConnectionStateSnapshot - Connection state snapshot. type ConnectionStateSnapshot struct { // Average latency in ms. AvgLatencyInMs *int64 `json:"avgLatencyInMs,omitempty"` // The connection state. ConnectionState *ConnectionState `json:"connectionState,omitempty"` // The end time of the connection snapshot. EndTime *time.Time `json:"endTime,omitempty"` // Connectivity analysis evaluation state. EvaluationState *EvaluationState `json:"evaluationState,omitempty"` // Maximum latency in ms. MaxLatencyInMs *int64 `json:"maxLatencyInMs,omitempty"` // Minimum latency in ms. MinLatencyInMs *int64 `json:"minLatencyInMs,omitempty"` // The number of failed probes. ProbesFailed *int64 `json:"probesFailed,omitempty"` // The number of sent probes. ProbesSent *int64 `json:"probesSent,omitempty"` // The start time of the connection snapshot. StartTime *time.Time `json:"startTime,omitempty"` // READ-ONLY; List of hops between the source and the destination. Hops []*ConnectivityHop `json:"hops,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ConnectionStateSnapshot. func (c ConnectionStateSnapshot) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "avgLatencyInMs", c.AvgLatencyInMs) populate(objectMap, "connectionState", c.ConnectionState) populate(objectMap, "endTime", (*timeRFC3339)(c.EndTime)) populate(objectMap, "evaluationState", c.EvaluationState) populate(objectMap, "hops", c.Hops) populate(objectMap, "maxLatencyInMs", c.MaxLatencyInMs) populate(objectMap, "minLatencyInMs", c.MinLatencyInMs) populate(objectMap, "probesFailed", c.ProbesFailed) populate(objectMap, "probesSent", c.ProbesSent) populate(objectMap, "startTime", (*timeRFC3339)(c.StartTime)) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionStateSnapshot. func (c *ConnectionStateSnapshot) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "avgLatencyInMs": err = unpopulate(val, &c.AvgLatencyInMs) delete(rawMsg, key) case "connectionState": err = unpopulate(val, &c.ConnectionState) delete(rawMsg, key) case "endTime": var aux timeRFC3339 err = unpopulate(val, &aux) c.EndTime = (*time.Time)(&aux) delete(rawMsg, key) case "evaluationState": err = unpopulate(val, &c.EvaluationState) delete(rawMsg, key) case "hops": err = unpopulate(val, &c.Hops) delete(rawMsg, key) case "maxLatencyInMs": err = unpopulate(val, &c.MaxLatencyInMs) delete(rawMsg, key) case "minLatencyInMs": err = unpopulate(val, &c.MinLatencyInMs) delete(rawMsg, key) case "probesFailed": err = unpopulate(val, &c.ProbesFailed) delete(rawMsg, key) case "probesSent": err = unpopulate(val, &c.ProbesSent) delete(rawMsg, key) case "startTime": var aux timeRFC3339 err = unpopulate(val, &aux) c.StartTime = (*time.Time)(&aux) delete(rawMsg, key) } if err != nil { return err } } return nil } // ConnectivityDestination - Parameters that define destination of connection. type ConnectivityDestination struct { // The IP address or URI the resource to which a connection attempt will be made. Address *string `json:"address,omitempty"` // Port on which check connectivity will be performed. Port *int32 `json:"port,omitempty"` // The ID of the resource to which a connection attempt will be made. ResourceID *string `json:"resourceId,omitempty"` } // ConnectivityHop - Information about a hop between the source and the destination. type ConnectivityHop struct { // READ-ONLY; The IP address of the hop. Address *string `json:"address,omitempty" azure:"ro"` // READ-ONLY; The ID of the hop. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; List of issues. Issues []*ConnectivityIssue `json:"issues,omitempty" azure:"ro"` // READ-ONLY; List of hop links. Links []*HopLink `json:"links,omitempty" azure:"ro"` // READ-ONLY; List of next hop identifiers. NextHopIDs []*string `json:"nextHopIds,omitempty" azure:"ro"` // READ-ONLY; List of previous hop identifiers. PreviousHopIDs []*string `json:"previousHopIds,omitempty" azure:"ro"` // READ-ONLY; List of previous hop links. PreviousLinks []*HopLink `json:"previousLinks,omitempty" azure:"ro"` // READ-ONLY; The ID of the resource corresponding to this hop. ResourceID *string `json:"resourceId,omitempty" azure:"ro"` // READ-ONLY; The type of the hop. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ConnectivityHop. func (c ConnectivityHop) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "address", c.Address) populate(objectMap, "id", c.ID) populate(objectMap, "issues", c.Issues) populate(objectMap, "links", c.Links) populate(objectMap, "nextHopIds", c.NextHopIDs) populate(objectMap, "previousHopIds", c.PreviousHopIDs) populate(objectMap, "previousLinks", c.PreviousLinks) populate(objectMap, "resourceId", c.ResourceID) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // ConnectivityInformation - Information on the connectivity status. type ConnectivityInformation struct { // READ-ONLY; Average latency in milliseconds. AvgLatencyInMs *int32 `json:"avgLatencyInMs,omitempty" azure:"ro"` // READ-ONLY; The connection status. ConnectionStatus *ConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` // READ-ONLY; List of hops between the source and the destination. Hops []*ConnectivityHop `json:"hops,omitempty" azure:"ro"` // READ-ONLY; Maximum latency in milliseconds. MaxLatencyInMs *int32 `json:"maxLatencyInMs,omitempty" azure:"ro"` // READ-ONLY; Minimum latency in milliseconds. MinLatencyInMs *int32 `json:"minLatencyInMs,omitempty" azure:"ro"` // READ-ONLY; Number of failed probes. ProbesFailed *int32 `json:"probesFailed,omitempty" azure:"ro"` // READ-ONLY; Total number of probes sent. ProbesSent *int32 `json:"probesSent,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ConnectivityInformation. func (c ConnectivityInformation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "avgLatencyInMs", c.AvgLatencyInMs) populate(objectMap, "connectionStatus", c.ConnectionStatus) populate(objectMap, "hops", c.Hops) populate(objectMap, "maxLatencyInMs", c.MaxLatencyInMs) populate(objectMap, "minLatencyInMs", c.MinLatencyInMs) populate(objectMap, "probesFailed", c.ProbesFailed) populate(objectMap, "probesSent", c.ProbesSent) return json.Marshal(objectMap) } // ConnectivityIssue - Information about an issue encountered in the process of checking for connectivity. type ConnectivityIssue struct { // READ-ONLY; Provides additional context on the issue. Context []map[string]*string `json:"context,omitempty" azure:"ro"` // READ-ONLY; The origin of the issue. Origin *Origin `json:"origin,omitempty" azure:"ro"` // READ-ONLY; The severity of the issue. Severity *Severity `json:"severity,omitempty" azure:"ro"` // READ-ONLY; The type of issue. Type *IssueType `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ConnectivityIssue. func (c ConnectivityIssue) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "context", c.Context) populate(objectMap, "origin", c.Origin) populate(objectMap, "severity", c.Severity) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // ConnectivityParameters - Parameters that determine how the connectivity check will be performed. type ConnectivityParameters struct { // REQUIRED; The destination of connection. Destination *ConnectivityDestination `json:"destination,omitempty"` // REQUIRED; The source of the connection. Source *ConnectivitySource `json:"source,omitempty"` // Preferred IP version of the connection. PreferredIPVersion *IPVersion `json:"preferredIPVersion,omitempty"` // Network protocol. Protocol *Protocol `json:"protocol,omitempty"` // Configuration of the protocol. ProtocolConfiguration *ProtocolConfiguration `json:"protocolConfiguration,omitempty"` } // ConnectivitySource - Parameters that define the source of the connection. type ConnectivitySource struct { // REQUIRED; The ID of the resource from which a connectivity check will be initiated. ResourceID *string `json:"resourceId,omitempty"` // The source port from which a connectivity check will be performed. Port *int32 `json:"port,omitempty"` } // Container - Reference to container resource in remote resource provider. type Container struct { SubResource } // ContainerNetworkInterface - Container network interface child resource. type ContainerNetworkInterface struct { SubResource // The name of the resource. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Container network interface properties. Properties *ContainerNetworkInterfacePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Sub Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterface. func (c ContainerNetworkInterface) MarshalJSON() ([]byte, error) { objectMap := c.SubResource.marshalInternal() populate(objectMap, "etag", c.Etag) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // ContainerNetworkInterfaceConfiguration - Container network interface configuration child resource. type ContainerNetworkInterfaceConfiguration struct { SubResource // The name of the resource. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Container network interface configuration properties. Properties *ContainerNetworkInterfaceConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Sub Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceConfiguration. func (c ContainerNetworkInterfaceConfiguration) MarshalJSON() ([]byte, error) { objectMap := c.SubResource.marshalInternal() populate(objectMap, "etag", c.Etag) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // ContainerNetworkInterfaceConfigurationPropertiesFormat - Container network interface configuration properties. type ContainerNetworkInterfaceConfigurationPropertiesFormat struct { // A list of container network interfaces created from this container network interface configuration. ContainerNetworkInterfaces []*SubResource `json:"containerNetworkInterfaces,omitempty"` // A list of ip configurations of the container network interface configuration. IPConfigurations []*IPConfigurationProfile `json:"ipConfigurations,omitempty"` // READ-ONLY; The provisioning state of the container network interface configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceConfigurationPropertiesFormat. func (c ContainerNetworkInterfaceConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "containerNetworkInterfaces", c.ContainerNetworkInterfaces) populate(objectMap, "ipConfigurations", c.IPConfigurations) populate(objectMap, "provisioningState", c.ProvisioningState) return json.Marshal(objectMap) } // ContainerNetworkInterfaceIPConfiguration - The ip configuration for a container network interface. type ContainerNetworkInterfaceIPConfiguration struct { // The name of the resource. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of the container network interface IP configuration. Properties *ContainerNetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Sub Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // ContainerNetworkInterfaceIPConfigurationPropertiesFormat - Properties of the container network interface IP configuration. type ContainerNetworkInterfaceIPConfigurationPropertiesFormat struct { // READ-ONLY; The provisioning state of the container network interface IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ContainerNetworkInterfacePropertiesFormat - Properties of container network interface. type ContainerNetworkInterfacePropertiesFormat struct { // Reference to the container to which this container network interface is attached. Container *Container `json:"container,omitempty"` // READ-ONLY; Container network interface configuration from which this container network interface is created. ContainerNetworkInterfaceConfiguration *ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfiguration,omitempty" azure:"ro"` // READ-ONLY; Reference to the ip configuration on this container nic. IPConfigurations []*ContainerNetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the container network interface resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfacePropertiesFormat. func (c ContainerNetworkInterfacePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "container", c.Container) populate(objectMap, "containerNetworkInterfaceConfiguration", c.ContainerNetworkInterfaceConfiguration) populate(objectMap, "ipConfigurations", c.IPConfigurations) populate(objectMap, "provisioningState", c.ProvisioningState) return json.Marshal(objectMap) } // CustomDNSConfigPropertiesFormat - Contains custom Dns resolution configuration from customer. type CustomDNSConfigPropertiesFormat struct { // Fqdn that resolves to private endpoint ip address. Fqdn *string `json:"fqdn,omitempty"` // A list of private ip addresses of the private endpoint. IPAddresses []*string `json:"ipAddresses,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type CustomDNSConfigPropertiesFormat. func (c CustomDNSConfigPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "fqdn", c.Fqdn) populate(objectMap, "ipAddresses", c.IPAddresses) return json.Marshal(objectMap) } // CustomIPPrefix - Custom IP prefix resource. type CustomIPPrefix struct { Resource // The extended location of the custom IP prefix. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Custom IP prefix properties. Properties *CustomIPPrefixPropertiesFormat `json:"properties,omitempty"` // A list of availability zones denoting the IP allocated for the resource needs to come from. Zones []*string `json:"zones,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type CustomIPPrefix. func (c CustomIPPrefix) MarshalJSON() ([]byte, error) { objectMap := c.Resource.marshalInternal() populate(objectMap, "etag", c.Etag) populate(objectMap, "extendedLocation", c.ExtendedLocation) populate(objectMap, "properties", c.Properties) populate(objectMap, "zones", c.Zones) return json.Marshal(objectMap) } // CustomIPPrefixListResult - Response for ListCustomIpPrefixes API service call. type CustomIPPrefixListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of Custom IP prefixes that exists in a resource group. Value []*CustomIPPrefix `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type CustomIPPrefixListResult. func (c CustomIPPrefixListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", c.NextLink) populate(objectMap, "value", c.Value) return json.Marshal(objectMap) } // CustomIPPrefixPropertiesFormat - Custom IP prefix properties. type CustomIPPrefixPropertiesFormat struct { // Authorization message for WAN validation. AuthorizationMessage *string `json:"authorizationMessage,omitempty"` // The prefix range in CIDR notation. Should include the start address and the prefix length. Cidr *string `json:"cidr,omitempty"` // The commissioned state of the Custom IP Prefix. CommissionedState *CommissionedState `json:"commissionedState,omitempty"` // The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix. CustomIPPrefixParent *CustomIPPrefix `json:"customIpPrefixParent,omitempty"` // Signed message for WAN validation. SignedMessage *string `json:"signedMessage,omitempty"` // READ-ONLY; The list of all Children for IPv6 /48 CustomIpPrefix. ChildCustomIPPrefixes []*CustomIPPrefix `json:"childCustomIpPrefixes,omitempty" azure:"ro"` // READ-ONLY; The reason why resource is in failed state. FailedReason *string `json:"failedReason,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the custom IP prefix resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The list of all referenced PublicIpPrefixes. PublicIPPrefixes []*SubResource `json:"publicIpPrefixes,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the custom IP prefix resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type CustomIPPrefixPropertiesFormat. func (c CustomIPPrefixPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "authorizationMessage", c.AuthorizationMessage) populate(objectMap, "childCustomIpPrefixes", c.ChildCustomIPPrefixes) populate(objectMap, "cidr", c.Cidr) populate(objectMap, "commissionedState", c.CommissionedState) populate(objectMap, "customIpPrefixParent", c.CustomIPPrefixParent) populate(objectMap, "failedReason", c.FailedReason) populate(objectMap, "provisioningState", c.ProvisioningState) populate(objectMap, "publicIpPrefixes", c.PublicIPPrefixes) populate(objectMap, "resourceGuid", c.ResourceGUID) populate(objectMap, "signedMessage", c.SignedMessage) return json.Marshal(objectMap) } // CustomIPPrefixesBeginCreateOrUpdateOptions contains the optional parameters for the CustomIPPrefixes.BeginCreateOrUpdate method. type CustomIPPrefixesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // CustomIPPrefixesBeginDeleteOptions contains the optional parameters for the CustomIPPrefixes.BeginDelete method. type CustomIPPrefixesBeginDeleteOptions struct { // placeholder for future optional parameters } // CustomIPPrefixesGetOptions contains the optional parameters for the CustomIPPrefixes.Get method. type CustomIPPrefixesGetOptions struct { // Expands referenced resources. Expand *string } // CustomIPPrefixesListAllOptions contains the optional parameters for the CustomIPPrefixes.ListAll method. type CustomIPPrefixesListAllOptions struct { // placeholder for future optional parameters } // CustomIPPrefixesListOptions contains the optional parameters for the CustomIPPrefixes.List method. type CustomIPPrefixesListOptions struct { // placeholder for future optional parameters } // CustomIPPrefixesUpdateTagsOptions contains the optional parameters for the CustomIPPrefixes.UpdateTags method. type CustomIPPrefixesUpdateTagsOptions struct { // placeholder for future optional parameters } // DNSNameAvailabilityResult - Response for the CheckDnsNameAvailability API service call. type DNSNameAvailabilityResult struct { // Domain availability (True/False). Available *bool `json:"available,omitempty"` } // DNSSettings - DNS Proxy Settings in Firewall Policy. type DNSSettings struct { // Enable DNS Proxy on Firewalls attached to the Firewall Policy. EnableProxy *bool `json:"enableProxy,omitempty"` // FQDNs in Network Rules are supported when set to true. RequireProxyForNetworkRules *bool `json:"requireProxyForNetworkRules,omitempty"` // List of Custom DNS Servers. Servers []*string `json:"servers,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type DNSSettings. func (d DNSSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "enableProxy", d.EnableProxy) populate(objectMap, "requireProxyForNetworkRules", d.RequireProxyForNetworkRules) populate(objectMap, "servers", d.Servers) return json.Marshal(objectMap) } // DdosCustomPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the DdosCustomPolicies.BeginCreateOrUpdate method. type DdosCustomPoliciesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // DdosCustomPoliciesBeginDeleteOptions contains the optional parameters for the DdosCustomPolicies.BeginDelete method. type DdosCustomPoliciesBeginDeleteOptions struct { // placeholder for future optional parameters } // DdosCustomPoliciesGetOptions contains the optional parameters for the DdosCustomPolicies.Get method. type DdosCustomPoliciesGetOptions struct { // placeholder for future optional parameters } // DdosCustomPoliciesUpdateTagsOptions contains the optional parameters for the DdosCustomPolicies.UpdateTags method. type DdosCustomPoliciesUpdateTagsOptions struct { // placeholder for future optional parameters } // DdosCustomPolicy - A DDoS custom policy in a resource group. type DdosCustomPolicy struct { Resource // Properties of the DDoS custom policy. Properties *DdosCustomPolicyPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DdosCustomPolicy. func (d DdosCustomPolicy) MarshalJSON() ([]byte, error) { objectMap := d.Resource.marshalInternal() populate(objectMap, "etag", d.Etag) populate(objectMap, "properties", d.Properties) return json.Marshal(objectMap) } // DdosCustomPolicyPropertiesFormat - DDoS custom policy properties. type DdosCustomPolicyPropertiesFormat struct { // The protocol-specific DDoS policy customization parameters. ProtocolCustomSettings []*ProtocolCustomSettingsFormat `json:"protocolCustomSettings,omitempty"` // READ-ONLY; The provisioning state of the DDoS custom policy resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The list of public IPs associated with the DDoS custom policy resource. This list is read-only. PublicIPAddresses []*SubResource `json:"publicIPAddresses,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if the user changes its name or migrate // the resource across subscriptions or resource groups. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DdosCustomPolicyPropertiesFormat. func (d DdosCustomPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "protocolCustomSettings", d.ProtocolCustomSettings) populate(objectMap, "provisioningState", d.ProvisioningState) populate(objectMap, "publicIPAddresses", d.PublicIPAddresses) populate(objectMap, "resourceGuid", d.ResourceGUID) return json.Marshal(objectMap) } // DdosProtectionPlan - A DDoS protection plan in a resource group. type DdosProtectionPlan struct { // Resource location. Location *string `json:"location,omitempty"` // Properties of the DDoS protection plan. Properties *DdosProtectionPlanPropertiesFormat `json:"properties,omitempty"` // Resource tags. Tags map[string]*string `json:"tags,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource ID. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; Resource name. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlan. func (d DdosProtectionPlan) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "etag", d.Etag) populate(objectMap, "id", d.ID) populate(objectMap, "location", d.Location) populate(objectMap, "name", d.Name) populate(objectMap, "properties", d.Properties) populate(objectMap, "tags", d.Tags) populate(objectMap, "type", d.Type) return json.Marshal(objectMap) } // DdosProtectionPlanListResult - A list of DDoS protection plans. type DdosProtectionPlanListResult struct { // A list of DDoS protection plans. Value []*DdosProtectionPlan `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlanListResult. func (d DdosProtectionPlanListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", d.NextLink) populate(objectMap, "value", d.Value) return json.Marshal(objectMap) } // DdosProtectionPlanPropertiesFormat - DDoS protection plan properties. type DdosProtectionPlanPropertiesFormat struct { // READ-ONLY; The provisioning state of the DDoS protection plan resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the DDoS protection plan resource. It uniquely identifies the resource, even if the user changes its name or // migrate the resource across subscriptions or resource groups. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; The list of virtual networks associated with the DDoS protection plan resource. This list is read-only. VirtualNetworks []*SubResource `json:"virtualNetworks,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlanPropertiesFormat. func (d DdosProtectionPlanPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "provisioningState", d.ProvisioningState) populate(objectMap, "resourceGuid", d.ResourceGUID) populate(objectMap, "virtualNetworks", d.VirtualNetworks) return json.Marshal(objectMap) } // DdosProtectionPlansBeginCreateOrUpdateOptions contains the optional parameters for the DdosProtectionPlans.BeginCreateOrUpdate method. type DdosProtectionPlansBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // DdosProtectionPlansBeginDeleteOptions contains the optional parameters for the DdosProtectionPlans.BeginDelete method. type DdosProtectionPlansBeginDeleteOptions struct { // placeholder for future optional parameters } // DdosProtectionPlansGetOptions contains the optional parameters for the DdosProtectionPlans.Get method. type DdosProtectionPlansGetOptions struct { // placeholder for future optional parameters } // DdosProtectionPlansListByResourceGroupOptions contains the optional parameters for the DdosProtectionPlans.ListByResourceGroup method. type DdosProtectionPlansListByResourceGroupOptions struct { // placeholder for future optional parameters } // DdosProtectionPlansListOptions contains the optional parameters for the DdosProtectionPlans.List method. type DdosProtectionPlansListOptions struct { // placeholder for future optional parameters } // DdosProtectionPlansUpdateTagsOptions contains the optional parameters for the DdosProtectionPlans.UpdateTags method. type DdosProtectionPlansUpdateTagsOptions struct { // placeholder for future optional parameters } // DdosSettings - Contains the DDoS protection settings of the public IP. type DdosSettings struct { // The DDoS custom policy associated with the public IP. DdosCustomPolicy *SubResource `json:"ddosCustomPolicy,omitempty"` // Enables DDoS protection on the public IP. ProtectedIP *bool `json:"protectedIP,omitempty"` // The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. ProtectionCoverage *DdosSettingsProtectionCoverage `json:"protectionCoverage,omitempty"` } // DefaultSecurityRulesGetOptions contains the optional parameters for the DefaultSecurityRules.Get method. type DefaultSecurityRulesGetOptions struct { // placeholder for future optional parameters } // DefaultSecurityRulesListOptions contains the optional parameters for the DefaultSecurityRules.List method. type DefaultSecurityRulesListOptions struct { // placeholder for future optional parameters } // Delegation - Details the service to which the subnet is delegated. type Delegation struct { SubResource // The name of the resource that is unique within a subnet. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of the subnet. Properties *ServiceDelegationPropertiesFormat `json:"properties,omitempty"` // Resource type. Type *string `json:"type,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type Delegation. func (d Delegation) MarshalJSON() ([]byte, error) { objectMap := d.SubResource.marshalInternal() populate(objectMap, "etag", d.Etag) populate(objectMap, "name", d.Name) populate(objectMap, "properties", d.Properties) populate(objectMap, "type", d.Type) return json.Marshal(objectMap) } // DeviceProperties - List of properties of the device. type DeviceProperties struct { // Model of the device. DeviceModel *string `json:"deviceModel,omitempty"` // Name of the device Vendor. DeviceVendor *string `json:"deviceVendor,omitempty"` // Link speed. LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` } // DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP // options. type DhcpOptions struct { // The list of DNS servers IP addresses. DNSServers []*string `json:"dnsServers,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type DhcpOptions. func (d DhcpOptions) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "dnsServers", d.DNSServers) return json.Marshal(objectMap) } // Dimension of the metric. type Dimension struct { // The display name of the dimension. DisplayName *string `json:"displayName,omitempty"` // The internal name of the dimension. InternalName *string `json:"internalName,omitempty"` // The name of the dimension. Name *string `json:"name,omitempty"` } // DscpConfiguration - DSCP Configuration in a resource group. type DscpConfiguration struct { Resource // Properties of the network interface. Properties *DscpConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DscpConfiguration. func (d DscpConfiguration) MarshalJSON() ([]byte, error) { objectMap := d.Resource.marshalInternal() populate(objectMap, "etag", d.Etag) populate(objectMap, "properties", d.Properties) return json.Marshal(objectMap) } // DscpConfigurationBeginCreateOrUpdateOptions contains the optional parameters for the DscpConfiguration.BeginCreateOrUpdate method. type DscpConfigurationBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // DscpConfigurationBeginDeleteOptions contains the optional parameters for the DscpConfiguration.BeginDelete method. type DscpConfigurationBeginDeleteOptions struct { // placeholder for future optional parameters } // DscpConfigurationGetOptions contains the optional parameters for the DscpConfiguration.Get method. type DscpConfigurationGetOptions struct { // placeholder for future optional parameters } // DscpConfigurationListAllOptions contains the optional parameters for the DscpConfiguration.ListAll method. type DscpConfigurationListAllOptions struct { // placeholder for future optional parameters } // DscpConfigurationListOptions contains the optional parameters for the DscpConfiguration.List method. type DscpConfigurationListOptions struct { // placeholder for future optional parameters } // DscpConfigurationListResult - Response for the DscpConfigurationList API service call. type DscpConfigurationListResult struct { // A list of dscp configurations in a resource group. Value []*DscpConfiguration `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DscpConfigurationListResult. func (d DscpConfigurationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", d.NextLink) populate(objectMap, "value", d.Value) return json.Marshal(objectMap) } // DscpConfigurationPropertiesFormat - DSCP Configuration properties. type DscpConfigurationPropertiesFormat struct { // Destination IP ranges. DestinationIPRanges []*QosIPRange `json:"destinationIpRanges,omitempty"` // Destination port ranges. DestinationPortRanges []*QosPortRange `json:"destinationPortRanges,omitempty"` // List of markings to be used in the configuration. Markings []*int32 `json:"markings,omitempty"` // RNM supported protocol types. Protocol *ProtocolType `json:"protocol,omitempty"` // Source IP ranges. SourceIPRanges []*QosIPRange `json:"sourceIpRanges,omitempty"` // Sources port ranges. SourcePortRanges []*QosPortRange `json:"sourcePortRanges,omitempty"` // READ-ONLY; Associated Network Interfaces to the DSCP Configuration. AssociatedNetworkInterfaces []*NetworkInterface `json:"associatedNetworkInterfaces,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the DSCP Configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; Qos Collection ID generated by RNM. QosCollectionID *string `json:"qosCollectionId,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the DSCP Configuration resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type DscpConfigurationPropertiesFormat. func (d DscpConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "associatedNetworkInterfaces", d.AssociatedNetworkInterfaces) populate(objectMap, "destinationIpRanges", d.DestinationIPRanges) populate(objectMap, "destinationPortRanges", d.DestinationPortRanges) populate(objectMap, "markings", d.Markings) populate(objectMap, "protocol", d.Protocol) populate(objectMap, "provisioningState", d.ProvisioningState) populate(objectMap, "qosCollectionId", d.QosCollectionID) populate(objectMap, "resourceGuid", d.ResourceGUID) populate(objectMap, "sourceIpRanges", d.SourceIPRanges) populate(objectMap, "sourcePortRanges", d.SourcePortRanges) return json.Marshal(objectMap) } // EffectiveNetworkSecurityGroup - Effective network security group. type EffectiveNetworkSecurityGroup struct { // Associated resources. Association *EffectiveNetworkSecurityGroupAssociation `json:"association,omitempty"` // A collection of effective security rules. EffectiveSecurityRules []*EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` // The ID of network security group that is applied. NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` // Mapping of tags to list of IP Addresses included within the tag. TagMap *string `json:"tagMap,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroup. func (e EffectiveNetworkSecurityGroup) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "association", e.Association) populate(objectMap, "effectiveSecurityRules", e.EffectiveSecurityRules) populate(objectMap, "networkSecurityGroup", e.NetworkSecurityGroup) populate(objectMap, "tagMap", e.TagMap) return json.Marshal(objectMap) } // EffectiveNetworkSecurityGroupAssociation - The effective network security group association. type EffectiveNetworkSecurityGroupAssociation struct { // The ID of the network interface if assigned. NetworkInterface *SubResource `json:"networkInterface,omitempty"` // The ID of the Azure network manager if assigned. NetworkManager *SubResource `json:"networkManager,omitempty"` // The ID of the subnet if assigned. Subnet *SubResource `json:"subnet,omitempty"` } // EffectiveNetworkSecurityGroupListResult - Response for list effective network security groups API service call. type EffectiveNetworkSecurityGroupListResult struct { // A list of effective network security groups. Value []*EffectiveNetworkSecurityGroup `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroupListResult. func (e EffectiveNetworkSecurityGroupListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // EffectiveNetworkSecurityRule - Effective network security rules. type EffectiveNetworkSecurityRule struct { // Whether network traffic is allowed or denied. Access *SecurityRuleAccess `json:"access,omitempty"` // The destination address prefix. DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` // The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and // the asterisk (*). DestinationAddressPrefixes []*string `json:"destinationAddressPrefixes,omitempty"` // The destination port or range. DestinationPortRange *string `json:"destinationPortRange,omitempty"` // The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk // (*). DestinationPortRanges []*string `json:"destinationPortRanges,omitempty"` // The direction of the rule. Direction *SecurityRuleDirection `json:"direction,omitempty"` // Expanded destination address prefix. ExpandedDestinationAddressPrefix []*string `json:"expandedDestinationAddressPrefix,omitempty"` // The expanded source address prefix. ExpandedSourceAddressPrefix []*string `json:"expandedSourceAddressPrefix,omitempty"` // The name of the security rule specified by the user (if created by the user). Name *string `json:"name,omitempty"` // The priority of the rule. Priority *int32 `json:"priority,omitempty"` // The network protocol this rule applies to. Protocol *EffectiveSecurityRuleProtocol `json:"protocol,omitempty"` // The source address prefix. SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` // The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the // asterisk (*). SourceAddressPrefixes []*string `json:"sourceAddressPrefixes,omitempty"` // The source port or range. SourcePortRange *string `json:"sourcePortRange,omitempty"` // The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). SourcePortRanges []*string `json:"sourcePortRanges,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityRule. func (e EffectiveNetworkSecurityRule) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "access", e.Access) populate(objectMap, "destinationAddressPrefix", e.DestinationAddressPrefix) populate(objectMap, "destinationAddressPrefixes", e.DestinationAddressPrefixes) populate(objectMap, "destinationPortRange", e.DestinationPortRange) populate(objectMap, "destinationPortRanges", e.DestinationPortRanges) populate(objectMap, "direction", e.Direction) populate(objectMap, "expandedDestinationAddressPrefix", e.ExpandedDestinationAddressPrefix) populate(objectMap, "expandedSourceAddressPrefix", e.ExpandedSourceAddressPrefix) populate(objectMap, "name", e.Name) populate(objectMap, "priority", e.Priority) populate(objectMap, "protocol", e.Protocol) populate(objectMap, "sourceAddressPrefix", e.SourceAddressPrefix) populate(objectMap, "sourceAddressPrefixes", e.SourceAddressPrefixes) populate(objectMap, "sourcePortRange", e.SourcePortRange) populate(objectMap, "sourcePortRanges", e.SourcePortRanges) return json.Marshal(objectMap) } // EffectiveRoute - Effective Route. type EffectiveRoute struct { // The address prefixes of the effective routes in CIDR notation. AddressPrefix []*string `json:"addressPrefix,omitempty"` // If true, on-premises routes are not propagated to the network interfaces in the subnet. DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` // The name of the user defined route. This is optional. Name *string `json:"name,omitempty"` // The IP address of the next hop of the effective route. NextHopIPAddress []*string `json:"nextHopIpAddress,omitempty"` // The type of Azure hop the packet should be sent to. NextHopType *RouteNextHopType `json:"nextHopType,omitempty"` // Who created the route. Source *EffectiveRouteSource `json:"source,omitempty"` // The value of effective route. State *EffectiveRouteState `json:"state,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type EffectiveRoute. func (e EffectiveRoute) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefix", e.AddressPrefix) populate(objectMap, "disableBgpRoutePropagation", e.DisableBgpRoutePropagation) populate(objectMap, "name", e.Name) populate(objectMap, "nextHopIpAddress", e.NextHopIPAddress) populate(objectMap, "nextHopType", e.NextHopType) populate(objectMap, "source", e.Source) populate(objectMap, "state", e.State) return json.Marshal(objectMap) } // EffectiveRouteListResult - Response for list effective route API service call. type EffectiveRouteListResult struct { // A list of effective routes. Value []*EffectiveRoute `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type EffectiveRouteListResult. func (e EffectiveRouteListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // EffectiveRoutesParameters - The parameters specifying the resource whose effective routes are being requested. type EffectiveRoutesParameters struct { // The resource whose effective routes are being requested. ResourceID *string `json:"resourceId,omitempty"` // The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. VirtualWanResourceType *string `json:"virtualWanResourceType,omitempty"` } // EndpointServiceResult - Endpoint service. type EndpointServiceResult struct { SubResource // READ-ONLY; Name of the endpoint service. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; Type of the endpoint service. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type EndpointServiceResult. func (e EndpointServiceResult) MarshalJSON() ([]byte, error) { objectMap := e.SubResource.marshalInternal() populate(objectMap, "name", e.Name) populate(objectMap, "type", e.Type) return json.Marshal(objectMap) } // EndpointServicesListResult - Response for the ListAvailableEndpointServices API service call. type EndpointServicesListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of available endpoint services in a region. Value []*EndpointServiceResult `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type EndpointServicesListResult. func (e EndpointServicesListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // Error - Common error representation. // Implements the error and azcore.HTTPResponse interfaces. type Error struct { raw string // Error code. Code *string `json:"code,omitempty"` // Error details. Details []*ErrorDetails `json:"details,omitempty"` // Inner error message. InnerError *string `json:"innerError,omitempty"` // Error message. Message *string `json:"message,omitempty"` // Error target. Target *string `json:"target,omitempty"` } // Error implements the error interface for type Error. // The contents of the error text are not contractual and subject to change. func (e Error) Error() string { return e.raw } // ErrorDetails - Common error details representation. type ErrorDetails struct { // Error code. Code *string `json:"code,omitempty"` // Error message. Message *string `json:"message,omitempty"` // Error target. Target *string `json:"target,omitempty"` } // ErrorResponse - The error object. // Implements the error and azcore.HTTPResponse interfaces. type ErrorResponse struct { raw string // The error details object. InnerError *ErrorDetails `json:"error,omitempty"` } // Error implements the error interface for type ErrorResponse. // The contents of the error text are not contractual and subject to change. func (e ErrorResponse) Error() string { return e.raw } // EvaluatedNetworkSecurityGroup - Results of network security group evaluation. type EvaluatedNetworkSecurityGroup struct { // Resource ID of nic or subnet to which network security group is applied. AppliedTo *string `json:"appliedTo,omitempty"` // Matched network security rule. MatchedRule *MatchedRule `json:"matchedRule,omitempty"` // Network security group ID. NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty"` // READ-ONLY; List of network security rules evaluation results. RulesEvaluationResult []*NetworkSecurityRulesEvaluationResult `json:"rulesEvaluationResult,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type EvaluatedNetworkSecurityGroup. func (e EvaluatedNetworkSecurityGroup) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "appliedTo", e.AppliedTo) populate(objectMap, "matchedRule", e.MatchedRule) populate(objectMap, "networkSecurityGroupId", e.NetworkSecurityGroupID) populate(objectMap, "rulesEvaluationResult", e.RulesEvaluationResult) return json.Marshal(objectMap) } // ExpressRouteCircuit resource. type ExpressRouteCircuit struct { Resource // Properties of the express route circuit. Properties *ExpressRouteCircuitPropertiesFormat `json:"properties,omitempty"` // The SKU. SKU *ExpressRouteCircuitSKU `json:"sku,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuit. func (e ExpressRouteCircuit) MarshalJSON() ([]byte, error) { objectMap := e.Resource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "properties", e.Properties) populate(objectMap, "sku", e.SKU) return json.Marshal(objectMap) } // ExpressRouteCircuitArpTable - The ARP table associated with the ExpressRouteCircuit. type ExpressRouteCircuitArpTable struct { // Entry age in minutes. Age *int32 `json:"age,omitempty"` // The IP address. IPAddress *string `json:"ipAddress,omitempty"` // Interface address. Interface *string `json:"interface,omitempty"` // The MAC address. MacAddress *string `json:"macAddress,omitempty"` } // ExpressRouteCircuitAuthorization - Authorization in an ExpressRouteCircuit resource. type ExpressRouteCircuitAuthorization struct { SubResource // The 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"` // Properties of the express route circuit authorization. Properties *AuthorizationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitAuthorization. func (e ExpressRouteCircuitAuthorization) MarshalJSON() ([]byte, error) { objectMap := e.SubResource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) populate(objectMap, "type", e.Type) return json.Marshal(objectMap) } // ExpressRouteCircuitAuthorizationsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.BeginCreateOrUpdate // method. type ExpressRouteCircuitAuthorizationsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitAuthorizationsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.BeginDelete method. type ExpressRouteCircuitAuthorizationsBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitAuthorizationsGetOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.Get method. type ExpressRouteCircuitAuthorizationsGetOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitAuthorizationsListOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.List method. type ExpressRouteCircuitAuthorizationsListOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitConnection - Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. type ExpressRouteCircuitConnection struct { SubResource // The 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"` // Properties of the express route circuit connection. Properties *ExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitConnection. func (e ExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { objectMap := e.SubResource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) populate(objectMap, "type", e.Type) return json.Marshal(objectMap) } // ExpressRouteCircuitConnectionListResult - Response for ListConnections API service call retrieves all global reach connections that belongs to a Private // Peering for an ExpressRouteCircuit. type ExpressRouteCircuitConnectionListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The global reach connection associated with Private Peering in an ExpressRoute Circuit. Value []*ExpressRouteCircuitConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitConnectionListResult. func (e ExpressRouteCircuitConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCircuitConnectionPropertiesFormat - Properties of the express route circuit connection. type ExpressRouteCircuitConnectionPropertiesFormat struct { // /29 IP address space to carve out Customer addresses for tunnels. AddressPrefix *string `json:"addressPrefix,omitempty"` // The authorization key. AuthorizationKey *string `json:"authorizationKey,omitempty"` // Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection. ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` // IPv6 Address PrefixProperties of the express route circuit connection. IPv6CircuitConnectionConfig *IPv6CircuitConnectionConfig `json:"ipv6CircuitConnectionConfig,omitempty"` // Reference to Express Route Circuit Private Peering Resource of the peered circuit. PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` // READ-ONLY; Express Route Circuit connection state. CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route circuit connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ExpressRouteCircuitConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitConnections.BeginCreateOrUpdate // method. type ExpressRouteCircuitConnectionsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitConnectionsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitConnections.BeginDelete method. type ExpressRouteCircuitConnectionsBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitConnectionsGetOptions contains the optional parameters for the ExpressRouteCircuitConnections.Get method. type ExpressRouteCircuitConnectionsGetOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitConnectionsListOptions contains the optional parameters for the ExpressRouteCircuitConnections.List method. type ExpressRouteCircuitConnectionsListOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitListResult - Response for ListExpressRouteCircuit API service call. type ExpressRouteCircuitListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of ExpressRouteCircuits in a resource group. Value []*ExpressRouteCircuit `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitListResult. func (e ExpressRouteCircuitListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCircuitPeering - Peering in an ExpressRouteCircuit resource. type ExpressRouteCircuitPeering struct { SubResource // The 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"` // Properties of the express route circuit peering. Properties *ExpressRouteCircuitPeeringPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeering. func (e ExpressRouteCircuitPeering) MarshalJSON() ([]byte, error) { objectMap := e.SubResource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) populate(objectMap, "type", e.Type) return json.Marshal(objectMap) } // ExpressRouteCircuitPeeringConfig - Specifies the peering configuration. type ExpressRouteCircuitPeeringConfig struct { // The communities of bgp peering. Specified for microsoft peering. AdvertisedCommunities []*string `json:"advertisedCommunities,omitempty"` // The reference to AdvertisedPublicPrefixes. AdvertisedPublicPrefixes []*string `json:"advertisedPublicPrefixes,omitempty"` // The CustomerASN of the peering. CustomerASN *int32 `json:"customerASN,omitempty"` // The legacy mode of the peering. LegacyMode *int32 `json:"legacyMode,omitempty"` // The RoutingRegistryName of the configuration. RoutingRegistryName *string `json:"routingRegistryName,omitempty"` // READ-ONLY; The advertised public prefix state of the Peering resource. AdvertisedPublicPrefixesState *ExpressRouteCircuitPeeringAdvertisedPublicPrefixState `json:"advertisedPublicPrefixesState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringConfig. func (e ExpressRouteCircuitPeeringConfig) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "advertisedCommunities", e.AdvertisedCommunities) populate(objectMap, "advertisedPublicPrefixes", e.AdvertisedPublicPrefixes) populate(objectMap, "advertisedPublicPrefixesState", e.AdvertisedPublicPrefixesState) populate(objectMap, "customerASN", e.CustomerASN) populate(objectMap, "legacyMode", e.LegacyMode) populate(objectMap, "routingRegistryName", e.RoutingRegistryName) return json.Marshal(objectMap) } // ExpressRouteCircuitPeeringID - ExpressRoute circuit peering identifier. type ExpressRouteCircuitPeeringID struct { // The ID of the ExpressRoute circuit peering. ID *string `json:"id,omitempty"` } // ExpressRouteCircuitPeeringListResult - Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. type ExpressRouteCircuitPeeringListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The peerings in an express route circuit. Value []*ExpressRouteCircuitPeering `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringListResult. func (e ExpressRouteCircuitPeeringListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCircuitPeeringPropertiesFormat - Properties of the express route circuit peering. type ExpressRouteCircuitPeeringPropertiesFormat struct { // The Azure ASN. AzureASN *int32 `json:"azureASN,omitempty"` // The list of circuit connections associated with Azure Private Peering for this circuit. Connections []*ExpressRouteCircuitConnection `json:"connections,omitempty"` // The ExpressRoute connection. ExpressRouteConnection *ExpressRouteConnectionID `json:"expressRouteConnection,omitempty"` // The GatewayManager Etag. GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` // The IPv6 peering configuration. IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` // The Microsoft peering configuration. MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` // The peer ASN. PeerASN *int64 `json:"peerASN,omitempty"` // The peering type. PeeringType *ExpressRoutePeeringType `json:"peeringType,omitempty"` // The primary port. PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` // The primary address prefix. PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` // The reference to the RouteFilter resource. RouteFilter *SubResource `json:"routeFilter,omitempty"` // The secondary port. SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` // The secondary address prefix. SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` // The shared key. SharedKey *string `json:"sharedKey,omitempty"` // The peering state. State *ExpressRoutePeeringState `json:"state,omitempty"` // The peering stats of express route circuit. Stats *ExpressRouteCircuitStats `json:"stats,omitempty"` // The VLAN ID. VlanID *int32 `json:"vlanId,omitempty"` // READ-ONLY; Who was the last to modify the peering. LastModifiedBy *string `json:"lastModifiedBy,omitempty" azure:"ro"` // READ-ONLY; The list of peered circuit connections associated with Azure Private Peering for this circuit. PeeredConnections []*PeerExpressRouteCircuitConnection `json:"peeredConnections,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route circuit peering resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringPropertiesFormat. func (e ExpressRouteCircuitPeeringPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "azureASN", e.AzureASN) populate(objectMap, "connections", e.Connections) populate(objectMap, "expressRouteConnection", e.ExpressRouteConnection) populate(objectMap, "gatewayManagerEtag", e.GatewayManagerEtag) populate(objectMap, "ipv6PeeringConfig", e.IPv6PeeringConfig) populate(objectMap, "lastModifiedBy", e.LastModifiedBy) populate(objectMap, "microsoftPeeringConfig", e.MicrosoftPeeringConfig) populate(objectMap, "peerASN", e.PeerASN) populate(objectMap, "peeredConnections", e.PeeredConnections) populate(objectMap, "peeringType", e.PeeringType) populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) populate(objectMap, "primaryPeerAddressPrefix", e.PrimaryPeerAddressPrefix) populate(objectMap, "provisioningState", e.ProvisioningState) populate(objectMap, "routeFilter", e.RouteFilter) populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) populate(objectMap, "secondaryPeerAddressPrefix", e.SecondaryPeerAddressPrefix) populate(objectMap, "sharedKey", e.SharedKey) populate(objectMap, "state", e.State) populate(objectMap, "stats", e.Stats) populate(objectMap, "vlanId", e.VlanID) return json.Marshal(objectMap) } // ExpressRouteCircuitPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitPeerings.BeginCreateOrUpdate method. type ExpressRouteCircuitPeeringsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitPeeringsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitPeerings.BeginDelete method. type ExpressRouteCircuitPeeringsBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitPeeringsGetOptions contains the optional parameters for the ExpressRouteCircuitPeerings.Get method. type ExpressRouteCircuitPeeringsGetOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitPeeringsListOptions contains the optional parameters for the ExpressRouteCircuitPeerings.List method. type ExpressRouteCircuitPeeringsListOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitPropertiesFormat - Properties of ExpressRouteCircuit. type ExpressRouteCircuitPropertiesFormat struct { // Allow classic operations. AllowClassicOperations *bool `json:"allowClassicOperations,omitempty"` // The list of authorizations. Authorizations []*ExpressRouteCircuitAuthorization `json:"authorizations,omitempty"` // The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. BandwidthInGbps *float32 `json:"bandwidthInGbps,omitempty"` // The CircuitProvisioningState state of the resource. CircuitProvisioningState *string `json:"circuitProvisioningState,omitempty"` // The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource. ExpressRoutePort *SubResource `json:"expressRoutePort,omitempty"` // The GatewayManager Etag. GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` // Flag denoting global reach status. GlobalReachEnabled *bool `json:"globalReachEnabled,omitempty"` // The list of peerings. Peerings []*ExpressRouteCircuitPeering `json:"peerings,omitempty"` // The ServiceKey. ServiceKey *string `json:"serviceKey,omitempty"` // The ServiceProviderNotes. ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` // The ServiceProviderProperties. ServiceProviderProperties *ExpressRouteCircuitServiceProviderProperties `json:"serviceProviderProperties,omitempty"` // The ServiceProviderProvisioningState state of the resource. ServiceProviderProvisioningState *ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` // READ-ONLY; The provisioning state of the express route circuit resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The identifier of the circuit traffic. Outer tag for QinQ encapsulation. Stag *int32 `json:"stag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPropertiesFormat. func (e ExpressRouteCircuitPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "allowClassicOperations", e.AllowClassicOperations) populate(objectMap, "authorizations", e.Authorizations) populate(objectMap, "bandwidthInGbps", e.BandwidthInGbps) populate(objectMap, "circuitProvisioningState", e.CircuitProvisioningState) populate(objectMap, "expressRoutePort", e.ExpressRoutePort) populate(objectMap, "gatewayManagerEtag", e.GatewayManagerEtag) populate(objectMap, "globalReachEnabled", e.GlobalReachEnabled) populate(objectMap, "peerings", e.Peerings) populate(objectMap, "provisioningState", e.ProvisioningState) populate(objectMap, "serviceKey", e.ServiceKey) populate(objectMap, "serviceProviderNotes", e.ServiceProviderNotes) populate(objectMap, "serviceProviderProperties", e.ServiceProviderProperties) populate(objectMap, "serviceProviderProvisioningState", e.ServiceProviderProvisioningState) populate(objectMap, "stag", e.Stag) return json.Marshal(objectMap) } // ExpressRouteCircuitReference - Reference to an express route circuit. type ExpressRouteCircuitReference struct { // Corresponding Express Route Circuit Id. ID *string `json:"id,omitempty"` } // ExpressRouteCircuitRoutesTable - The routes table associated with the ExpressRouteCircuit. type ExpressRouteCircuitRoutesTable struct { // Local preference value as set with the set local-preference route-map configuration command. LocPrf *string `json:"locPrf,omitempty"` // IP address of a network entity. Network *string `json:"network,omitempty"` // NextHop address. NextHop *string `json:"nextHop,omitempty"` // Autonomous system paths to the destination network. Path *string `json:"path,omitempty"` // Route Weight. Weight *int32 `json:"weight,omitempty"` } // ExpressRouteCircuitRoutesTableSummary - The routes table associated with the ExpressRouteCircuit. type ExpressRouteCircuitRoutesTableSummary struct { // Autonomous system number. As *int32 `json:"as,omitempty"` // IP address of the neighbor. Neighbor *string `json:"neighbor,omitempty"` // Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. StatePfxRcd *string `json:"statePfxRcd,omitempty"` // The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. UpDown *string `json:"upDown,omitempty"` // BGP version number spoken to the neighbor. V *int32 `json:"v,omitempty"` } // ExpressRouteCircuitSKU - Contains SKU in an ExpressRouteCircuit. type ExpressRouteCircuitSKU struct { // The family of the SKU. Family *ExpressRouteCircuitSKUFamily `json:"family,omitempty"` // The name of the SKU. Name *string `json:"name,omitempty"` // The tier of the SKU. Tier *ExpressRouteCircuitSKUTier `json:"tier,omitempty"` } // ExpressRouteCircuitServiceProviderProperties - Contains ServiceProviderProperties in an ExpressRouteCircuit. type ExpressRouteCircuitServiceProviderProperties struct { // The BandwidthInMbps. BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` // The peering location. PeeringLocation *string `json:"peeringLocation,omitempty"` // The serviceProviderName. ServiceProviderName *string `json:"serviceProviderName,omitempty"` } // ExpressRouteCircuitStats - Contains stats associated with the peering. type ExpressRouteCircuitStats struct { // The Primary BytesIn of the peering. PrimarybytesIn *int64 `json:"primarybytesIn,omitempty"` // The primary BytesOut of the peering. PrimarybytesOut *int64 `json:"primarybytesOut,omitempty"` // The secondary BytesIn of the peering. SecondarybytesIn *int64 `json:"secondarybytesIn,omitempty"` // The secondary BytesOut of the peering. SecondarybytesOut *int64 `json:"secondarybytesOut,omitempty"` } // ExpressRouteCircuitsArpTableListResult - Response for ListArpTable associated with the Express Route Circuits API. type ExpressRouteCircuitsArpTableListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of the ARP tables. Value []*ExpressRouteCircuitArpTable `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsArpTableListResult. func (e ExpressRouteCircuitsArpTableListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCircuitsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuits.BeginCreateOrUpdate method. type ExpressRouteCircuitsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuits.BeginDelete method. type ExpressRouteCircuitsBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsBeginListArpTableOptions contains the optional parameters for the ExpressRouteCircuits.BeginListArpTable method. type ExpressRouteCircuitsBeginListArpTableOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsBeginListRoutesTableOptions contains the optional parameters for the ExpressRouteCircuits.BeginListRoutesTable method. type ExpressRouteCircuitsBeginListRoutesTableOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsBeginListRoutesTableSummaryOptions contains the optional parameters for the ExpressRouteCircuits.BeginListRoutesTableSummary method. type ExpressRouteCircuitsBeginListRoutesTableSummaryOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsGetOptions contains the optional parameters for the ExpressRouteCircuits.Get method. type ExpressRouteCircuitsGetOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsGetPeeringStatsOptions contains the optional parameters for the ExpressRouteCircuits.GetPeeringStats method. type ExpressRouteCircuitsGetPeeringStatsOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsGetStatsOptions contains the optional parameters for the ExpressRouteCircuits.GetStats method. type ExpressRouteCircuitsGetStatsOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsListAllOptions contains the optional parameters for the ExpressRouteCircuits.ListAll method. type ExpressRouteCircuitsListAllOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsListOptions contains the optional parameters for the ExpressRouteCircuits.List method. type ExpressRouteCircuitsListOptions struct { // placeholder for future optional parameters } // ExpressRouteCircuitsRoutesTableListResult - Response for ListRoutesTable associated with the Express Route Circuits API. type ExpressRouteCircuitsRoutesTableListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The list of routes table. Value []*ExpressRouteCircuitRoutesTable `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsRoutesTableListResult. func (e ExpressRouteCircuitsRoutesTableListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCircuitsRoutesTableSummaryListResult - Response for ListRoutesTable associated with the Express Route Circuits API. type ExpressRouteCircuitsRoutesTableSummaryListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of the routes table. Value []*ExpressRouteCircuitRoutesTableSummary `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsRoutesTableSummaryListResult. func (e ExpressRouteCircuitsRoutesTableSummaryListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCircuitsUpdateTagsOptions contains the optional parameters for the ExpressRouteCircuits.UpdateTags method. type ExpressRouteCircuitsUpdateTagsOptions struct { // placeholder for future optional parameters } // ExpressRouteConnection resource. type ExpressRouteConnection struct { SubResource // REQUIRED; The name of the resource. Name *string `json:"name,omitempty"` // Properties of the express route connection. Properties *ExpressRouteConnectionProperties `json:"properties,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnection. func (e ExpressRouteConnection) MarshalJSON() ([]byte, error) { objectMap := e.SubResource.marshalInternal() populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRouteConnectionID - The ID of the ExpressRouteConnection. type ExpressRouteConnectionID struct { // READ-ONLY; The ID of the ExpressRouteConnection. ID *string `json:"id,omitempty" azure:"ro"` } // ExpressRouteConnectionList - ExpressRouteConnection list. type ExpressRouteConnectionList struct { // The list of ExpressRoute connections. Value []*ExpressRouteConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnectionList. func (e ExpressRouteConnectionList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteConnectionProperties - Properties of the ExpressRouteConnection subresource. type ExpressRouteConnectionProperties struct { // REQUIRED; The ExpressRoute circuit peering. ExpressRouteCircuitPeering *ExpressRouteCircuitPeeringID `json:"expressRouteCircuitPeering,omitempty"` // Authorization key to establish the connection. AuthorizationKey *string `json:"authorizationKey,omitempty"` // Enable internet security. EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` // Enable FastPath to vWan Firewall hub. ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` // The Routing Configuration indicating the associated and propagated route tables on this connection. RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` // The routing weight associated to the connection. RoutingWeight *int32 `json:"routingWeight,omitempty"` // READ-ONLY; The provisioning state of the express route connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ExpressRouteConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteConnections.BeginCreateOrUpdate method. type ExpressRouteConnectionsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteConnectionsBeginDeleteOptions contains the optional parameters for the ExpressRouteConnections.BeginDelete method. type ExpressRouteConnectionsBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRouteConnectionsGetOptions contains the optional parameters for the ExpressRouteConnections.Get method. type ExpressRouteConnectionsGetOptions struct { // placeholder for future optional parameters } // ExpressRouteConnectionsListOptions contains the optional parameters for the ExpressRouteConnections.List method. type ExpressRouteConnectionsListOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnection resource. type ExpressRouteCrossConnection struct { Resource // Properties of the express route cross connection. Properties *ExpressRouteCrossConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnection. func (e ExpressRouteCrossConnection) MarshalJSON() ([]byte, error) { objectMap := e.Resource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRouteCrossConnectionListResult - Response for ListExpressRouteCrossConnection API service call. type ExpressRouteCrossConnectionListResult struct { // A list of ExpressRouteCrossConnection resources. Value []*ExpressRouteCrossConnection `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionListResult. func (e ExpressRouteCrossConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCrossConnectionPeering - Peering in an ExpressRoute Cross Connection resource. type ExpressRouteCrossConnectionPeering struct { SubResource // The 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"` // Properties of the express route cross connection peering. Properties *ExpressRouteCrossConnectionPeeringProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionPeering. func (e ExpressRouteCrossConnectionPeering) MarshalJSON() ([]byte, error) { objectMap := e.SubResource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRouteCrossConnectionPeeringList - Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. type ExpressRouteCrossConnectionPeeringList struct { // The peerings in an express route cross connection. Value []*ExpressRouteCrossConnectionPeering `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionPeeringList. func (e ExpressRouteCrossConnectionPeeringList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCrossConnectionPeeringProperties - Properties of express route cross connection peering. type ExpressRouteCrossConnectionPeeringProperties struct { // The GatewayManager Etag. GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` // The IPv6 peering configuration. IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` // The Microsoft peering configuration. MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` // The peer ASN. PeerASN *int64 `json:"peerASN,omitempty"` // The peering type. PeeringType *ExpressRoutePeeringType `json:"peeringType,omitempty"` // The primary address prefix. PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` // The secondary address prefix. SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` // The shared key. SharedKey *string `json:"sharedKey,omitempty"` // The peering state. State *ExpressRoutePeeringState `json:"state,omitempty"` // The VLAN ID. VlanID *int32 `json:"vlanId,omitempty"` // READ-ONLY; The Azure ASN. AzureASN *int32 `json:"azureASN,omitempty" azure:"ro"` // READ-ONLY; Who was the last to modify the peering. LastModifiedBy *string `json:"lastModifiedBy,omitempty" azure:"ro"` // READ-ONLY; The primary port. PrimaryAzurePort *string `json:"primaryAzurePort,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route cross connection peering resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The secondary port. SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty" azure:"ro"` } // ExpressRouteCrossConnectionPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.BeginCreateOrUpdate // method. type ExpressRouteCrossConnectionPeeringsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionPeeringsBeginDeleteOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.BeginDelete method. type ExpressRouteCrossConnectionPeeringsBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionPeeringsGetOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.Get method. type ExpressRouteCrossConnectionPeeringsGetOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionPeeringsListOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.List method. type ExpressRouteCrossConnectionPeeringsListOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionProperties - Properties of ExpressRouteCrossConnection. type ExpressRouteCrossConnectionProperties struct { // The ExpressRouteCircuit. ExpressRouteCircuit *ExpressRouteCircuitReference `json:"expressRouteCircuit,omitempty"` // The list of peerings. Peerings []*ExpressRouteCrossConnectionPeering `json:"peerings,omitempty"` // Additional read only notes set by the connectivity provider. ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` // The provisioning state of the circuit in the connectivity provider system. ServiceProviderProvisioningState *ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` // READ-ONLY; The circuit bandwidth In Mbps. BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty" azure:"ro"` // READ-ONLY; The peering location of the ExpressRoute circuit. PeeringLocation *string `json:"peeringLocation,omitempty" azure:"ro"` // READ-ONLY; The name of the primary port. PrimaryAzurePort *string `json:"primaryAzurePort,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route cross connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The identifier of the circuit traffic. STag *int32 `json:"sTag,omitempty" azure:"ro"` // READ-ONLY; The name of the secondary port. SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionProperties. func (e ExpressRouteCrossConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "bandwidthInMbps", e.BandwidthInMbps) populate(objectMap, "expressRouteCircuit", e.ExpressRouteCircuit) populate(objectMap, "peeringLocation", e.PeeringLocation) populate(objectMap, "peerings", e.Peerings) populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) populate(objectMap, "provisioningState", e.ProvisioningState) populate(objectMap, "sTag", e.STag) populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) populate(objectMap, "serviceProviderNotes", e.ServiceProviderNotes) populate(objectMap, "serviceProviderProvisioningState", e.ServiceProviderProvisioningState) return json.Marshal(objectMap) } // ExpressRouteCrossConnectionRoutesTableSummary - The routes table associated with the ExpressRouteCircuit. type ExpressRouteCrossConnectionRoutesTableSummary struct { // Autonomous system number. Asn *int32 `json:"asn,omitempty"` // IP address of Neighbor router. Neighbor *string `json:"neighbor,omitempty"` // Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. StateOrPrefixesReceived *string `json:"stateOrPrefixesReceived,omitempty"` // The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. UpDown *string `json:"upDown,omitempty"` } // ExpressRouteCrossConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginCreateOrUpdate method. type ExpressRouteCrossConnectionsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionsBeginListArpTableOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListArpTable method. type ExpressRouteCrossConnectionsBeginListArpTableOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionsBeginListRoutesTableOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListRoutesTable method. type ExpressRouteCrossConnectionsBeginListRoutesTableOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionsBeginListRoutesTableSummaryOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListRoutesTableSummary // method. type ExpressRouteCrossConnectionsBeginListRoutesTableSummaryOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionsGetOptions contains the optional parameters for the ExpressRouteCrossConnections.Get method. type ExpressRouteCrossConnectionsGetOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionsListByResourceGroupOptions contains the optional parameters for the ExpressRouteCrossConnections.ListByResourceGroup method. type ExpressRouteCrossConnectionsListByResourceGroupOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionsListOptions contains the optional parameters for the ExpressRouteCrossConnections.List method. type ExpressRouteCrossConnectionsListOptions struct { // placeholder for future optional parameters } // ExpressRouteCrossConnectionsRoutesTableSummaryListResult - Response for ListRoutesTable associated with the Express Route Cross Connections. type ExpressRouteCrossConnectionsRoutesTableSummaryListResult struct { // A list of the routes table. Value []*ExpressRouteCrossConnectionRoutesTableSummary `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionsRoutesTableSummaryListResult. func (e ExpressRouteCrossConnectionsRoutesTableSummaryListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteCrossConnectionsUpdateTagsOptions contains the optional parameters for the ExpressRouteCrossConnections.UpdateTags method. type ExpressRouteCrossConnectionsUpdateTagsOptions struct { // placeholder for future optional parameters } // ExpressRouteGateway - ExpressRoute gateway resource. type ExpressRouteGateway struct { Resource // Properties of the express route gateway. Properties *ExpressRouteGatewayProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGateway. func (e ExpressRouteGateway) MarshalJSON() ([]byte, error) { objectMap := e.Resource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRouteGatewayList - List of ExpressRoute gateways. type ExpressRouteGatewayList struct { // List of ExpressRoute gateways. Value []*ExpressRouteGateway `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayList. func (e ExpressRouteGatewayList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteGatewayProperties - ExpressRoute gateway resource properties. type ExpressRouteGatewayProperties struct { // REQUIRED; The Virtual Hub where the ExpressRoute gateway is or will be deployed. VirtualHub *VirtualHubID `json:"virtualHub,omitempty"` // Configuration for auto scaling. AutoScaleConfiguration *ExpressRouteGatewayPropertiesAutoScaleConfiguration `json:"autoScaleConfiguration,omitempty"` // READ-ONLY; List of ExpressRoute connections to the ExpressRoute gateway. ExpressRouteConnections []*ExpressRouteConnection `json:"expressRouteConnections,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route gateway resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayProperties. func (e ExpressRouteGatewayProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "autoScaleConfiguration", e.AutoScaleConfiguration) populate(objectMap, "expressRouteConnections", e.ExpressRouteConnections) populate(objectMap, "provisioningState", e.ProvisioningState) populate(objectMap, "virtualHub", e.VirtualHub) return json.Marshal(objectMap) } // ExpressRouteGatewayPropertiesAutoScaleConfiguration - Configuration for auto scaling. type ExpressRouteGatewayPropertiesAutoScaleConfiguration struct { // Minimum and maximum number of scale units to deploy. Bounds *ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds `json:"bounds,omitempty"` } // ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - Minimum and maximum number of scale units to deploy. type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds struct { // Maximum number of scale units deployed for ExpressRoute gateway. Max *int32 `json:"max,omitempty"` // Minimum number of scale units deployed for ExpressRoute gateway. Min *int32 `json:"min,omitempty"` } // ExpressRouteGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteGateways.BeginCreateOrUpdate method. type ExpressRouteGatewaysBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRouteGatewaysBeginDeleteOptions contains the optional parameters for the ExpressRouteGateways.BeginDelete method. type ExpressRouteGatewaysBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRouteGatewaysBeginUpdateTagsOptions contains the optional parameters for the ExpressRouteGateways.BeginUpdateTags method. type ExpressRouteGatewaysBeginUpdateTagsOptions struct { // placeholder for future optional parameters } // ExpressRouteGatewaysGetOptions contains the optional parameters for the ExpressRouteGateways.Get method. type ExpressRouteGatewaysGetOptions struct { // placeholder for future optional parameters } // ExpressRouteGatewaysListByResourceGroupOptions contains the optional parameters for the ExpressRouteGateways.ListByResourceGroup method. type ExpressRouteGatewaysListByResourceGroupOptions struct { // placeholder for future optional parameters } // ExpressRouteGatewaysListBySubscriptionOptions contains the optional parameters for the ExpressRouteGateways.ListBySubscription method. type ExpressRouteGatewaysListBySubscriptionOptions struct { // placeholder for future optional parameters } // ExpressRouteLink child resource definition. type ExpressRouteLink struct { SubResource // Name of child port resource that is unique among child port resources of the parent. Name *string `json:"name,omitempty"` // ExpressRouteLink properties. Properties *ExpressRouteLinkPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteLink. func (e ExpressRouteLink) MarshalJSON() ([]byte, error) { objectMap := e.SubResource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRouteLinkListResult - Response for ListExpressRouteLinks API service call. type ExpressRouteLinkListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The list of ExpressRouteLink sub-resources. Value []*ExpressRouteLink `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteLinkListResult. func (e ExpressRouteLinkListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteLinkMacSecConfig - ExpressRouteLink Mac Security Configuration. type ExpressRouteLinkMacSecConfig struct { // Keyvault Secret Identifier URL containing Mac security CAK key. CakSecretIdentifier *string `json:"cakSecretIdentifier,omitempty"` // Mac security cipher. Cipher *ExpressRouteLinkMacSecCipher `json:"cipher,omitempty"` // Keyvault Secret Identifier URL containing Mac security CKN key. CknSecretIdentifier *string `json:"cknSecretIdentifier,omitempty"` // Sci mode enabled/disabled. SciState *ExpressRouteLinkMacSecSciState `json:"sciState,omitempty"` } // ExpressRouteLinkPropertiesFormat - Properties specific to ExpressRouteLink resources. type ExpressRouteLinkPropertiesFormat struct { // Administrative state of the physical port. AdminState *ExpressRouteLinkAdminState `json:"adminState,omitempty"` // MacSec configuration. MacSecConfig *ExpressRouteLinkMacSecConfig `json:"macSecConfig,omitempty"` // READ-ONLY; Physical fiber port type. ConnectorType *ExpressRouteLinkConnectorType `json:"connectorType,omitempty" azure:"ro"` // READ-ONLY; Name of Azure router interface. InterfaceName *string `json:"interfaceName,omitempty" azure:"ro"` // READ-ONLY; Mapping between physical port to patch panel port. PatchPanelID *string `json:"patchPanelId,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route link resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; Mapping of physical patch panel to rack. RackID *string `json:"rackId,omitempty" azure:"ro"` // READ-ONLY; Name of Azure router associated with physical port. RouterName *string `json:"routerName,omitempty" azure:"ro"` } // ExpressRouteLinksGetOptions contains the optional parameters for the ExpressRouteLinks.Get method. type ExpressRouteLinksGetOptions struct { // placeholder for future optional parameters } // ExpressRouteLinksListOptions contains the optional parameters for the ExpressRouteLinks.List method. type ExpressRouteLinksListOptions struct { // placeholder for future optional parameters } // ExpressRoutePort resource definition. type ExpressRoutePort struct { Resource // The identity of ExpressRoutePort, if configured. Identity *ManagedServiceIdentity `json:"identity,omitempty"` // ExpressRoutePort properties. Properties *ExpressRoutePortPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePort. func (e ExpressRoutePort) MarshalJSON() ([]byte, error) { objectMap := e.Resource.marshalInternal() populate(objectMap, "etag", e.Etag) populate(objectMap, "identity", e.Identity) populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRoutePortListResult - Response for ListExpressRoutePorts API service call. type ExpressRoutePortListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of ExpressRoutePort resources. Value []*ExpressRoutePort `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortListResult. func (e ExpressRoutePortListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRoutePortPropertiesFormat - Properties specific to ExpressRoutePort resources. type ExpressRoutePortPropertiesFormat struct { // Bandwidth of procured ports in Gbps. BandwidthInGbps *int32 `json:"bandwidthInGbps,omitempty"` // Encapsulation method on physical ports. Encapsulation *ExpressRoutePortsEncapsulation `json:"encapsulation,omitempty"` // The set of physical links of the ExpressRoutePort resource. Links []*ExpressRouteLink `json:"links,omitempty"` // The name of the peering location that the ExpressRoutePort is mapped to physically. PeeringLocation *string `json:"peeringLocation,omitempty"` // READ-ONLY; Date of the physical port allocation to be used in Letter of Authorization. AllocationDate *string `json:"allocationDate,omitempty" azure:"ro"` // READ-ONLY; Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource. Circuits []*SubResource `json:"circuits,omitempty" azure:"ro"` // READ-ONLY; Ether type of the physical port. EtherType *string `json:"etherType,omitempty" azure:"ro"` // READ-ONLY; Maximum transmission unit of the physical port pair(s). Mtu *string `json:"mtu,omitempty" azure:"ro"` // READ-ONLY; Aggregate Gbps of associated circuit bandwidths. ProvisionedBandwidthInGbps *float32 `json:"provisionedBandwidthInGbps,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route port resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the express route port resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortPropertiesFormat. func (e ExpressRoutePortPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "allocationDate", e.AllocationDate) populate(objectMap, "bandwidthInGbps", e.BandwidthInGbps) populate(objectMap, "circuits", e.Circuits) populate(objectMap, "encapsulation", e.Encapsulation) populate(objectMap, "etherType", e.EtherType) populate(objectMap, "links", e.Links) populate(objectMap, "mtu", e.Mtu) populate(objectMap, "peeringLocation", e.PeeringLocation) populate(objectMap, "provisionedBandwidthInGbps", e.ProvisionedBandwidthInGbps) populate(objectMap, "provisioningState", e.ProvisioningState) populate(objectMap, "resourceGuid", e.ResourceGUID) return json.Marshal(objectMap) } // ExpressRoutePortsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRoutePorts.BeginCreateOrUpdate method. type ExpressRoutePortsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsBeginDeleteOptions contains the optional parameters for the ExpressRoutePorts.BeginDelete method. type ExpressRoutePortsBeginDeleteOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsGenerateLOAOptions contains the optional parameters for the ExpressRoutePorts.GenerateLOA method. type ExpressRoutePortsGenerateLOAOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsGetOptions contains the optional parameters for the ExpressRoutePorts.Get method. type ExpressRoutePortsGetOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsListByResourceGroupOptions contains the optional parameters for the ExpressRoutePorts.ListByResourceGroup method. type ExpressRoutePortsListByResourceGroupOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsListOptions contains the optional parameters for the ExpressRoutePorts.List method. type ExpressRoutePortsListOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsLocation - Definition of the ExpressRoutePorts peering location resource. type ExpressRoutePortsLocation struct { Resource // ExpressRoutePort peering location properties. Properties *ExpressRoutePortsLocationPropertiesFormat `json:"properties,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocation. func (e ExpressRoutePortsLocation) MarshalJSON() ([]byte, error) { objectMap := e.Resource.marshalInternal() populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRoutePortsLocationBandwidths - Real-time inventory of available ExpressRoute port bandwidths. type ExpressRoutePortsLocationBandwidths struct { // READ-ONLY; Bandwidth descriptive name. OfferName *string `json:"offerName,omitempty" azure:"ro"` // READ-ONLY; Bandwidth value in Gbps. ValueInGbps *int32 `json:"valueInGbps,omitempty" azure:"ro"` } // ExpressRoutePortsLocationListResult - Response for ListExpressRoutePortsLocations API service call. type ExpressRoutePortsLocationListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The list of all ExpressRoutePort peering locations. Value []*ExpressRoutePortsLocation `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocationListResult. func (e ExpressRoutePortsLocationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRoutePortsLocationPropertiesFormat - Properties specific to ExpressRoutePorts peering location resources. type ExpressRoutePortsLocationPropertiesFormat struct { // The inventory of available ExpressRoutePort bandwidths. AvailableBandwidths []*ExpressRoutePortsLocationBandwidths `json:"availableBandwidths,omitempty"` // READ-ONLY; Address of peering location. Address *string `json:"address,omitempty" azure:"ro"` // READ-ONLY; Contact details of peering locations. Contact *string `json:"contact,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the express route port location resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocationPropertiesFormat. func (e ExpressRoutePortsLocationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "address", e.Address) populate(objectMap, "availableBandwidths", e.AvailableBandwidths) populate(objectMap, "contact", e.Contact) populate(objectMap, "provisioningState", e.ProvisioningState) return json.Marshal(objectMap) } // ExpressRoutePortsLocationsGetOptions contains the optional parameters for the ExpressRoutePortsLocations.Get method. type ExpressRoutePortsLocationsGetOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsLocationsListOptions contains the optional parameters for the ExpressRoutePortsLocations.List method. type ExpressRoutePortsLocationsListOptions struct { // placeholder for future optional parameters } // ExpressRoutePortsUpdateTagsOptions contains the optional parameters for the ExpressRoutePorts.UpdateTags method. type ExpressRoutePortsUpdateTagsOptions struct { // placeholder for future optional parameters } // ExpressRouteServiceProvider - A ExpressRouteResourceProvider object. type ExpressRouteServiceProvider struct { Resource // Properties of the express route service provider. Properties *ExpressRouteServiceProviderPropertiesFormat `json:"properties,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProvider. func (e ExpressRouteServiceProvider) MarshalJSON() ([]byte, error) { objectMap := e.Resource.marshalInternal() populate(objectMap, "properties", e.Properties) return json.Marshal(objectMap) } // ExpressRouteServiceProviderBandwidthsOffered - Contains bandwidths offered in ExpressRouteServiceProvider resources. type ExpressRouteServiceProviderBandwidthsOffered struct { // The OfferName. OfferName *string `json:"offerName,omitempty"` // The ValueInMbps. ValueInMbps *int32 `json:"valueInMbps,omitempty"` } // ExpressRouteServiceProviderListResult - Response for the ListExpressRouteServiceProvider API service call. type ExpressRouteServiceProviderListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of ExpressRouteResourceProvider resources. Value []*ExpressRouteServiceProvider `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProviderListResult. func (e ExpressRouteServiceProviderListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", e.NextLink) populate(objectMap, "value", e.Value) return json.Marshal(objectMap) } // ExpressRouteServiceProviderPropertiesFormat - Properties of ExpressRouteServiceProvider. type ExpressRouteServiceProviderPropertiesFormat struct { // A list of bandwidths offered. BandwidthsOffered []*ExpressRouteServiceProviderBandwidthsOffered `json:"bandwidthsOffered,omitempty"` // A list of peering locations. PeeringLocations []*string `json:"peeringLocations,omitempty"` // READ-ONLY; The provisioning state of the express route service provider resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProviderPropertiesFormat. func (e ExpressRouteServiceProviderPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "bandwidthsOffered", e.BandwidthsOffered) populate(objectMap, "peeringLocations", e.PeeringLocations) populate(objectMap, "provisioningState", e.ProvisioningState) return json.Marshal(objectMap) } // ExpressRouteServiceProvidersListOptions contains the optional parameters for the ExpressRouteServiceProviders.List method. type ExpressRouteServiceProvidersListOptions struct { // placeholder for future optional parameters } // ExtendedLocation complex type. type ExtendedLocation struct { // The name of the extended location. Name *string `json:"name,omitempty"` // The type of the extended location. Type *ExtendedLocationTypes `json:"type,omitempty"` } // FirewallPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the FirewallPolicies.BeginCreateOrUpdate method. type FirewallPoliciesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // FirewallPoliciesBeginDeleteOptions contains the optional parameters for the FirewallPolicies.BeginDelete method. type FirewallPoliciesBeginDeleteOptions struct { // placeholder for future optional parameters } // FirewallPoliciesGetOptions contains the optional parameters for the FirewallPolicies.Get method. type FirewallPoliciesGetOptions struct { // Expands referenced resources. Expand *string } // FirewallPoliciesListAllOptions contains the optional parameters for the FirewallPolicies.ListAll method. type FirewallPoliciesListAllOptions struct { // placeholder for future optional parameters } // FirewallPoliciesListOptions contains the optional parameters for the FirewallPolicies.List method. type FirewallPoliciesListOptions struct { // placeholder for future optional parameters } // FirewallPolicy Resource. type FirewallPolicy struct { Resource // The identity of the firewall policy. Identity *ManagedServiceIdentity `json:"identity,omitempty"` // Properties of the firewall policy. Properties *FirewallPolicyPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicy. func (f FirewallPolicy) MarshalJSON() ([]byte, error) { objectMap := f.Resource.marshalInternal() populate(objectMap, "etag", f.Etag) populate(objectMap, "identity", f.Identity) populate(objectMap, "properties", f.Properties) return json.Marshal(objectMap) } // FirewallPolicyCertificateAuthority - Trusted Root certificates properties for tls. type FirewallPolicyCertificateAuthority struct { // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` // Name of the CA certificate. Name *string `json:"name,omitempty"` } // FirewallPolicyFilterRuleCollection - Firewall Policy Filter Rule Collection. type FirewallPolicyFilterRuleCollection struct { FirewallPolicyRuleCollection // The action type of a Filter rule collection. Action *FirewallPolicyFilterRuleCollectionAction `json:"action,omitempty"` // List of rules included in a rule collection. Rules []FirewallPolicyRuleClassification `json:"rules,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyFilterRuleCollection. func (f FirewallPolicyFilterRuleCollection) MarshalJSON() ([]byte, error) { objectMap := f.FirewallPolicyRuleCollection.marshalInternal(FirewallPolicyRuleCollectionTypeFirewallPolicyFilterRuleCollection) populate(objectMap, "action", f.Action) populate(objectMap, "rules", f.Rules) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyFilterRuleCollection. func (f *FirewallPolicyFilterRuleCollection) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "action": err = unpopulate(val, &f.Action) delete(rawMsg, key) case "rules": f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(val) delete(rawMsg, key) } if err != nil { return err } } return f.FirewallPolicyRuleCollection.unmarshalInternal(rawMsg) } // FirewallPolicyFilterRuleCollectionAction - Properties of the FirewallPolicyFilterRuleCollectionAction. type FirewallPolicyFilterRuleCollectionAction struct { // The type of action. Type *FirewallPolicyFilterRuleCollectionActionType `json:"type,omitempty"` } // FirewallPolicyInsights - Firewall Policy Insights. type FirewallPolicyInsights struct { // A flag to indicate if the insights are enabled on the policy. IsEnabled *bool `json:"isEnabled,omitempty"` // Workspaces needed to configure the Firewall Policy Insights. LogAnalyticsResources *FirewallPolicyLogAnalyticsResources `json:"logAnalyticsResources,omitempty"` // Number of days the insights should be enabled on the policy. RetentionDays *int32 `json:"retentionDays,omitempty"` } // FirewallPolicyIntrusionDetection - Configuration for intrusion detection mode and rules. type FirewallPolicyIntrusionDetection struct { // Intrusion detection configuration properties. Configuration *FirewallPolicyIntrusionDetectionConfiguration `json:"configuration,omitempty"` // Intrusion detection general state. Mode *FirewallPolicyIntrusionDetectionStateType `json:"mode,omitempty"` } // FirewallPolicyIntrusionDetectionBypassTrafficSpecifications - Intrusion detection bypass traffic specification. type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications struct { // Description of the bypass traffic rule. Description *string `json:"description,omitempty"` // List of destination IP addresses or ranges for this rule. DestinationAddresses []*string `json:"destinationAddresses,omitempty"` // List of destination IpGroups for this rule. DestinationIPGroups []*string `json:"destinationIpGroups,omitempty"` // List of destination ports or ranges. DestinationPorts []*string `json:"destinationPorts,omitempty"` // Name of the bypass traffic rule. Name *string `json:"name,omitempty"` // The rule bypass protocol. Protocol *FirewallPolicyIntrusionDetectionProtocol `json:"protocol,omitempty"` // List of source IP addresses or ranges for this rule. SourceAddresses []*string `json:"sourceAddresses,omitempty"` // List of source IpGroups for this rule. SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications. func (f FirewallPolicyIntrusionDetectionBypassTrafficSpecifications) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "description", f.Description) populate(objectMap, "destinationAddresses", f.DestinationAddresses) populate(objectMap, "destinationIpGroups", f.DestinationIPGroups) populate(objectMap, "destinationPorts", f.DestinationPorts) populate(objectMap, "name", f.Name) populate(objectMap, "protocol", f.Protocol) populate(objectMap, "sourceAddresses", f.SourceAddresses) populate(objectMap, "sourceIpGroups", f.SourceIPGroups) return json.Marshal(objectMap) } // FirewallPolicyIntrusionDetectionConfiguration - The operation for configuring intrusion detection. type FirewallPolicyIntrusionDetectionConfiguration struct { // List of rules for traffic to bypass. BypassTrafficSettings []*FirewallPolicyIntrusionDetectionBypassTrafficSpecifications `json:"bypassTrafficSettings,omitempty"` // List of specific signatures states. SignatureOverrides []*FirewallPolicyIntrusionDetectionSignatureSpecification `json:"signatureOverrides,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetectionConfiguration. func (f FirewallPolicyIntrusionDetectionConfiguration) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "bypassTrafficSettings", f.BypassTrafficSettings) populate(objectMap, "signatureOverrides", f.SignatureOverrides) return json.Marshal(objectMap) } // FirewallPolicyIntrusionDetectionSignatureSpecification - Intrusion detection signatures specification states. type FirewallPolicyIntrusionDetectionSignatureSpecification struct { // Signature id. ID *string `json:"id,omitempty"` // The signature state. Mode *FirewallPolicyIntrusionDetectionStateType `json:"mode,omitempty"` } // FirewallPolicyListResult - Response for ListFirewallPolicies API service call. type FirewallPolicyListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Firewall Policies in a resource group. Value []*FirewallPolicy `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyListResult. func (f FirewallPolicyListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", f.NextLink) populate(objectMap, "value", f.Value) return json.Marshal(objectMap) } // FirewallPolicyLogAnalyticsResources - Log Analytics Resources for Firewall Policy Insights. type FirewallPolicyLogAnalyticsResources struct { // The default workspace Id for Firewall Policy Insights. DefaultWorkspaceID *SubResource `json:"defaultWorkspaceId,omitempty"` // List of workspaces for Firewall Policy Insights. Workspaces []*FirewallPolicyLogAnalyticsWorkspace `json:"workspaces,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyLogAnalyticsResources. func (f FirewallPolicyLogAnalyticsResources) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "defaultWorkspaceId", f.DefaultWorkspaceID) populate(objectMap, "workspaces", f.Workspaces) return json.Marshal(objectMap) } // FirewallPolicyLogAnalyticsWorkspace - Log Analytics Workspace for Firewall Policy Insights. type FirewallPolicyLogAnalyticsWorkspace struct { // Region to configure the Workspace. Region *string `json:"region,omitempty"` // The workspace Id for Firewall Policy Insights. WorkspaceID *SubResource `json:"workspaceId,omitempty"` } // FirewallPolicyNatRuleCollection - Firewall Policy NAT Rule Collection. type FirewallPolicyNatRuleCollection struct { FirewallPolicyRuleCollection // The action type of a Nat rule collection. Action *FirewallPolicyNatRuleCollectionAction `json:"action,omitempty"` // List of rules included in a rule collection. Rules []FirewallPolicyRuleClassification `json:"rules,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyNatRuleCollection. func (f FirewallPolicyNatRuleCollection) MarshalJSON() ([]byte, error) { objectMap := f.FirewallPolicyRuleCollection.marshalInternal(FirewallPolicyRuleCollectionTypeFirewallPolicyNatRuleCollection) populate(objectMap, "action", f.Action) populate(objectMap, "rules", f.Rules) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyNatRuleCollection. func (f *FirewallPolicyNatRuleCollection) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "action": err = unpopulate(val, &f.Action) delete(rawMsg, key) case "rules": f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(val) delete(rawMsg, key) } if err != nil { return err } } return f.FirewallPolicyRuleCollection.unmarshalInternal(rawMsg) } // FirewallPolicyNatRuleCollectionAction - Properties of the FirewallPolicyNatRuleCollectionAction. type FirewallPolicyNatRuleCollectionAction struct { // The type of action. Type *FirewallPolicyNatRuleCollectionActionType `json:"type,omitempty"` } // FirewallPolicyPropertiesFormat - Firewall Policy definition. type FirewallPolicyPropertiesFormat struct { // The parent firewall policy from which rules are inherited. BasePolicy *SubResource `json:"basePolicy,omitempty"` // DNS Proxy Settings definition. DNSSettings *DNSSettings `json:"dnsSettings,omitempty"` // Insights on Firewall Policy. Insights *FirewallPolicyInsights `json:"insights,omitempty"` // The configuration for Intrusion detection. IntrusionDetection *FirewallPolicyIntrusionDetection `json:"intrusionDetection,omitempty"` // The Firewall Policy SKU. SKU *FirewallPolicySKU `json:"sku,omitempty"` // The private IP addresses/IP ranges to which traffic will not be SNAT. Snat *FirewallPolicySNAT `json:"snat,omitempty"` // The operation mode for Threat Intelligence. ThreatIntelMode *AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` // ThreatIntel Whitelist for Firewall Policy. ThreatIntelWhitelist *FirewallPolicyThreatIntelWhitelist `json:"threatIntelWhitelist,omitempty"` // TLS Configuration definition. TransportSecurity *FirewallPolicyTransportSecurity `json:"transportSecurity,omitempty"` // READ-ONLY; List of references to Child Firewall Policies. ChildPolicies []*SubResource `json:"childPolicies,omitempty" azure:"ro"` // READ-ONLY; List of references to Azure Firewalls that this Firewall Policy is associated with. Firewalls []*SubResource `json:"firewalls,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the firewall policy resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; List of references to FirewallPolicyRuleCollectionGroups. RuleCollectionGroups []*SubResource `json:"ruleCollectionGroups,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyPropertiesFormat. func (f FirewallPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "basePolicy", f.BasePolicy) populate(objectMap, "childPolicies", f.ChildPolicies) populate(objectMap, "dnsSettings", f.DNSSettings) populate(objectMap, "firewalls", f.Firewalls) populate(objectMap, "insights", f.Insights) populate(objectMap, "intrusionDetection", f.IntrusionDetection) populate(objectMap, "provisioningState", f.ProvisioningState) populate(objectMap, "ruleCollectionGroups", f.RuleCollectionGroups) populate(objectMap, "sku", f.SKU) populate(objectMap, "snat", f.Snat) populate(objectMap, "threatIntelMode", f.ThreatIntelMode) populate(objectMap, "threatIntelWhitelist", f.ThreatIntelWhitelist) populate(objectMap, "transportSecurity", f.TransportSecurity) return json.Marshal(objectMap) } // FirewallPolicyRuleClassification provides polymorphic access to related types. // Call the interface's GetFirewallPolicyRule() method to access the common type. // Use a type switch to determine the concrete type. The possible types are: // - *ApplicationRule, *FirewallPolicyRule, *NatRule, *NetworkRule type FirewallPolicyRuleClassification interface { // GetFirewallPolicyRule returns the FirewallPolicyRule content of the underlying type. GetFirewallPolicyRule() *FirewallPolicyRule } // FirewallPolicyRule - Properties of a rule. type FirewallPolicyRule struct { // REQUIRED; Rule Type. RuleType *FirewallPolicyRuleType `json:"ruleType,omitempty"` // Description of the rule. Description *string `json:"description,omitempty"` // Name of the rule. Name *string `json:"name,omitempty"` } // GetFirewallPolicyRule implements the FirewallPolicyRuleClassification interface for type FirewallPolicyRule. func (f *FirewallPolicyRule) GetFirewallPolicyRule() *FirewallPolicyRule { return f } // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRule. func (f *FirewallPolicyRule) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } return f.unmarshalInternal(rawMsg) } func (f FirewallPolicyRule) marshalInternal(discValue FirewallPolicyRuleType) map[string]interface{} { objectMap := make(map[string]interface{}) populate(objectMap, "description", f.Description) populate(objectMap, "name", f.Name) f.RuleType = &discValue objectMap["ruleType"] = f.RuleType return objectMap } func (f *FirewallPolicyRule) unmarshalInternal(rawMsg map[string]json.RawMessage) error { for key, val := range rawMsg { var err error switch key { case "description": err = unpopulate(val, &f.Description) delete(rawMsg, key) case "name": err = unpopulate(val, &f.Name) delete(rawMsg, key) case "ruleType": err = unpopulate(val, &f.RuleType) delete(rawMsg, key) } if err != nil { return err } } return nil } // FirewallPolicyRuleApplicationProtocol - Properties of the application rule protocol. type FirewallPolicyRuleApplicationProtocol struct { // Port number for the protocol, cannot be greater than 64000. Port *int32 `json:"port,omitempty"` // Protocol type. ProtocolType *FirewallPolicyRuleApplicationProtocolType `json:"protocolType,omitempty"` } // FirewallPolicyRuleCollectionClassification provides polymorphic access to related types. // Call the interface's GetFirewallPolicyRuleCollection() method to access the common type. // Use a type switch to determine the concrete type. The possible types are: // - *FirewallPolicyFilterRuleCollection, *FirewallPolicyNatRuleCollection, *FirewallPolicyRuleCollection type FirewallPolicyRuleCollectionClassification interface { // GetFirewallPolicyRuleCollection returns the FirewallPolicyRuleCollection content of the underlying type. GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection } // FirewallPolicyRuleCollection - Properties of the rule collection. type FirewallPolicyRuleCollection struct { // REQUIRED; The type of the rule collection. RuleCollectionType *FirewallPolicyRuleCollectionType `json:"ruleCollectionType,omitempty"` // The name of the rule collection. Name *string `json:"name,omitempty"` // Priority of the Firewall Policy Rule Collection resource. Priority *int32 `json:"priority,omitempty"` } // GetFirewallPolicyRuleCollection implements the FirewallPolicyRuleCollectionClassification interface for type FirewallPolicyRuleCollection. func (f *FirewallPolicyRuleCollection) GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection { return f } // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollection. func (f *FirewallPolicyRuleCollection) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } return f.unmarshalInternal(rawMsg) } func (f FirewallPolicyRuleCollection) marshalInternal(discValue FirewallPolicyRuleCollectionType) map[string]interface{} { objectMap := make(map[string]interface{}) populate(objectMap, "name", f.Name) populate(objectMap, "priority", f.Priority) f.RuleCollectionType = &discValue objectMap["ruleCollectionType"] = f.RuleCollectionType return objectMap } func (f *FirewallPolicyRuleCollection) unmarshalInternal(rawMsg map[string]json.RawMessage) error { for key, val := range rawMsg { var err error switch key { case "name": err = unpopulate(val, &f.Name) delete(rawMsg, key) case "priority": err = unpopulate(val, &f.Priority) delete(rawMsg, key) case "ruleCollectionType": err = unpopulate(val, &f.RuleCollectionType) delete(rawMsg, key) } if err != nil { return err } } return nil } // FirewallPolicyRuleCollectionGroup - Rule Collection Group resource. type FirewallPolicyRuleCollectionGroup struct { SubResource // The 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"` // The properties of the firewall policy rule collection group. Properties *FirewallPolicyRuleCollectionGroupProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Rule Group type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroup. func (f FirewallPolicyRuleCollectionGroup) MarshalJSON() ([]byte, error) { objectMap := f.SubResource.marshalInternal() populate(objectMap, "etag", f.Etag) populate(objectMap, "name", f.Name) populate(objectMap, "properties", f.Properties) populate(objectMap, "type", f.Type) return json.Marshal(objectMap) } // FirewallPolicyRuleCollectionGroupListResult - Response for ListFirewallPolicyRuleCollectionGroups API service call. type FirewallPolicyRuleCollectionGroupListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of FirewallPolicyRuleCollectionGroups in a FirewallPolicy. Value []*FirewallPolicyRuleCollectionGroup `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupListResult. func (f FirewallPolicyRuleCollectionGroupListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", f.NextLink) populate(objectMap, "value", f.Value) return json.Marshal(objectMap) } // FirewallPolicyRuleCollectionGroupProperties - Properties of the rule collection group. type FirewallPolicyRuleCollectionGroupProperties struct { // Priority of the Firewall Policy Rule Collection Group resource. Priority *int32 `json:"priority,omitempty"` // Group of Firewall Policy rule collections. RuleCollections []FirewallPolicyRuleCollectionClassification `json:"ruleCollections,omitempty"` // READ-ONLY; The provisioning state of the firewall policy rule collection group resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupProperties. func (f FirewallPolicyRuleCollectionGroupProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "priority", f.Priority) populate(objectMap, "provisioningState", f.ProvisioningState) populate(objectMap, "ruleCollections", f.RuleCollections) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroupProperties. func (f *FirewallPolicyRuleCollectionGroupProperties) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "priority": err = unpopulate(val, &f.Priority) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, &f.ProvisioningState) delete(rawMsg, key) case "ruleCollections": f.RuleCollections, err = unmarshalFirewallPolicyRuleCollectionClassificationArray(val) delete(rawMsg, key) } if err != nil { return err } } return nil } // FirewallPolicyRuleCollectionGroupsBeginCreateOrUpdateOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.BeginCreateOrUpdate // method. type FirewallPolicyRuleCollectionGroupsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // FirewallPolicyRuleCollectionGroupsBeginDeleteOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.BeginDelete method. type FirewallPolicyRuleCollectionGroupsBeginDeleteOptions struct { // placeholder for future optional parameters } // FirewallPolicyRuleCollectionGroupsGetOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.Get method. type FirewallPolicyRuleCollectionGroupsGetOptions struct { // placeholder for future optional parameters } // FirewallPolicyRuleCollectionGroupsListOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.List method. type FirewallPolicyRuleCollectionGroupsListOptions struct { // placeholder for future optional parameters } // FirewallPolicySKU - SKU of Firewall policy. type FirewallPolicySKU struct { // Tier of Firewall Policy. Tier *FirewallPolicySKUTier `json:"tier,omitempty"` } // FirewallPolicySNAT - The private IP addresses/IP ranges to which traffic will not be SNAT. type FirewallPolicySNAT struct { // List of private IP addresses/IP address ranges to not be SNAT. PrivateRanges []*string `json:"privateRanges,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicySNAT. func (f FirewallPolicySNAT) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "privateRanges", f.PrivateRanges) return json.Marshal(objectMap) } // FirewallPolicyThreatIntelWhitelist - ThreatIntel Whitelist for Firewall Policy. type FirewallPolicyThreatIntelWhitelist struct { // List of FQDNs for the ThreatIntel Whitelist. Fqdns []*string `json:"fqdns,omitempty"` // List of IP addresses for the ThreatIntel Whitelist. IPAddresses []*string `json:"ipAddresses,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyThreatIntelWhitelist. func (f FirewallPolicyThreatIntelWhitelist) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "fqdns", f.Fqdns) populate(objectMap, "ipAddresses", f.IPAddresses) return json.Marshal(objectMap) } // FirewallPolicyTransportSecurity - Configuration needed to perform TLS termination & initiation. type FirewallPolicyTransportSecurity struct { // The CA used for intermediate CA generation. CertificateAuthority *FirewallPolicyCertificateAuthority `json:"certificateAuthority,omitempty"` } // FlowLog - A flow log resource. type FlowLog struct { Resource // Properties of the flow log. Properties *FlowLogPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FlowLog. func (f FlowLog) MarshalJSON() ([]byte, error) { objectMap := f.Resource.marshalInternal() populate(objectMap, "etag", f.Etag) populate(objectMap, "properties", f.Properties) return json.Marshal(objectMap) } // FlowLogFormatParameters - Parameters that define the flow log format. type FlowLogFormatParameters struct { // The file type of flow log. Type *FlowLogFormatType `json:"type,omitempty"` // The version (revision) of the flow log. Version *int32 `json:"version,omitempty"` } // FlowLogInformation - Information on the configuration of flow log and traffic analytics (optional) . type FlowLogInformation struct { // REQUIRED; Properties of the flow log. Properties *FlowLogProperties `json:"properties,omitempty"` // REQUIRED; The ID of the resource to configure for flow log and traffic analytics (optional) . TargetResourceID *string `json:"targetResourceId,omitempty"` // Parameters that define the configuration of traffic analytics. FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` } // FlowLogListResult - List of flow logs. type FlowLogListResult struct { // Information about flow log resource. Value []*FlowLog `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FlowLogListResult. func (f FlowLogListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", f.NextLink) populate(objectMap, "value", f.Value) return json.Marshal(objectMap) } // FlowLogProperties - Parameters that define the configuration of flow log. type FlowLogProperties struct { // REQUIRED; Flag to enable/disable flow logging. Enabled *bool `json:"enabled,omitempty"` // REQUIRED; ID of the storage account which is used to store the flow log. StorageID *string `json:"storageId,omitempty"` // Parameters that define the flow log format. Format *FlowLogFormatParameters `json:"format,omitempty"` // Parameters that define the retention policy for flow log. RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` } // FlowLogPropertiesFormat - Parameters that define the configuration of flow log. type FlowLogPropertiesFormat struct { // REQUIRED; ID of the storage account which is used to store the flow log. StorageID *string `json:"storageId,omitempty"` // REQUIRED; ID of network security group to which flow log will be applied. TargetResourceID *string `json:"targetResourceId,omitempty"` // Flag to enable/disable flow logging. Enabled *bool `json:"enabled,omitempty"` // Parameters that define the configuration of traffic analytics. FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` // Parameters that define the flow log format. Format *FlowLogFormatParameters `json:"format,omitempty"` // Parameters that define the retention policy for flow log. RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` // READ-ONLY; The provisioning state of the flow log. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; Guid of network security group to which flow log will be applied. TargetResourceGUID *string `json:"targetResourceGuid,omitempty" azure:"ro"` } // FlowLogStatusParameters - Parameters that define a resource to query flow log and traffic analytics (optional) status. type FlowLogStatusParameters struct { // REQUIRED; The target resource where getting the flow log and traffic analytics (optional) status. TargetResourceID *string `json:"targetResourceId,omitempty"` } // FlowLogsBeginCreateOrUpdateOptions contains the optional parameters for the FlowLogs.BeginCreateOrUpdate method. type FlowLogsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // FlowLogsBeginDeleteOptions contains the optional parameters for the FlowLogs.BeginDelete method. type FlowLogsBeginDeleteOptions struct { // placeholder for future optional parameters } // FlowLogsGetOptions contains the optional parameters for the FlowLogs.Get method. type FlowLogsGetOptions struct { // placeholder for future optional parameters } // FlowLogsListOptions contains the optional parameters for the FlowLogs.List method. type FlowLogsListOptions struct { // placeholder for future optional parameters } // FlowLogsUpdateTagsOptions contains the optional parameters for the FlowLogs.UpdateTags method. type FlowLogsUpdateTagsOptions struct { // placeholder for future optional parameters } // FrontendIPConfiguration - Frontend IP address of the load balancer. type FrontendIPConfiguration struct { SubResource // The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of the load balancer probe. Properties *FrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` // A list of availability zones denoting the IP allocated for the resource needs to come from. Zones []*string `json:"zones,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FrontendIPConfiguration. func (f FrontendIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := f.SubResource.marshalInternal() populate(objectMap, "etag", f.Etag) populate(objectMap, "name", f.Name) populate(objectMap, "properties", f.Properties) populate(objectMap, "type", f.Type) populate(objectMap, "zones", f.Zones) return json.Marshal(objectMap) } // FrontendIPConfigurationPropertiesFormat - Properties of Frontend IP Configuration of the load balancer. type FrontendIPConfigurationPropertiesFormat struct { // The reference to gateway load balancer frontend IP. GatewayLoadBalancer *SubResource `json:"gatewayLoadBalancer,omitempty"` // The private IP address of the IP configuration. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` // The Private IP allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // The reference to the Public IP resource. PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` // The reference to the Public IP Prefix resource. PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` // The reference to the subnet resource. Subnet *Subnet `json:"subnet,omitempty"` // READ-ONLY; An array of references to inbound pools that use this frontend IP. InboundNatPools []*SubResource `json:"inboundNatPools,omitempty" azure:"ro"` // READ-ONLY; An array of references to inbound rules that use this frontend IP. InboundNatRules []*SubResource `json:"inboundNatRules,omitempty" azure:"ro"` // READ-ONLY; An array of references to load balancing rules that use this frontend IP. LoadBalancingRules []*SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` // READ-ONLY; An array of references to outbound rules that use this frontend IP. OutboundRules []*SubResource `json:"outboundRules,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the frontend IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type FrontendIPConfigurationPropertiesFormat. func (f FrontendIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "gatewayLoadBalancer", f.GatewayLoadBalancer) populate(objectMap, "inboundNatPools", f.InboundNatPools) populate(objectMap, "inboundNatRules", f.InboundNatRules) populate(objectMap, "loadBalancingRules", f.LoadBalancingRules) populate(objectMap, "outboundRules", f.OutboundRules) populate(objectMap, "privateIPAddress", f.PrivateIPAddress) populate(objectMap, "privateIPAddressVersion", f.PrivateIPAddressVersion) populate(objectMap, "privateIPAllocationMethod", f.PrivateIPAllocationMethod) populate(objectMap, "provisioningState", f.ProvisioningState) populate(objectMap, "publicIPAddress", f.PublicIPAddress) populate(objectMap, "publicIPPrefix", f.PublicIPPrefix) populate(objectMap, "subnet", f.Subnet) return json.Marshal(objectMap) } // GatewayLoadBalancerTunnelInterface - Gateway load balancer tunnel interface of a load balancer backend address pool. type GatewayLoadBalancerTunnelInterface struct { // Identifier of gateway load balancer tunnel interface. Identifier *int32 `json:"identifier,omitempty"` // Port of gateway load balancer tunnel interface. Port *int32 `json:"port,omitempty"` // Protocol of gateway load balancer tunnel interface. Protocol *GatewayLoadBalancerTunnelProtocol `json:"protocol,omitempty"` // Traffic type of gateway load balancer tunnel interface. Type *GatewayLoadBalancerTunnelInterfaceType `json:"type,omitempty"` } // GatewayRoute - Gateway routing details. type GatewayRoute struct { // READ-ONLY; The route's AS path sequence. AsPath *string `json:"asPath,omitempty" azure:"ro"` // READ-ONLY; The gateway's local address. LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` // READ-ONLY; The route's network prefix. Network *string `json:"network,omitempty" azure:"ro"` // READ-ONLY; The route's next hop. NextHop *string `json:"nextHop,omitempty" azure:"ro"` // READ-ONLY; The source this route was learned from. Origin *string `json:"origin,omitempty" azure:"ro"` // READ-ONLY; The peer this route was learned from. SourcePeer *string `json:"sourcePeer,omitempty" azure:"ro"` // READ-ONLY; The route's weight. Weight *int32 `json:"weight,omitempty" azure:"ro"` } // GatewayRouteListResult - List of virtual network gateway routes. type GatewayRouteListResult struct { // List of gateway routes. Value []*GatewayRoute `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type GatewayRouteListResult. func (g GatewayRouteListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", g.Value) return json.Marshal(objectMap) } // GenerateExpressRoutePortsLOARequest - The customer name to be printed on a letter of authorization. type GenerateExpressRoutePortsLOARequest struct { // REQUIRED; The customer name. CustomerName *string `json:"customerName,omitempty"` } // GenerateExpressRoutePortsLOAResult - Response for GenerateExpressRoutePortsLOA API service call. type GenerateExpressRoutePortsLOAResult struct { // The content as a base64 encoded string. EncodedContent *string `json:"encodedContent,omitempty"` } // GetVPNSitesConfigurationRequest - List of Vpn-Sites. type GetVPNSitesConfigurationRequest struct { // REQUIRED; The sas-url to download the configurations for vpn-sites. OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` // List of resource-ids of the vpn-sites for which config is to be downloaded. VPNSites []*string `json:"vpnSites,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type GetVPNSitesConfigurationRequest. func (g GetVPNSitesConfigurationRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "outputBlobSasUrl", g.OutputBlobSasURL) populate(objectMap, "vpnSites", g.VPNSites) return json.Marshal(objectMap) } // HTTPConfiguration - HTTP configuration of the connectivity check. type HTTPConfiguration struct { // List of HTTP headers. Headers []*HTTPHeader `json:"headers,omitempty"` // HTTP method. Method *HTTPMethod `json:"method,omitempty"` // Valid status codes. ValidStatusCodes []*int32 `json:"validStatusCodes,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type HTTPConfiguration. func (h HTTPConfiguration) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "headers", h.Headers) populate(objectMap, "method", h.Method) populate(objectMap, "validStatusCodes", h.ValidStatusCodes) return json.Marshal(objectMap) } // HTTPHeader - The HTTP header. type HTTPHeader struct { // The name in HTTP header. Name *string `json:"name,omitempty"` // The value in HTTP header. Value *string `json:"value,omitempty"` } // HopLink - Hop link. type HopLink struct { // Hop link properties. Properties *HopLinkProperties `json:"properties,omitempty"` // READ-ONLY; Provides additional context on links. Context map[string]*string `json:"context,omitempty" azure:"ro"` // READ-ONLY; List of issues. Issues []*ConnectivityIssue `json:"issues,omitempty" azure:"ro"` // READ-ONLY; Link type. LinkType *string `json:"linkType,omitempty" azure:"ro"` // READ-ONLY; The ID of the next hop. NextHopID *string `json:"nextHopId,omitempty" azure:"ro"` // READ-ONLY; Resource ID. ResourceID *string `json:"resourceId,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type HopLink. func (h HopLink) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "context", h.Context) populate(objectMap, "issues", h.Issues) populate(objectMap, "linkType", h.LinkType) populate(objectMap, "nextHopId", h.NextHopID) populate(objectMap, "properties", h.Properties) populate(objectMap, "resourceId", h.ResourceID) return json.Marshal(objectMap) } // HopLinkProperties - Hop link properties. type HopLinkProperties struct { // READ-ONLY; Average roundtrip time in milliseconds. RoundTripTimeAvg *int64 `json:"roundTripTimeAvg,omitempty" azure:"ro"` // READ-ONLY; Maximum roundtrip time in milliseconds. RoundTripTimeMax *int64 `json:"roundTripTimeMax,omitempty" azure:"ro"` // READ-ONLY; Minimum roundtrip time in milliseconds. RoundTripTimeMin *int64 `json:"roundTripTimeMin,omitempty" azure:"ro"` } // HubIPAddresses - IP addresses associated with azure firewall. type HubIPAddresses struct { // Private IP Address associated with azure firewall. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // Public IP addresses associated with azure firewall. PublicIPs *HubPublicIPAddresses `json:"publicIPs,omitempty"` } // HubIPConfiguration - IpConfigurations. type HubIPConfiguration struct { SubResource // Name of the Ip Configuration. Name *string `json:"name,omitempty"` // The properties of the Virtual Hub IPConfigurations. Properties *HubIPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Ipconfiguration type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type HubIPConfiguration. func (h HubIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := h.SubResource.marshalInternal() populate(objectMap, "etag", h.Etag) populate(objectMap, "name", h.Name) populate(objectMap, "properties", h.Properties) populate(objectMap, "type", h.Type) return json.Marshal(objectMap) } // HubIPConfigurationPropertiesFormat - Properties of IP configuration. type HubIPConfigurationPropertiesFormat struct { // The private IP address of the IP configuration. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // The private IP address allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // The reference to the public IP resource. PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` // The reference to the subnet resource. Subnet *Subnet `json:"subnet,omitempty"` // READ-ONLY; The provisioning state of the IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // HubPublicIPAddresses - Public IP addresses associated with azure firewall. type HubPublicIPAddresses struct { // The list of Public IP addresses associated with azure firewall or IP addresses to be retained. Addresses []*AzureFirewallPublicIPAddress `json:"addresses,omitempty"` // The number of Public IP addresses associated with azure firewall. Count *int32 `json:"count,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type HubPublicIPAddresses. func (h HubPublicIPAddresses) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addresses", h.Addresses) populate(objectMap, "count", h.Count) return json.Marshal(objectMap) } // HubRoute - RouteTable route. type HubRoute struct { // REQUIRED; The type of destinations (eg: CIDR, ResourceId, Service). DestinationType *string `json:"destinationType,omitempty"` // REQUIRED; List of all destinations. Destinations []*string `json:"destinations,omitempty"` // REQUIRED; The name of the Route that is unique within a RouteTable. This name can be used to access this route. Name *string `json:"name,omitempty"` // REQUIRED; NextHop resource ID. NextHop *string `json:"nextHop,omitempty"` // REQUIRED; The type of next hop (eg: ResourceId). NextHopType *string `json:"nextHopType,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type HubRoute. func (h HubRoute) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "destinationType", h.DestinationType) populate(objectMap, "destinations", h.Destinations) populate(objectMap, "name", h.Name) populate(objectMap, "nextHop", h.NextHop) populate(objectMap, "nextHopType", h.NextHopType) return json.Marshal(objectMap) } // HubRouteTable - RouteTable resource in a virtual hub. type HubRouteTable struct { SubResource // The 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"` // Properties of the RouteTable resource. Properties *HubRouteTableProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type HubRouteTable. func (h HubRouteTable) MarshalJSON() ([]byte, error) { objectMap := h.SubResource.marshalInternal() populate(objectMap, "etag", h.Etag) populate(objectMap, "name", h.Name) populate(objectMap, "properties", h.Properties) populate(objectMap, "type", h.Type) return json.Marshal(objectMap) } // HubRouteTableProperties - Parameters for RouteTable. type HubRouteTableProperties struct { // List of labels associated with this route table. Labels []*string `json:"labels,omitempty"` // List of all routes. Routes []*HubRoute `json:"routes,omitempty"` // READ-ONLY; List of all connections associated with this route table. AssociatedConnections []*string `json:"associatedConnections,omitempty" azure:"ro"` // READ-ONLY; List of all connections that advertise to this route table. PropagatingConnections []*string `json:"propagatingConnections,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the RouteTable resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type HubRouteTableProperties. func (h HubRouteTableProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "associatedConnections", h.AssociatedConnections) populate(objectMap, "labels", h.Labels) populate(objectMap, "propagatingConnections", h.PropagatingConnections) populate(objectMap, "provisioningState", h.ProvisioningState) populate(objectMap, "routes", h.Routes) return json.Marshal(objectMap) } // HubRouteTablesBeginCreateOrUpdateOptions contains the optional parameters for the HubRouteTables.BeginCreateOrUpdate method. type HubRouteTablesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // HubRouteTablesBeginDeleteOptions contains the optional parameters for the HubRouteTables.BeginDelete method. type HubRouteTablesBeginDeleteOptions struct { // placeholder for future optional parameters } // HubRouteTablesGetOptions contains the optional parameters for the HubRouteTables.Get method. type HubRouteTablesGetOptions struct { // placeholder for future optional parameters } // HubRouteTablesListOptions contains the optional parameters for the HubRouteTables.List method. type HubRouteTablesListOptions struct { // placeholder for future optional parameters } // HubVirtualNetworkConnection Resource. type HubVirtualNetworkConnection struct { SubResource // The 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"` // Properties of the hub virtual network connection. Properties *HubVirtualNetworkConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type HubVirtualNetworkConnection. func (h HubVirtualNetworkConnection) MarshalJSON() ([]byte, error) { objectMap := h.SubResource.marshalInternal() populate(objectMap, "etag", h.Etag) populate(objectMap, "name", h.Name) populate(objectMap, "properties", h.Properties) return json.Marshal(objectMap) } // HubVirtualNetworkConnectionProperties - Parameters for HubVirtualNetworkConnection. type HubVirtualNetworkConnectionProperties struct { // Deprecated: VirtualHub to RemoteVnet transit to enabled or not. AllowHubToRemoteVnetTransit *bool `json:"allowHubToRemoteVnetTransit,omitempty"` // Deprecated: Allow RemoteVnet to use Virtual Hub's gateways. AllowRemoteVnetToUseHubVnetGateways *bool `json:"allowRemoteVnetToUseHubVnetGateways,omitempty"` // Enable internet security. EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` // Reference to the remote virtual network. RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` // The Routing Configuration indicating the associated and propagated route tables on this connection. RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` // READ-ONLY; The provisioning state of the hub virtual network connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // HubVirtualNetworkConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the HubVirtualNetworkConnections.BeginCreateOrUpdate method. type HubVirtualNetworkConnectionsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // HubVirtualNetworkConnectionsBeginDeleteOptions contains the optional parameters for the HubVirtualNetworkConnections.BeginDelete method. type HubVirtualNetworkConnectionsBeginDeleteOptions struct { // placeholder for future optional parameters } // HubVirtualNetworkConnectionsGetOptions contains the optional parameters for the HubVirtualNetworkConnections.Get method. type HubVirtualNetworkConnectionsGetOptions struct { // placeholder for future optional parameters } // HubVirtualNetworkConnectionsListOptions contains the optional parameters for the HubVirtualNetworkConnections.List method. type HubVirtualNetworkConnectionsListOptions struct { // placeholder for future optional parameters } // IPAddressAvailabilityResult - Response for CheckIPAddressAvailability API service call. type IPAddressAvailabilityResult struct { // Private IP address availability. Available *bool `json:"available,omitempty"` // Contains other available private IP addresses if the asked for address is taken. AvailableIPAddresses []*string `json:"availableIPAddresses,omitempty"` // Private IP address platform reserved. IsPlatformReserved *bool `json:"isPlatformReserved,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type IPAddressAvailabilityResult. func (i IPAddressAvailabilityResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "available", i.Available) populate(objectMap, "availableIPAddresses", i.AvailableIPAddresses) populate(objectMap, "isPlatformReserved", i.IsPlatformReserved) return json.Marshal(objectMap) } // IPAllocation - IpAllocation resource. type IPAllocation struct { Resource // Properties of the IpAllocation. Properties *IPAllocationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type IPAllocation. func (i IPAllocation) MarshalJSON() ([]byte, error) { objectMap := i.Resource.marshalInternal() populate(objectMap, "etag", i.Etag) populate(objectMap, "properties", i.Properties) return json.Marshal(objectMap) } // IPAllocationListResult - Response for the ListIpAllocations API service call. type IPAllocationListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of IpAllocation resources. Value []*IPAllocation `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type IPAllocationListResult. func (i IPAllocationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", i.NextLink) populate(objectMap, "value", i.Value) return json.Marshal(objectMap) } // IPAllocationPropertiesFormat - Properties of the IpAllocation. type IPAllocationPropertiesFormat struct { // IpAllocation tags. AllocationTags map[string]*string `json:"allocationTags,omitempty"` // The IPAM allocation ID. IpamAllocationID *string `json:"ipamAllocationId,omitempty"` // The address prefix for the IpAllocation. Prefix *string `json:"prefix,omitempty"` // The address prefix length for the IpAllocation. PrefixLength *int32 `json:"prefixLength,omitempty"` // The address prefix Type for the IpAllocation. PrefixType *IPVersion `json:"prefixType,omitempty"` // The type for the IpAllocation. Type *IPAllocationType `json:"type,omitempty"` // READ-ONLY; The Subnet that using the prefix of this IpAllocation resource. Subnet *SubResource `json:"subnet,omitempty" azure:"ro"` // READ-ONLY; The VirtualNetwork that using the prefix of this IpAllocation resource. VirtualNetwork *SubResource `json:"virtualNetwork,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type IPAllocationPropertiesFormat. func (i IPAllocationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "allocationTags", i.AllocationTags) populate(objectMap, "ipamAllocationId", i.IpamAllocationID) populate(objectMap, "prefix", i.Prefix) populate(objectMap, "prefixLength", i.PrefixLength) populate(objectMap, "prefixType", i.PrefixType) populate(objectMap, "subnet", i.Subnet) populate(objectMap, "type", i.Type) populate(objectMap, "virtualNetwork", i.VirtualNetwork) return json.Marshal(objectMap) } // IPAllocationsBeginCreateOrUpdateOptions contains the optional parameters for the IPAllocations.BeginCreateOrUpdate method. type IPAllocationsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // IPAllocationsBeginDeleteOptions contains the optional parameters for the IPAllocations.BeginDelete method. type IPAllocationsBeginDeleteOptions struct { // placeholder for future optional parameters } // IPAllocationsGetOptions contains the optional parameters for the IPAllocations.Get method. type IPAllocationsGetOptions struct { // Expands referenced resources. Expand *string } // IPAllocationsListByResourceGroupOptions contains the optional parameters for the IPAllocations.ListByResourceGroup method. type IPAllocationsListByResourceGroupOptions struct { // placeholder for future optional parameters } // IPAllocationsListOptions contains the optional parameters for the IPAllocations.List method. type IPAllocationsListOptions struct { // placeholder for future optional parameters } // IPAllocationsUpdateTagsOptions contains the optional parameters for the IPAllocations.UpdateTags method. type IPAllocationsUpdateTagsOptions struct { // placeholder for future optional parameters } // IPConfiguration - IP configuration. type IPConfiguration struct { SubResource // The 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"` // Properties of the IP configuration. Properties *IPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type IPConfiguration. func (i IPConfiguration) MarshalJSON() ([]byte, error) { objectMap := i.SubResource.marshalInternal() populate(objectMap, "etag", i.Etag) populate(objectMap, "name", i.Name) populate(objectMap, "properties", i.Properties) return json.Marshal(objectMap) } // IPConfigurationBgpPeeringAddress - Properties of IPConfigurationBgpPeeringAddress. type IPConfigurationBgpPeeringAddress struct { // The list of custom BGP peering addresses which belong to IP configuration. CustomBgpIPAddresses []*string `json:"customBgpIpAddresses,omitempty"` // The ID of IP configuration which belongs to gateway. IPConfigurationID *string `json:"ipconfigurationId,omitempty"` // READ-ONLY; The list of default BGP peering addresses which belong to IP configuration. DefaultBgpIPAddresses []*string `json:"defaultBgpIpAddresses,omitempty" azure:"ro"` // READ-ONLY; The list of tunnel public IP addresses which belong to IP configuration. TunnelIPAddresses []*string `json:"tunnelIpAddresses,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type IPConfigurationBgpPeeringAddress. func (i IPConfigurationBgpPeeringAddress) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "customBgpIpAddresses", i.CustomBgpIPAddresses) populate(objectMap, "defaultBgpIpAddresses", i.DefaultBgpIPAddresses) populate(objectMap, "ipconfigurationId", i.IPConfigurationID) populate(objectMap, "tunnelIpAddresses", i.TunnelIPAddresses) return json.Marshal(objectMap) } // IPConfigurationProfile - IP configuration profile child resource. type IPConfigurationProfile struct { SubResource // The name of the resource. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of the IP configuration profile. Properties *IPConfigurationProfilePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Sub Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type IPConfigurationProfile. func (i IPConfigurationProfile) MarshalJSON() ([]byte, error) { objectMap := i.SubResource.marshalInternal() populate(objectMap, "etag", i.Etag) populate(objectMap, "name", i.Name) populate(objectMap, "properties", i.Properties) populate(objectMap, "type", i.Type) return json.Marshal(objectMap) } // IPConfigurationProfilePropertiesFormat - IP configuration profile properties. type IPConfigurationProfilePropertiesFormat struct { // The reference to the subnet resource to create a container network interface ip configuration. Subnet *Subnet `json:"subnet,omitempty"` // READ-ONLY; The provisioning state of the IP configuration profile resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // IPConfigurationPropertiesFormat - Properties of IP configuration. type IPConfigurationPropertiesFormat struct { // The private IP address of the IP configuration. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // The private IP address allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // The reference to the public IP resource. PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` // The reference to the subnet resource. Subnet *Subnet `json:"subnet,omitempty"` // READ-ONLY; The provisioning state of the IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // IPGroup - The IpGroups resource information. type IPGroup struct { Resource // Properties of the IpGroups. Properties *IPGroupPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type IPGroup. func (i IPGroup) MarshalJSON() ([]byte, error) { objectMap := i.Resource.marshalInternal() populate(objectMap, "etag", i.Etag) populate(objectMap, "properties", i.Properties) return json.Marshal(objectMap) } // IPGroupListResult - Response for the ListIpGroups API service call. type IPGroupListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The list of IpGroups information resources. Value []*IPGroup `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type IPGroupListResult. func (i IPGroupListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", i.NextLink) populate(objectMap, "value", i.Value) return json.Marshal(objectMap) } // IPGroupPropertiesFormat - The IpGroups property information. type IPGroupPropertiesFormat struct { // IpAddresses/IpAddressPrefixes in the IpGroups resource. IPAddresses []*string `json:"ipAddresses,omitempty"` // READ-ONLY; List of references to Firewall Policies resources that this IpGroups is associated with. FirewallPolicies []*SubResource `json:"firewallPolicies,omitempty" azure:"ro"` // READ-ONLY; List of references to Firewall resources that this IpGroups is associated with. Firewalls []*SubResource `json:"firewalls,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the IpGroups resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type IPGroupPropertiesFormat. func (i IPGroupPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "firewallPolicies", i.FirewallPolicies) populate(objectMap, "firewalls", i.Firewalls) populate(objectMap, "ipAddresses", i.IPAddresses) populate(objectMap, "provisioningState", i.ProvisioningState) return json.Marshal(objectMap) } // IPGroupsBeginCreateOrUpdateOptions contains the optional parameters for the IPGroups.BeginCreateOrUpdate method. type IPGroupsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // IPGroupsBeginDeleteOptions contains the optional parameters for the IPGroups.BeginDelete method. type IPGroupsBeginDeleteOptions struct { // placeholder for future optional parameters } // IPGroupsGetOptions contains the optional parameters for the IPGroups.Get method. type IPGroupsGetOptions struct { // Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource. Expand *string } // IPGroupsListByResourceGroupOptions contains the optional parameters for the IPGroups.ListByResourceGroup method. type IPGroupsListByResourceGroupOptions struct { // placeholder for future optional parameters } // IPGroupsListOptions contains the optional parameters for the IPGroups.List method. type IPGroupsListOptions struct { // placeholder for future optional parameters } // IPGroupsUpdateGroupsOptions contains the optional parameters for the IPGroups.UpdateGroups method. type IPGroupsUpdateGroupsOptions struct { // placeholder for future optional parameters } // IPSecPolicy - An IPSec Policy configuration for a virtual network gateway connection. type IPSecPolicy struct { // REQUIRED; The DH Group used in IKE Phase 1 for initial SA. DhGroup *DhGroup `json:"dhGroup,omitempty"` // REQUIRED; The IPSec encryption algorithm (IKE phase 1). IPSecEncryption *IPSecEncryption `json:"ipsecEncryption,omitempty"` // REQUIRED; The IPSec integrity algorithm (IKE phase 1). IPSecIntegrity *IPSecIntegrity `json:"ipsecIntegrity,omitempty"` // REQUIRED; The IKE encryption algorithm (IKE phase 2). IkeEncryption *IkeEncryption `json:"ikeEncryption,omitempty"` // REQUIRED; The IKE integrity algorithm (IKE phase 2). IkeIntegrity *IkeIntegrity `json:"ikeIntegrity,omitempty"` // REQUIRED; The Pfs Group used in IKE Phase 2 for new child SA. PfsGroup *PfsGroup `json:"pfsGroup,omitempty"` // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel. SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` } // IPTag - Contains the IpTag associated with the object. type IPTag struct { // The IP tag type. Example: FirstPartyUsage. IPTagType *string `json:"ipTagType,omitempty"` // The value of the IP tag associated with the public IP. Example: SQL. Tag *string `json:"tag,omitempty"` } // IPv6CircuitConnectionConfig - IPv6 Circuit Connection properties for global reach. type IPv6CircuitConnectionConfig struct { // /125 IP address space to carve out customer addresses for global reach. AddressPrefix *string `json:"addressPrefix,omitempty"` // READ-ONLY; Express Route Circuit connection state. CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` } // IPv6ExpressRouteCircuitPeeringConfig - Contains IPv6 peering config. type IPv6ExpressRouteCircuitPeeringConfig struct { // The Microsoft peering configuration. MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` // The primary address prefix. PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` // The reference to the RouteFilter resource. RouteFilter *SubResource `json:"routeFilter,omitempty"` // The secondary address prefix. SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` // The state of peering. State *ExpressRouteCircuitPeeringState `json:"state,omitempty"` } // InboundNatPool - Inbound NAT pool of the load balancer. type InboundNatPool struct { SubResource // The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of load balancer inbound nat pool. Properties *InboundNatPoolPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type InboundNatPool. func (i InboundNatPool) MarshalJSON() ([]byte, error) { objectMap := i.SubResource.marshalInternal() populate(objectMap, "etag", i.Etag) populate(objectMap, "name", i.Name) populate(objectMap, "properties", i.Properties) populate(objectMap, "type", i.Type) return json.Marshal(objectMap) } // InboundNatPoolPropertiesFormat - Properties of Inbound NAT pool. type InboundNatPoolPropertiesFormat struct { // REQUIRED; The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. BackendPort *int32 `json:"backendPort,omitempty"` // REQUIRED; The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable // values range between 1 and 65535. FrontendPortRangeEnd *int32 `json:"frontendPortRangeEnd,omitempty"` // REQUIRED; The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable // values range between 1 and 65534. FrontendPortRangeStart *int32 `json:"frontendPortRangeStart,omitempty"` // REQUIRED; The reference to the transport protocol used by the inbound NAT pool. Protocol *TransportProtocol `json:"protocol,omitempty"` // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required // when using the SQL AlwaysOn Availability Groups // in SQL server. This setting can't be changed after you create the endpoint. EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to // TCP. EnableTCPReset *bool `json:"enableTcpReset,omitempty"` // A reference to frontend IP addresses. FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` // The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when // the protocol is set to TCP. IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` // READ-ONLY; The provisioning state of the inbound NAT pool resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // InboundNatRule - Inbound NAT rule of the load balancer. type InboundNatRule struct { SubResource // The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of load balancer inbound nat rule. Properties *InboundNatRulePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type InboundNatRule. func (i InboundNatRule) MarshalJSON() ([]byte, error) { objectMap := i.SubResource.marshalInternal() populate(objectMap, "etag", i.Etag) populate(objectMap, "name", i.Name) populate(objectMap, "properties", i.Properties) populate(objectMap, "type", i.Type) return json.Marshal(objectMap) } // InboundNatRuleListResult - Response for ListInboundNatRule API service call. type InboundNatRuleListResult struct { // A list of inbound nat rules in a load balancer. Value []*InboundNatRule `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type InboundNatRuleListResult. func (i InboundNatRuleListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", i.NextLink) populate(objectMap, "value", i.Value) return json.Marshal(objectMap) } // InboundNatRulePropertiesFormat - Properties of the inbound NAT rule. type InboundNatRulePropertiesFormat struct { // The port used for the internal endpoint. Acceptable values range from 1 to 65535. BackendPort *int32 `json:"backendPort,omitempty"` // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required // when using the SQL AlwaysOn Availability Groups // in SQL server. This setting can't be changed after you create the endpoint. EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to // TCP. EnableTCPReset *bool `json:"enableTcpReset,omitempty"` // A reference to frontend IP addresses. FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` // The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. FrontendPort *int32 `json:"frontendPort,omitempty"` // The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when // the protocol is set to TCP. IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` // The reference to the transport protocol used by the load balancing rule. Protocol *TransportProtocol `json:"protocol,omitempty"` // READ-ONLY; A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations // is forwarded to the backend IP. BackendIPConfiguration *NetworkInterfaceIPConfiguration `json:"backendIPConfiguration,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the inbound NAT rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // InboundNatRulesBeginCreateOrUpdateOptions contains the optional parameters for the InboundNatRules.BeginCreateOrUpdate method. type InboundNatRulesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // InboundNatRulesBeginDeleteOptions contains the optional parameters for the InboundNatRules.BeginDelete method. type InboundNatRulesBeginDeleteOptions struct { // placeholder for future optional parameters } // InboundNatRulesGetOptions contains the optional parameters for the InboundNatRules.Get method. type InboundNatRulesGetOptions struct { // Expands referenced resources. Expand *string } // InboundNatRulesListOptions contains the optional parameters for the InboundNatRules.List method. type InboundNatRulesListOptions struct { // placeholder for future optional parameters } // InboundSecurityRule - NVA Inbound Security Rule resource. type InboundSecurityRule struct { SubResource // Name of security rule collection. Name *string `json:"name,omitempty"` // The properties of the Inbound Security Rules. Properties *InboundSecurityRuleProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; NVA inbound security rule type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type InboundSecurityRule. func (i InboundSecurityRule) MarshalJSON() ([]byte, error) { objectMap := i.SubResource.marshalInternal() populate(objectMap, "etag", i.Etag) populate(objectMap, "name", i.Name) populate(objectMap, "properties", i.Properties) populate(objectMap, "type", i.Type) return json.Marshal(objectMap) } // InboundSecurityRuleBeginCreateOrUpdateOptions contains the optional parameters for the InboundSecurityRule.BeginCreateOrUpdate method. type InboundSecurityRuleBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // InboundSecurityRuleProperties - Properties of the Inbound Security Rules resource. type InboundSecurityRuleProperties struct { // List of allowed rules. Rules []*InboundSecurityRules `json:"rules,omitempty"` // READ-ONLY; The provisioning state of the resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type InboundSecurityRuleProperties. func (i InboundSecurityRuleProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "provisioningState", i.ProvisioningState) populate(objectMap, "rules", i.Rules) return json.Marshal(objectMap) } // InboundSecurityRules - Properties of the Inbound Security Rules resource. type InboundSecurityRules struct { // NVA port ranges to be opened up. One needs to provide specific ports. DestinationPortRange *int32 `json:"destinationPortRange,omitempty"` // Protocol. This should be either TCP or UDP. Protocol *InboundSecurityRulesProtocol `json:"protocol,omitempty"` // The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed. SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` } // ListHubRouteTablesResult - List of RouteTables and a URL nextLink to get the next set of results. type ListHubRouteTablesResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of RouteTables. Value []*HubRouteTable `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListHubRouteTablesResult. func (l ListHubRouteTablesResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListHubVirtualNetworkConnectionsResult - List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. type ListHubVirtualNetworkConnectionsResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of HubVirtualNetworkConnections. Value []*HubVirtualNetworkConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListHubVirtualNetworkConnectionsResult. func (l ListHubVirtualNetworkConnectionsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListP2SVPNGatewaysResult - Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set // of results. type ListP2SVPNGatewaysResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of P2SVpnGateways. Value []*P2SVPNGateway `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListP2SVPNGatewaysResult. func (l ListP2SVPNGatewaysResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVPNConnectionsResult - Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and // a URL nextLink to get the next set of results. type ListVPNConnectionsResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of Vpn Connections. Value []*VPNConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVPNConnectionsResult. func (l ListVPNConnectionsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVPNGatewayNatRulesResult - Result of the request to list all nat rules to a virtual wan vpn gateway. It contains a list of Nat rules and a URL nextLink // to get the next set of results. type ListVPNGatewayNatRulesResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of Nat Rules. Value []*VPNGatewayNatRule `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVPNGatewayNatRulesResult. func (l ListVPNGatewayNatRulesResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVPNGatewaysResult - Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. type ListVPNGatewaysResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VpnGateways. Value []*VPNGateway `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVPNGatewaysResult. func (l ListVPNGatewaysResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVPNServerConfigurationsResult - Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL // nextLink to get the next set of results. type ListVPNServerConfigurationsResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VpnServerConfigurations. Value []*VPNServerConfiguration `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVPNServerConfigurationsResult. func (l ListVPNServerConfigurationsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVPNSiteLinkConnectionsResult - Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections // and a URL nextLink to get the next set of results. type ListVPNSiteLinkConnectionsResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VpnSiteLinkConnections. Value []*VPNSiteLinkConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVPNSiteLinkConnectionsResult. func (l ListVPNSiteLinkConnectionsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVPNSiteLinksResult - Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results. type ListVPNSiteLinksResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VpnSitesLinks. Value []*VPNSiteLink `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVPNSiteLinksResult. func (l ListVPNSiteLinksResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVPNSitesResult - Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results. type ListVPNSitesResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VpnSites. Value []*VPNSite `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVPNSitesResult. func (l ListVPNSitesResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVirtualHubBgpConnectionResults - VirtualHubBgpConnections list. type ListVirtualHubBgpConnectionResults struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The list of VirtualHubBgpConnections. Value []*BgpConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubBgpConnectionResults. func (l ListVirtualHubBgpConnectionResults) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVirtualHubIPConfigurationResults - VirtualHubIpConfigurations list. type ListVirtualHubIPConfigurationResults struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The list of VirtualHubIpConfigurations. Value []*HubIPConfiguration `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubIPConfigurationResults. func (l ListVirtualHubIPConfigurationResults) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVirtualHubRouteTableV2SResult - List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results. type ListVirtualHubRouteTableV2SResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VirtualHubRouteTableV2s. Value []*VirtualHubRouteTableV2 `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubRouteTableV2SResult. func (l ListVirtualHubRouteTableV2SResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVirtualHubsResult - Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results. type ListVirtualHubsResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VirtualHubs. Value []*VirtualHub `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubsResult. func (l ListVirtualHubsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVirtualNetworkGatewayNatRulesResult - Result of the request to list all nat rules to a virtual network gateway. It contains a list of Nat rules and // a URL nextLink to get the next set of results. type ListVirtualNetworkGatewayNatRulesResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of Nat Rules. Value []*VirtualNetworkGatewayNatRule `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVirtualNetworkGatewayNatRulesResult. func (l ListVirtualNetworkGatewayNatRulesResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // ListVirtualWANsResult - Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results. type ListVirtualWANsResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of VirtualWANs. Value []*VirtualWAN `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ListVirtualWANsResult. func (l ListVirtualWANsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LoadBalancer resource. type LoadBalancer struct { Resource // The extended location of the load balancer. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Properties of load balancer. Properties *LoadBalancerPropertiesFormat `json:"properties,omitempty"` // The load balancer SKU. SKU *LoadBalancerSKU `json:"sku,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancer. func (l LoadBalancer) MarshalJSON() ([]byte, error) { objectMap := l.Resource.marshalInternal() populate(objectMap, "etag", l.Etag) populate(objectMap, "extendedLocation", l.ExtendedLocation) populate(objectMap, "properties", l.Properties) populate(objectMap, "sku", l.SKU) return json.Marshal(objectMap) } // LoadBalancerBackendAddress - Load balancer backend addresses. type LoadBalancerBackendAddress struct { // Name of the backend address. Name *string `json:"name,omitempty"` // Properties of load balancer backend address pool. Properties *LoadBalancerBackendAddressPropertiesFormat `json:"properties,omitempty"` } // LoadBalancerBackendAddressPoolListResult - Response for ListBackendAddressPool API service call. type LoadBalancerBackendAddressPoolListResult struct { // A list of backend address pools in a load balancer. Value []*BackendAddressPool `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerBackendAddressPoolListResult. func (l LoadBalancerBackendAddressPoolListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LoadBalancerBackendAddressPoolsBeginCreateOrUpdateOptions contains the optional parameters for the LoadBalancerBackendAddressPools.BeginCreateOrUpdate // method. type LoadBalancerBackendAddressPoolsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // LoadBalancerBackendAddressPoolsBeginDeleteOptions contains the optional parameters for the LoadBalancerBackendAddressPools.BeginDelete method. type LoadBalancerBackendAddressPoolsBeginDeleteOptions struct { // placeholder for future optional parameters } // LoadBalancerBackendAddressPoolsGetOptions contains the optional parameters for the LoadBalancerBackendAddressPools.Get method. type LoadBalancerBackendAddressPoolsGetOptions struct { // placeholder for future optional parameters } // LoadBalancerBackendAddressPoolsListOptions contains the optional parameters for the LoadBalancerBackendAddressPools.List method. type LoadBalancerBackendAddressPoolsListOptions struct { // placeholder for future optional parameters } // LoadBalancerBackendAddressPropertiesFormat - Properties of the load balancer backend addresses. type LoadBalancerBackendAddressPropertiesFormat struct { // IP Address belonging to the referenced virtual network. IPAddress *string `json:"ipAddress,omitempty"` // Reference to the frontend ip address configuration defined in regional loadbalancer. LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIPConfiguration,omitempty"` // Reference to an existing subnet. Subnet *SubResource `json:"subnet,omitempty"` // Reference to an existing virtual network. VirtualNetwork *SubResource `json:"virtualNetwork,omitempty"` // READ-ONLY; Reference to IP address defined in network interfaces. NetworkInterfaceIPConfiguration *SubResource `json:"networkInterfaceIPConfiguration,omitempty" azure:"ro"` } // LoadBalancerFrontendIPConfigurationListResult - Response for ListFrontendIPConfiguration API service call. type LoadBalancerFrontendIPConfigurationListResult struct { // A list of frontend IP configurations in a load balancer. Value []*FrontendIPConfiguration `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerFrontendIPConfigurationListResult. func (l LoadBalancerFrontendIPConfigurationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LoadBalancerFrontendIPConfigurationsGetOptions contains the optional parameters for the LoadBalancerFrontendIPConfigurations.Get method. type LoadBalancerFrontendIPConfigurationsGetOptions struct { // placeholder for future optional parameters } // LoadBalancerFrontendIPConfigurationsListOptions contains the optional parameters for the LoadBalancerFrontendIPConfigurations.List method. type LoadBalancerFrontendIPConfigurationsListOptions struct { // placeholder for future optional parameters } // LoadBalancerListResult - Response for ListLoadBalancers API service call. type LoadBalancerListResult struct { // A list of load balancers in a resource group. Value []*LoadBalancer `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerListResult. func (l LoadBalancerListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LoadBalancerLoadBalancingRuleListResult - Response for ListLoadBalancingRule API service call. type LoadBalancerLoadBalancingRuleListResult struct { // A list of load balancing rules in a load balancer. Value []*LoadBalancingRule `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerLoadBalancingRuleListResult. func (l LoadBalancerLoadBalancingRuleListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LoadBalancerLoadBalancingRulesGetOptions contains the optional parameters for the LoadBalancerLoadBalancingRules.Get method. type LoadBalancerLoadBalancingRulesGetOptions struct { // placeholder for future optional parameters } // LoadBalancerLoadBalancingRulesListOptions contains the optional parameters for the LoadBalancerLoadBalancingRules.List method. type LoadBalancerLoadBalancingRulesListOptions struct { // placeholder for future optional parameters } // LoadBalancerNetworkInterfacesListOptions contains the optional parameters for the LoadBalancerNetworkInterfaces.List method. type LoadBalancerNetworkInterfacesListOptions struct { // placeholder for future optional parameters } // LoadBalancerOutboundRuleListResult - Response for ListOutboundRule API service call. type LoadBalancerOutboundRuleListResult struct { // A list of outbound rules in a load balancer. Value []*OutboundRule `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerOutboundRuleListResult. func (l LoadBalancerOutboundRuleListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LoadBalancerOutboundRulesGetOptions contains the optional parameters for the LoadBalancerOutboundRules.Get method. type LoadBalancerOutboundRulesGetOptions struct { // placeholder for future optional parameters } // LoadBalancerOutboundRulesListOptions contains the optional parameters for the LoadBalancerOutboundRules.List method. type LoadBalancerOutboundRulesListOptions struct { // placeholder for future optional parameters } // LoadBalancerProbeListResult - Response for ListProbe API service call. type LoadBalancerProbeListResult struct { // A list of probes in a load balancer. Value []*Probe `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerProbeListResult. func (l LoadBalancerProbeListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LoadBalancerProbesGetOptions contains the optional parameters for the LoadBalancerProbes.Get method. type LoadBalancerProbesGetOptions struct { // placeholder for future optional parameters } // LoadBalancerProbesListOptions contains the optional parameters for the LoadBalancerProbes.List method. type LoadBalancerProbesListOptions struct { // placeholder for future optional parameters } // LoadBalancerPropertiesFormat - Properties of the load balancer. type LoadBalancerPropertiesFormat struct { // Collection of backend address pools used by a load balancer. BackendAddressPools []*BackendAddressPool `json:"backendAddressPools,omitempty"` // Object representing the frontend IPs to be used for the load balancer. FrontendIPConfigurations []*FrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` // Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically // for each NIC associated with the Load // Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. // Inbound NAT pools are referenced from virtual // machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual // inbound NAT rules. InboundNatPools []*InboundNatPool `json:"inboundNatPools,omitempty"` // Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound // NAT pool. Inbound NAT pools are referenced from // virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual // inbound NAT rules. InboundNatRules []*InboundNatRule `json:"inboundNatRules,omitempty"` // Object collection representing the load balancing rules Gets the provisioning. LoadBalancingRules []*LoadBalancingRule `json:"loadBalancingRules,omitempty"` // The outbound rules. OutboundRules []*OutboundRule `json:"outboundRules,omitempty"` // Collection of probe objects used in the load balancer. Probes []*Probe `json:"probes,omitempty"` // READ-ONLY; The provisioning state of the load balancer resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the load balancer resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerPropertiesFormat. func (l LoadBalancerPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendAddressPools", l.BackendAddressPools) populate(objectMap, "frontendIPConfigurations", l.FrontendIPConfigurations) populate(objectMap, "inboundNatPools", l.InboundNatPools) populate(objectMap, "inboundNatRules", l.InboundNatRules) populate(objectMap, "loadBalancingRules", l.LoadBalancingRules) populate(objectMap, "outboundRules", l.OutboundRules) populate(objectMap, "probes", l.Probes) populate(objectMap, "provisioningState", l.ProvisioningState) populate(objectMap, "resourceGuid", l.ResourceGUID) return json.Marshal(objectMap) } // LoadBalancerSKU - SKU of a load balancer. type LoadBalancerSKU struct { // Name of a load balancer SKU. Name *LoadBalancerSKUName `json:"name,omitempty"` // Tier of a load balancer SKU. Tier *LoadBalancerSKUTier `json:"tier,omitempty"` } // LoadBalancerVipSwapRequest - The request for a VIP swap. type LoadBalancerVipSwapRequest struct { // A list of frontend IP configuration resources that should swap VIPs. FrontendIPConfigurations []*LoadBalancerVipSwapRequestFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancerVipSwapRequest. func (l LoadBalancerVipSwapRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "frontendIPConfigurations", l.FrontendIPConfigurations) return json.Marshal(objectMap) } // LoadBalancerVipSwapRequestFrontendIPConfiguration - VIP swap request's frontend IP configuration object. type LoadBalancerVipSwapRequestFrontendIPConfiguration struct { // The ID of frontend IP configuration resource. ID *string `json:"id,omitempty"` // The properties of VIP swap request's frontend IP configuration object. Properties *LoadBalancerVipSwapRequestFrontendIPConfigurationProperties `json:"properties,omitempty"` } // LoadBalancerVipSwapRequestFrontendIPConfigurationProperties - The properties of VIP swap request's frontend IP configuration object. type LoadBalancerVipSwapRequestFrontendIPConfigurationProperties struct { // A reference to public IP address resource. PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` } // LoadBalancersBeginCreateOrUpdateOptions contains the optional parameters for the LoadBalancers.BeginCreateOrUpdate method. type LoadBalancersBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // LoadBalancersBeginDeleteOptions contains the optional parameters for the LoadBalancers.BeginDelete method. type LoadBalancersBeginDeleteOptions struct { // placeholder for future optional parameters } // LoadBalancersBeginSwapPublicIPAddressesOptions contains the optional parameters for the LoadBalancers.BeginSwapPublicIPAddresses method. type LoadBalancersBeginSwapPublicIPAddressesOptions struct { // placeholder for future optional parameters } // LoadBalancersGetOptions contains the optional parameters for the LoadBalancers.Get method. type LoadBalancersGetOptions struct { // Expands referenced resources. Expand *string } // LoadBalancersListAllOptions contains the optional parameters for the LoadBalancers.ListAll method. type LoadBalancersListAllOptions struct { // placeholder for future optional parameters } // LoadBalancersListOptions contains the optional parameters for the LoadBalancers.List method. type LoadBalancersListOptions struct { // placeholder for future optional parameters } // LoadBalancersUpdateTagsOptions contains the optional parameters for the LoadBalancers.UpdateTags method. type LoadBalancersUpdateTagsOptions struct { // placeholder for future optional parameters } // LoadBalancingRule - A load balancing rule for a load balancer. type LoadBalancingRule struct { SubResource // The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of load balancer load balancing rule. Properties *LoadBalancingRulePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancingRule. func (l LoadBalancingRule) MarshalJSON() ([]byte, error) { objectMap := l.SubResource.marshalInternal() populate(objectMap, "etag", l.Etag) populate(objectMap, "name", l.Name) populate(objectMap, "properties", l.Properties) populate(objectMap, "type", l.Type) return json.Marshal(objectMap) } // LoadBalancingRulePropertiesFormat - Properties of the load balancer. type LoadBalancingRulePropertiesFormat struct { // REQUIRED; The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and // 65534. Note that value 0 enables "Any Port". FrontendPort *int32 `json:"frontendPort,omitempty"` // REQUIRED; The reference to the transport protocol used by the load balancing rule. Protocol *TransportProtocol `json:"protocol,omitempty"` // A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` // An array of references to pool of DIPs. BackendAddressPools []*SubResource `json:"backendAddressPools,omitempty"` // The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port". BackendPort *int32 `json:"backendPort,omitempty"` // Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. DisableOutboundSnat *bool `json:"disableOutboundSnat,omitempty"` // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required // when using the SQL AlwaysOn Availability Groups // in SQL server. This setting can't be changed after you create the endpoint. EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to // TCP. EnableTCPReset *bool `json:"enableTcpReset,omitempty"` // A reference to frontend IP addresses. FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` // The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when // the protocol is set to TCP. IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` // The load distribution policy for this rule. LoadDistribution *LoadDistribution `json:"loadDistribution,omitempty"` // The reference to the load balancer probe used by the load balancing rule. Probe *SubResource `json:"probe,omitempty"` // READ-ONLY; The provisioning state of the load balancing rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LoadBalancingRulePropertiesFormat. func (l LoadBalancingRulePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "backendAddressPool", l.BackendAddressPool) populate(objectMap, "backendAddressPools", l.BackendAddressPools) populate(objectMap, "backendPort", l.BackendPort) populate(objectMap, "disableOutboundSnat", l.DisableOutboundSnat) populate(objectMap, "enableFloatingIP", l.EnableFloatingIP) populate(objectMap, "enableTcpReset", l.EnableTCPReset) populate(objectMap, "frontendIPConfiguration", l.FrontendIPConfiguration) populate(objectMap, "frontendPort", l.FrontendPort) populate(objectMap, "idleTimeoutInMinutes", l.IdleTimeoutInMinutes) populate(objectMap, "loadDistribution", l.LoadDistribution) populate(objectMap, "probe", l.Probe) populate(objectMap, "protocol", l.Protocol) populate(objectMap, "provisioningState", l.ProvisioningState) return json.Marshal(objectMap) } // LocalNetworkGateway - A common class for general resource information. type LocalNetworkGateway struct { Resource // REQUIRED; Properties of the local network gateway. Properties *LocalNetworkGatewayPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LocalNetworkGateway. func (l LocalNetworkGateway) MarshalJSON() ([]byte, error) { objectMap := l.Resource.marshalInternal() populate(objectMap, "etag", l.Etag) populate(objectMap, "properties", l.Properties) return json.Marshal(objectMap) } // LocalNetworkGatewayListResult - Response for ListLocalNetworkGateways API service call. type LocalNetworkGatewayListResult struct { // A list of local network gateways that exists in a resource group. Value []*LocalNetworkGateway `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type LocalNetworkGatewayListResult. func (l LocalNetworkGatewayListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", l.NextLink) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // LocalNetworkGatewayPropertiesFormat - LocalNetworkGateway properties. type LocalNetworkGatewayPropertiesFormat struct { // Local network gateway's BGP speaker settings. BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` // FQDN of local network gateway. Fqdn *string `json:"fqdn,omitempty"` // IP address of local network gateway. GatewayIPAddress *string `json:"gatewayIpAddress,omitempty"` // Local network site address space. LocalNetworkAddressSpace *AddressSpace `json:"localNetworkAddressSpace,omitempty"` // READ-ONLY; The provisioning state of the local network gateway resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the local network gateway resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // LocalNetworkGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the LocalNetworkGateways.BeginCreateOrUpdate method. type LocalNetworkGatewaysBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // LocalNetworkGatewaysBeginDeleteOptions contains the optional parameters for the LocalNetworkGateways.BeginDelete method. type LocalNetworkGatewaysBeginDeleteOptions struct { // placeholder for future optional parameters } // LocalNetworkGatewaysGetOptions contains the optional parameters for the LocalNetworkGateways.Get method. type LocalNetworkGatewaysGetOptions struct { // placeholder for future optional parameters } // LocalNetworkGatewaysListOptions contains the optional parameters for the LocalNetworkGateways.List method. type LocalNetworkGatewaysListOptions struct { // placeholder for future optional parameters } // LocalNetworkGatewaysUpdateTagsOptions contains the optional parameters for the LocalNetworkGateways.UpdateTags method. type LocalNetworkGatewaysUpdateTagsOptions struct { // placeholder for future optional parameters } // LogSpecification - Description of logging specification. type LogSpecification struct { // Duration of the blob. BlobDuration *string `json:"blobDuration,omitempty"` // The display name of the specification. DisplayName *string `json:"displayName,omitempty"` // The name of the specification. Name *string `json:"name,omitempty"` } // ManagedRuleGroupOverride - Defines a managed rule group override setting. type ManagedRuleGroupOverride struct { // REQUIRED; The managed rule group to override. RuleGroupName *string `json:"ruleGroupName,omitempty"` // List of rules that will be disabled. If none specified, all rules in the group will be disabled. Rules []*ManagedRuleOverride `json:"rules,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ManagedRuleGroupOverride. func (m ManagedRuleGroupOverride) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "ruleGroupName", m.RuleGroupName) populate(objectMap, "rules", m.Rules) return json.Marshal(objectMap) } // ManagedRuleOverride - Defines a managed rule group override setting. type ManagedRuleOverride struct { // REQUIRED; Identifier for the managed rule. RuleID *string `json:"ruleId,omitempty"` // The state of the managed rule. Defaults to Disabled if not specified. State *ManagedRuleEnabledState `json:"state,omitempty"` } // ManagedRuleSet - Defines a managed rule set. type ManagedRuleSet struct { // REQUIRED; Defines the rule set type to use. RuleSetType *string `json:"ruleSetType,omitempty"` // REQUIRED; Defines the version of the rule set to use. RuleSetVersion *string `json:"ruleSetVersion,omitempty"` // Defines the rule group overrides to apply to the rule set. RuleGroupOverrides []*ManagedRuleGroupOverride `json:"ruleGroupOverrides,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ManagedRuleSet. func (m ManagedRuleSet) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "ruleGroupOverrides", m.RuleGroupOverrides) populate(objectMap, "ruleSetType", m.RuleSetType) populate(objectMap, "ruleSetVersion", m.RuleSetVersion) return json.Marshal(objectMap) } // ManagedRulesDefinition - Allow to exclude some variable satisfy the condition for the WAF check. type ManagedRulesDefinition struct { // REQUIRED; The managed rule sets that are associated with the policy. ManagedRuleSets []*ManagedRuleSet `json:"managedRuleSets,omitempty"` // The Exclusions that are applied on the policy. Exclusions []*OwaspCrsExclusionEntry `json:"exclusions,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ManagedRulesDefinition. func (m ManagedRulesDefinition) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "exclusions", m.Exclusions) populate(objectMap, "managedRuleSets", m.ManagedRuleSets) return json.Marshal(objectMap) } // ManagedServiceIdentity - Identity for the resource. type ManagedServiceIdentity struct { // The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned // identities. The type 'None' will remove any // identities from the virtual machine. Type *ResourceIdentityType `json:"type,omitempty"` // The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. UserAssignedIdentities map[string]*Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties `json:"userAssignedIdentities,omitempty"` // READ-ONLY; The principal id of the system assigned identity. This property will only be provided for a system assigned identity. PrincipalID *string `json:"principalId,omitempty" azure:"ro"` // READ-ONLY; The tenant id of the system assigned identity. This property will only be provided for a system assigned identity. TenantID *string `json:"tenantId,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ManagedServiceIdentity. func (m ManagedServiceIdentity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "principalId", m.PrincipalID) populate(objectMap, "tenantId", m.TenantID) populate(objectMap, "type", m.Type) populate(objectMap, "userAssignedIdentities", m.UserAssignedIdentities) return json.Marshal(objectMap) } // MatchCondition - Define match conditions. type MatchCondition struct { // REQUIRED; Match value. MatchValues []*string `json:"matchValues,omitempty"` // REQUIRED; List of match variables. MatchVariables []*MatchVariable `json:"matchVariables,omitempty"` // REQUIRED; The operator to be matched. Operator *WebApplicationFirewallOperator `json:"operator,omitempty"` // Whether this is negate condition or not. NegationConditon *bool `json:"negationConditon,omitempty"` // List of transforms. Transforms []*WebApplicationFirewallTransform `json:"transforms,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type MatchCondition. func (m MatchCondition) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "matchValues", m.MatchValues) populate(objectMap, "matchVariables", m.MatchVariables) populate(objectMap, "negationConditon", m.NegationConditon) populate(objectMap, "operator", m.Operator) populate(objectMap, "transforms", m.Transforms) return json.Marshal(objectMap) } // MatchVariable - Define match variables. type MatchVariable struct { // REQUIRED; Match Variable. VariableName *WebApplicationFirewallMatchVariable `json:"variableName,omitempty"` // The selector of match variable. Selector *string `json:"selector,omitempty"` } // MatchedRule - Matched rule. type MatchedRule struct { // The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'. Action *string `json:"action,omitempty"` // Name of the matched network security rule. RuleName *string `json:"ruleName,omitempty"` } // MetricSpecification - Description of metrics specification. type MetricSpecification struct { // The aggregation type. AggregationType *string `json:"aggregationType,omitempty"` // List of availability. Availabilities []*Availability `json:"availabilities,omitempty"` // List of dimensions. Dimensions []*Dimension `json:"dimensions,omitempty"` // The description of the metric. DisplayDescription *string `json:"displayDescription,omitempty"` // The display name of the metric. DisplayName *string `json:"displayName,omitempty"` // Whether regional MDM account enabled. EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` // Whether gaps would be filled with zeros. FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` // Whether the metric is internal. IsInternal *bool `json:"isInternal,omitempty"` // Pattern for the filter of the metric. MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` // The name of the metric. Name *string `json:"name,omitempty"` // The resource Id dimension name override. ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` // The source MDM account. SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` // The source MDM namespace. SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` // Units the metric to be displayed in. Unit *string `json:"unit,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type MetricSpecification. func (m MetricSpecification) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "aggregationType", m.AggregationType) populate(objectMap, "availabilities", m.Availabilities) populate(objectMap, "dimensions", m.Dimensions) populate(objectMap, "displayDescription", m.DisplayDescription) populate(objectMap, "displayName", m.DisplayName) populate(objectMap, "enableRegionalMdmAccount", m.EnableRegionalMdmAccount) populate(objectMap, "fillGapWithZero", m.FillGapWithZero) populate(objectMap, "isInternal", m.IsInternal) populate(objectMap, "metricFilterPattern", m.MetricFilterPattern) populate(objectMap, "name", m.Name) populate(objectMap, "resourceIdDimensionNameOverride", m.ResourceIDDimensionNameOverride) populate(objectMap, "sourceMdmAccount", m.SourceMdmAccount) populate(objectMap, "sourceMdmNamespace", m.SourceMdmNamespace) populate(objectMap, "unit", m.Unit) return json.Marshal(objectMap) } // NatGateway - Nat Gateway resource. type NatGateway struct { Resource // Nat Gateway properties. Properties *NatGatewayPropertiesFormat `json:"properties,omitempty"` // The nat gateway SKU. SKU *NatGatewaySKU `json:"sku,omitempty"` // A list of availability zones denoting the zone in which Nat Gateway should be deployed. Zones []*string `json:"zones,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NatGateway. func (n NatGateway) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "properties", n.Properties) populate(objectMap, "sku", n.SKU) populate(objectMap, "zones", n.Zones) return json.Marshal(objectMap) } // NatGatewayListResult - Response for ListNatGateways API service call. type NatGatewayListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of Nat Gateways that exists in a resource group. Value []*NatGateway `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NatGatewayListResult. func (n NatGatewayListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NatGatewayPropertiesFormat - Nat Gateway properties. type NatGatewayPropertiesFormat struct { // The idle timeout of the nat gateway. IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` // An array of public ip addresses associated with the nat gateway resource. PublicIPAddresses []*SubResource `json:"publicIpAddresses,omitempty"` // An array of public ip prefixes associated with the nat gateway resource. PublicIPPrefixes []*SubResource `json:"publicIpPrefixes,omitempty"` // READ-ONLY; The provisioning state of the NAT gateway resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the NAT gateway resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; An array of references to the subnets using this nat gateway resource. Subnets []*SubResource `json:"subnets,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NatGatewayPropertiesFormat. func (n NatGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "idleTimeoutInMinutes", n.IdleTimeoutInMinutes) populate(objectMap, "provisioningState", n.ProvisioningState) populate(objectMap, "publicIpAddresses", n.PublicIPAddresses) populate(objectMap, "publicIpPrefixes", n.PublicIPPrefixes) populate(objectMap, "resourceGuid", n.ResourceGUID) populate(objectMap, "subnets", n.Subnets) return json.Marshal(objectMap) } // NatGatewaySKU - SKU of nat gateway. type NatGatewaySKU struct { // Name of Nat Gateway SKU. Name *NatGatewaySKUName `json:"name,omitempty"` } // NatGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the NatGateways.BeginCreateOrUpdate method. type NatGatewaysBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NatGatewaysBeginDeleteOptions contains the optional parameters for the NatGateways.BeginDelete method. type NatGatewaysBeginDeleteOptions struct { // placeholder for future optional parameters } // NatGatewaysGetOptions contains the optional parameters for the NatGateways.Get method. type NatGatewaysGetOptions struct { // Expands referenced resources. Expand *string } // NatGatewaysListAllOptions contains the optional parameters for the NatGateways.ListAll method. type NatGatewaysListAllOptions struct { // placeholder for future optional parameters } // NatGatewaysListOptions contains the optional parameters for the NatGateways.List method. type NatGatewaysListOptions struct { // placeholder for future optional parameters } // NatGatewaysUpdateTagsOptions contains the optional parameters for the NatGateways.UpdateTags method. type NatGatewaysUpdateTagsOptions struct { // placeholder for future optional parameters } // NatRule - Rule of type nat. type NatRule struct { FirewallPolicyRule // List of destination IP addresses or Service Tags. DestinationAddresses []*string `json:"destinationAddresses,omitempty"` // List of destination ports. DestinationPorts []*string `json:"destinationPorts,omitempty"` // Array of FirewallPolicyRuleNetworkProtocols. IPProtocols []*FirewallPolicyRuleNetworkProtocol `json:"ipProtocols,omitempty"` // List of source IP addresses for this rule. SourceAddresses []*string `json:"sourceAddresses,omitempty"` // List of source IpGroups for this rule. SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` // The translated address for this NAT rule. TranslatedAddress *string `json:"translatedAddress,omitempty"` // The translated FQDN for this NAT rule. TranslatedFqdn *string `json:"translatedFqdn,omitempty"` // The translated port for this NAT rule. TranslatedPort *string `json:"translatedPort,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NatRule. func (n NatRule) MarshalJSON() ([]byte, error) { objectMap := n.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeNatRule) populate(objectMap, "destinationAddresses", n.DestinationAddresses) populate(objectMap, "destinationPorts", n.DestinationPorts) populate(objectMap, "ipProtocols", n.IPProtocols) populate(objectMap, "sourceAddresses", n.SourceAddresses) populate(objectMap, "sourceIpGroups", n.SourceIPGroups) populate(objectMap, "translatedAddress", n.TranslatedAddress) populate(objectMap, "translatedFqdn", n.TranslatedFqdn) populate(objectMap, "translatedPort", n.TranslatedPort) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type NatRule. func (n *NatRule) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "destinationAddresses": err = unpopulate(val, &n.DestinationAddresses) delete(rawMsg, key) case "destinationPorts": err = unpopulate(val, &n.DestinationPorts) delete(rawMsg, key) case "ipProtocols": err = unpopulate(val, &n.IPProtocols) delete(rawMsg, key) case "sourceAddresses": err = unpopulate(val, &n.SourceAddresses) delete(rawMsg, key) case "sourceIpGroups": err = unpopulate(val, &n.SourceIPGroups) delete(rawMsg, key) case "translatedAddress": err = unpopulate(val, &n.TranslatedAddress) delete(rawMsg, key) case "translatedFqdn": err = unpopulate(val, &n.TranslatedFqdn) delete(rawMsg, key) case "translatedPort": err = unpopulate(val, &n.TranslatedPort) delete(rawMsg, key) } if err != nil { return err } } return n.FirewallPolicyRule.unmarshalInternal(rawMsg) } // NatRulesBeginCreateOrUpdateOptions contains the optional parameters for the NatRules.BeginCreateOrUpdate method. type NatRulesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NatRulesBeginDeleteOptions contains the optional parameters for the NatRules.BeginDelete method. type NatRulesBeginDeleteOptions struct { // placeholder for future optional parameters } // NatRulesGetOptions contains the optional parameters for the NatRules.Get method. type NatRulesGetOptions struct { // placeholder for future optional parameters } // NatRulesListByVPNGatewayOptions contains the optional parameters for the NatRules.ListByVPNGateway method. type NatRulesListByVPNGatewayOptions struct { // placeholder for future optional parameters } // NetworkConfigurationDiagnosticParameters - Parameters to get network configuration diagnostic. type NetworkConfigurationDiagnosticParameters struct { // REQUIRED; List of network configuration diagnostic profiles. Profiles []*NetworkConfigurationDiagnosticProfile `json:"profiles,omitempty"` // REQUIRED; The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and // Application Gateway. TargetResourceID *string `json:"targetResourceId,omitempty"` // Verbosity level. VerbosityLevel *VerbosityLevel `json:"verbosityLevel,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkConfigurationDiagnosticParameters. func (n NetworkConfigurationDiagnosticParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "profiles", n.Profiles) populate(objectMap, "targetResourceId", n.TargetResourceID) populate(objectMap, "verbosityLevel", n.VerbosityLevel) return json.Marshal(objectMap) } // NetworkConfigurationDiagnosticProfile - Parameters to compare with network configuration. type NetworkConfigurationDiagnosticProfile struct { // REQUIRED; Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag. Destination *string `json:"destination,omitempty"` // REQUIRED; Traffic destination port. Accepted values are '*' and a single port in the range (0 - 65535). DestinationPort *string `json:"destinationPort,omitempty"` // REQUIRED; The direction of the traffic. Direction *Direction `json:"direction,omitempty"` // REQUIRED; Protocol to be verified on. Accepted values are '*', TCP, UDP. Protocol *string `json:"protocol,omitempty"` // REQUIRED; Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. Source *string `json:"source,omitempty"` } // NetworkConfigurationDiagnosticResponse - Results of network configuration diagnostic on the target resource. type NetworkConfigurationDiagnosticResponse struct { // READ-ONLY; List of network configuration diagnostic results. Results []*NetworkConfigurationDiagnosticResult `json:"results,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkConfigurationDiagnosticResponse. func (n NetworkConfigurationDiagnosticResponse) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "results", n.Results) return json.Marshal(objectMap) } // NetworkConfigurationDiagnosticResult - Network configuration diagnostic result corresponded to provided traffic query. type NetworkConfigurationDiagnosticResult struct { // Network security group result. NetworkSecurityGroupResult *NetworkSecurityGroupResult `json:"networkSecurityGroupResult,omitempty"` // Network configuration diagnostic profile. Profile *NetworkConfigurationDiagnosticProfile `json:"profile,omitempty"` } // NetworkIntentPolicy - Network Intent Policy resource. type NetworkIntentPolicy struct { Resource // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkIntentPolicy. func (n NetworkIntentPolicy) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) return json.Marshal(objectMap) } // NetworkIntentPolicyConfiguration - Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. type NetworkIntentPolicyConfiguration struct { // The name of the Network Intent Policy for storing in target subscription. NetworkIntentPolicyName *string `json:"networkIntentPolicyName,omitempty"` // Source network intent policy. SourceNetworkIntentPolicy *NetworkIntentPolicy `json:"sourceNetworkIntentPolicy,omitempty"` } // NetworkInterface - A network interface in a resource group. type NetworkInterface struct { Resource // The extended location of the network interface. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Properties of the network interface. Properties *NetworkInterfacePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterface. func (n NetworkInterface) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "extendedLocation", n.ExtendedLocation) populate(objectMap, "properties", n.Properties) return json.Marshal(objectMap) } // NetworkInterfaceAssociation - Network interface and its custom security rules. type NetworkInterfaceAssociation struct { // Collection of custom security rules. SecurityRules []*SecurityRule `json:"securityRules,omitempty"` // READ-ONLY; Network interface ID. ID *string `json:"id,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceAssociation. func (n NetworkInterfaceAssociation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "id", n.ID) populate(objectMap, "securityRules", n.SecurityRules) return json.Marshal(objectMap) } // NetworkInterfaceDNSSettings - DNS settings of a network interface. type NetworkInterfaceDNSSettings struct { // List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with // other IPs, it must be the only value in dnsServers // collection. DNSServers []*string `json:"dnsServers,omitempty"` // Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. InternalDNSNameLabel *string `json:"internalDnsNameLabel,omitempty"` // READ-ONLY; If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are // part of the Availability Set. This property is what is // configured on each of those VMs. AppliedDNSServers []*string `json:"appliedDnsServers,omitempty" azure:"ro"` // READ-ONLY; Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating // the VM name with the value of // internalDomainNameSuffix. InternalDomainNameSuffix *string `json:"internalDomainNameSuffix,omitempty" azure:"ro"` // READ-ONLY; Fully qualified DNS name supporting internal communications between VMs in the same virtual network. InternalFqdn *string `json:"internalFqdn,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceDNSSettings. func (n NetworkInterfaceDNSSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "appliedDnsServers", n.AppliedDNSServers) populate(objectMap, "dnsServers", n.DNSServers) populate(objectMap, "internalDnsNameLabel", n.InternalDNSNameLabel) populate(objectMap, "internalDomainNameSuffix", n.InternalDomainNameSuffix) populate(objectMap, "internalFqdn", n.InternalFqdn) return json.Marshal(objectMap) } // NetworkInterfaceIPConfiguration - IPConfiguration in a network interface. type NetworkInterfaceIPConfiguration struct { SubResource // The 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"` // Network interface IP configuration properties. Properties *NetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` // Resource type. Type *string `json:"type,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfiguration. func (n NetworkInterfaceIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := n.SubResource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "name", n.Name) populate(objectMap, "properties", n.Properties) populate(objectMap, "type", n.Type) return json.Marshal(objectMap) } // NetworkInterfaceIPConfigurationListResult - Response for list ip configurations API service call. type NetworkInterfaceIPConfigurationListResult struct { // A list of ip configurations. Value []*NetworkInterfaceIPConfiguration `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfigurationListResult. func (n NetworkInterfaceIPConfigurationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - PrivateLinkConnection properties for the network interface. type NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties struct { // READ-ONLY; List of FQDNs for current private link connection. Fqdns []*string `json:"fqdns,omitempty" azure:"ro"` // READ-ONLY; The group ID for current private link connection. GroupID *string `json:"groupId,omitempty" azure:"ro"` // READ-ONLY; The required member name for current private link connection. RequiredMemberName *string `json:"requiredMemberName,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties. func (n NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "fqdns", n.Fqdns) populate(objectMap, "groupId", n.GroupID) populate(objectMap, "requiredMemberName", n.RequiredMemberName) return json.Marshal(objectMap) } // NetworkInterfaceIPConfigurationPropertiesFormat - Properties of IP configuration. type NetworkInterfaceIPConfigurationPropertiesFormat struct { // The reference to ApplicationGatewayBackendAddressPool resource. ApplicationGatewayBackendAddressPools []*ApplicationGatewayBackendAddressPool `json:"applicationGatewayBackendAddressPools,omitempty"` // Application security groups in which the IP configuration is included. ApplicationSecurityGroups []*ApplicationSecurityGroup `json:"applicationSecurityGroups,omitempty"` // The reference to gateway load balancer frontend IP. GatewayLoadBalancer *SubResource `json:"gatewayLoadBalancer,omitempty"` // The reference to LoadBalancerBackendAddressPool resource. LoadBalancerBackendAddressPools []*BackendAddressPool `json:"loadBalancerBackendAddressPools,omitempty"` // A list of references of LoadBalancerInboundNatRules. LoadBalancerInboundNatRules []*InboundNatRule `json:"loadBalancerInboundNatRules,omitempty"` // Whether this is a primary customer address on the network interface. Primary *bool `json:"primary,omitempty"` // Private IP address of the IP configuration. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` // The private IP address allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // Public IP address bound to the IP configuration. PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` // Subnet bound to the IP configuration. Subnet *Subnet `json:"subnet,omitempty"` // The reference to Virtual Network Taps. VirtualNetworkTaps []*VirtualNetworkTap `json:"virtualNetworkTaps,omitempty"` // READ-ONLY; PrivateLinkConnection properties for the network interface. PrivateLinkConnectionProperties *NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties `json:"privateLinkConnectionProperties,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the network interface IP configuration. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfigurationPropertiesFormat. func (n NetworkInterfaceIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "applicationGatewayBackendAddressPools", n.ApplicationGatewayBackendAddressPools) populate(objectMap, "applicationSecurityGroups", n.ApplicationSecurityGroups) populate(objectMap, "gatewayLoadBalancer", n.GatewayLoadBalancer) populate(objectMap, "loadBalancerBackendAddressPools", n.LoadBalancerBackendAddressPools) populate(objectMap, "loadBalancerInboundNatRules", n.LoadBalancerInboundNatRules) populate(objectMap, "primary", n.Primary) populate(objectMap, "privateIPAddress", n.PrivateIPAddress) populate(objectMap, "privateIPAddressVersion", n.PrivateIPAddressVersion) populate(objectMap, "privateIPAllocationMethod", n.PrivateIPAllocationMethod) populate(objectMap, "privateLinkConnectionProperties", n.PrivateLinkConnectionProperties) populate(objectMap, "provisioningState", n.ProvisioningState) populate(objectMap, "publicIPAddress", n.PublicIPAddress) populate(objectMap, "subnet", n.Subnet) populate(objectMap, "virtualNetworkTaps", n.VirtualNetworkTaps) return json.Marshal(objectMap) } // NetworkInterfaceIPConfigurationsGetOptions contains the optional parameters for the NetworkInterfaceIPConfigurations.Get method. type NetworkInterfaceIPConfigurationsGetOptions struct { // placeholder for future optional parameters } // NetworkInterfaceIPConfigurationsListOptions contains the optional parameters for the NetworkInterfaceIPConfigurations.List method. type NetworkInterfaceIPConfigurationsListOptions struct { // placeholder for future optional parameters } // NetworkInterfaceListResult - Response for the ListNetworkInterface API service call. type NetworkInterfaceListResult struct { // A list of network interfaces in a resource group. Value []*NetworkInterface `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceListResult. func (n NetworkInterfaceListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkInterfaceLoadBalancerListResult - Response for list ip configurations API service call. type NetworkInterfaceLoadBalancerListResult struct { // A list of load balancers. Value []*LoadBalancer `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceLoadBalancerListResult. func (n NetworkInterfaceLoadBalancerListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkInterfaceLoadBalancersListOptions contains the optional parameters for the NetworkInterfaceLoadBalancers.List method. type NetworkInterfaceLoadBalancersListOptions struct { // placeholder for future optional parameters } // NetworkInterfacePropertiesFormat - NetworkInterface properties. type NetworkInterfacePropertiesFormat struct { // The DNS settings in network interface. DNSSettings *NetworkInterfaceDNSSettings `json:"dnsSettings,omitempty"` // If the network interface is accelerated networking enabled. EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"` // Indicates whether IP forwarding is enabled on this network interface. EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"` // A list of IPConfigurations of the network interface. IPConfigurations []*NetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty"` // Migration phase of Network Interface resource. MigrationPhase *NetworkInterfaceMigrationPhase `json:"migrationPhase,omitempty"` // The reference to the NetworkSecurityGroup resource. NetworkSecurityGroup *NetworkSecurityGroup `json:"networkSecurityGroup,omitempty"` // Type of Network Interface resource. NicType *NetworkInterfaceNicType `json:"nicType,omitempty"` // Privatelinkservice of the network interface resource. PrivateLinkService *PrivateLinkService `json:"privateLinkService,omitempty"` // WorkloadType of the NetworkInterface for BareMetal resources WorkloadType *string `json:"workloadType,omitempty"` // READ-ONLY; A reference to the dscp configuration to which the network interface is linked. DscpConfiguration *SubResource `json:"dscpConfiguration,omitempty" azure:"ro"` // READ-ONLY; A list of references to linked BareMetal resources. HostedWorkloads []*string `json:"hostedWorkloads,omitempty" azure:"ro"` // READ-ONLY; The MAC address of the network interface. MacAddress *string `json:"macAddress,omitempty" azure:"ro"` // READ-ONLY; Whether this is a primary network interface on a virtual machine. Primary *bool `json:"primary,omitempty" azure:"ro"` // READ-ONLY; A reference to the private endpoint to which the network interface is linked. PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the network interface resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the network interface resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; A list of TapConfigurations of the network interface. TapConfigurations []*NetworkInterfaceTapConfiguration `json:"tapConfigurations,omitempty" azure:"ro"` // READ-ONLY; The reference to a virtual machine. VirtualMachine *SubResource `json:"virtualMachine,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfacePropertiesFormat. func (n NetworkInterfacePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "dnsSettings", n.DNSSettings) populate(objectMap, "dscpConfiguration", n.DscpConfiguration) populate(objectMap, "enableAcceleratedNetworking", n.EnableAcceleratedNetworking) populate(objectMap, "enableIPForwarding", n.EnableIPForwarding) populate(objectMap, "hostedWorkloads", n.HostedWorkloads) populate(objectMap, "ipConfigurations", n.IPConfigurations) populate(objectMap, "macAddress", n.MacAddress) populate(objectMap, "migrationPhase", n.MigrationPhase) populate(objectMap, "networkSecurityGroup", n.NetworkSecurityGroup) populate(objectMap, "nicType", n.NicType) populate(objectMap, "primary", n.Primary) populate(objectMap, "privateEndpoint", n.PrivateEndpoint) populate(objectMap, "privateLinkService", n.PrivateLinkService) populate(objectMap, "provisioningState", n.ProvisioningState) populate(objectMap, "resourceGuid", n.ResourceGUID) populate(objectMap, "tapConfigurations", n.TapConfigurations) populate(objectMap, "virtualMachine", n.VirtualMachine) populate(objectMap, "workloadType", n.WorkloadType) return json.Marshal(objectMap) } // NetworkInterfaceTapConfiguration - Tap configuration in a Network Interface. type NetworkInterfaceTapConfiguration struct { SubResource // The 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"` // Properties of the Virtual Network Tap configuration. Properties *NetworkInterfaceTapConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Sub Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceTapConfiguration. func (n NetworkInterfaceTapConfiguration) MarshalJSON() ([]byte, error) { objectMap := n.SubResource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "name", n.Name) populate(objectMap, "properties", n.Properties) populate(objectMap, "type", n.Type) return json.Marshal(objectMap) } // NetworkInterfaceTapConfigurationListResult - Response for list tap configurations API service call. type NetworkInterfaceTapConfigurationListResult struct { // A list of tap configurations. Value []*NetworkInterfaceTapConfiguration `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceTapConfigurationListResult. func (n NetworkInterfaceTapConfigurationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkInterfaceTapConfigurationPropertiesFormat - Properties of Virtual Network Tap configuration. type NetworkInterfaceTapConfigurationPropertiesFormat struct { // The reference to the Virtual Network Tap resource. VirtualNetworkTap *VirtualNetworkTap `json:"virtualNetworkTap,omitempty"` // READ-ONLY; The provisioning state of the network interface tap configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // NetworkInterfaceTapConfigurationsBeginCreateOrUpdateOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.BeginCreateOrUpdate // method. type NetworkInterfaceTapConfigurationsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NetworkInterfaceTapConfigurationsBeginDeleteOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.BeginDelete method. type NetworkInterfaceTapConfigurationsBeginDeleteOptions struct { // placeholder for future optional parameters } // NetworkInterfaceTapConfigurationsGetOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.Get method. type NetworkInterfaceTapConfigurationsGetOptions struct { // placeholder for future optional parameters } // NetworkInterfaceTapConfigurationsListOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.List method. type NetworkInterfaceTapConfigurationsListOptions struct { // placeholder for future optional parameters } // NetworkInterfacesBeginCreateOrUpdateOptions contains the optional parameters for the NetworkInterfaces.BeginCreateOrUpdate method. type NetworkInterfacesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NetworkInterfacesBeginDeleteOptions contains the optional parameters for the NetworkInterfaces.BeginDelete method. type NetworkInterfacesBeginDeleteOptions struct { // placeholder for future optional parameters } // NetworkInterfacesBeginGetEffectiveRouteTableOptions contains the optional parameters for the NetworkInterfaces.BeginGetEffectiveRouteTable method. type NetworkInterfacesBeginGetEffectiveRouteTableOptions struct { // placeholder for future optional parameters } // NetworkInterfacesBeginListEffectiveNetworkSecurityGroupsOptions contains the optional parameters for the NetworkInterfaces.BeginListEffectiveNetworkSecurityGroups // method. type NetworkInterfacesBeginListEffectiveNetworkSecurityGroupsOptions struct { // placeholder for future optional parameters } // NetworkInterfacesGetCloudServiceNetworkInterfaceOptions contains the optional parameters for the NetworkInterfaces.GetCloudServiceNetworkInterface method. type NetworkInterfacesGetCloudServiceNetworkInterfaceOptions struct { // Expands referenced resources. Expand *string } // NetworkInterfacesGetOptions contains the optional parameters for the NetworkInterfaces.Get method. type NetworkInterfacesGetOptions struct { // Expands referenced resources. Expand *string } // NetworkInterfacesGetVirtualMachineScaleSetIPConfigurationOptions contains the optional parameters for the NetworkInterfaces.GetVirtualMachineScaleSetIPConfiguration // method. type NetworkInterfacesGetVirtualMachineScaleSetIPConfigurationOptions struct { // Expands referenced resources. Expand *string } // NetworkInterfacesGetVirtualMachineScaleSetNetworkInterfaceOptions contains the optional parameters for the NetworkInterfaces.GetVirtualMachineScaleSetNetworkInterface // method. type NetworkInterfacesGetVirtualMachineScaleSetNetworkInterfaceOptions struct { // Expands referenced resources. Expand *string } // NetworkInterfacesListAllOptions contains the optional parameters for the NetworkInterfaces.ListAll method. type NetworkInterfacesListAllOptions struct { // placeholder for future optional parameters } // NetworkInterfacesListCloudServiceNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListCloudServiceNetworkInterfaces // method. type NetworkInterfacesListCloudServiceNetworkInterfacesOptions struct { // placeholder for future optional parameters } // NetworkInterfacesListCloudServiceRoleInstanceNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListCloudServiceRoleInstanceNetworkInterfaces // method. type NetworkInterfacesListCloudServiceRoleInstanceNetworkInterfacesOptions struct { // placeholder for future optional parameters } // NetworkInterfacesListOptions contains the optional parameters for the NetworkInterfaces.List method. type NetworkInterfacesListOptions struct { // placeholder for future optional parameters } // NetworkInterfacesListVirtualMachineScaleSetIPConfigurationsOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetIPConfigurations // method. type NetworkInterfacesListVirtualMachineScaleSetIPConfigurationsOptions struct { // Expands referenced resources. Expand *string } // NetworkInterfacesListVirtualMachineScaleSetNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetNetworkInterfaces // method. type NetworkInterfacesListVirtualMachineScaleSetNetworkInterfacesOptions struct { // placeholder for future optional parameters } // NetworkInterfacesListVirtualMachineScaleSetVMNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetVMNetworkInterfaces // method. type NetworkInterfacesListVirtualMachineScaleSetVMNetworkInterfacesOptions struct { // placeholder for future optional parameters } // NetworkInterfacesUpdateTagsOptions contains the optional parameters for the NetworkInterfaces.UpdateTags method. type NetworkInterfacesUpdateTagsOptions struct { // placeholder for future optional parameters } // NetworkManagementClientBeginDeleteBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.BeginDeleteBastionShareableLink // method. type NetworkManagementClientBeginDeleteBastionShareableLinkOptions struct { // placeholder for future optional parameters } // NetworkManagementClientBeginGeneratevirtualwanvpnserverconfigurationvpnprofileOptions contains the optional parameters for the NetworkManagementClient.BeginGeneratevirtualwanvpnserverconfigurationvpnprofile // method. type NetworkManagementClientBeginGeneratevirtualwanvpnserverconfigurationvpnprofileOptions struct { // placeholder for future optional parameters } // NetworkManagementClientBeginGetActiveSessionsOptions contains the optional parameters for the NetworkManagementClient.BeginGetActiveSessions method. type NetworkManagementClientBeginGetActiveSessionsOptions struct { // placeholder for future optional parameters } // NetworkManagementClientBeginPutBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.BeginPutBastionShareableLink // method. type NetworkManagementClientBeginPutBastionShareableLinkOptions struct { // placeholder for future optional parameters } // NetworkManagementClientCheckDNSNameAvailabilityOptions contains the optional parameters for the NetworkManagementClient.CheckDNSNameAvailability method. type NetworkManagementClientCheckDNSNameAvailabilityOptions struct { // placeholder for future optional parameters } // NetworkManagementClientDisconnectActiveSessionsOptions contains the optional parameters for the NetworkManagementClient.DisconnectActiveSessions method. type NetworkManagementClientDisconnectActiveSessionsOptions struct { // placeholder for future optional parameters } // NetworkManagementClientGetBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.GetBastionShareableLink method. type NetworkManagementClientGetBastionShareableLinkOptions struct { // placeholder for future optional parameters } // NetworkManagementClientSupportedSecurityProvidersOptions contains the optional parameters for the NetworkManagementClient.SupportedSecurityProviders // method. type NetworkManagementClientSupportedSecurityProvidersOptions struct { // placeholder for future optional parameters } // NetworkProfile - Network profile resource. type NetworkProfile struct { Resource // Network profile properties. Properties *NetworkProfilePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkProfile. func (n NetworkProfile) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "properties", n.Properties) return json.Marshal(objectMap) } // NetworkProfileListResult - Response for ListNetworkProfiles API service call. type NetworkProfileListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of network profiles that exist in a resource group. Value []*NetworkProfile `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkProfileListResult. func (n NetworkProfileListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkProfilePropertiesFormat - Network profile properties. type NetworkProfilePropertiesFormat struct { // List of chid container network interface configurations. ContainerNetworkInterfaceConfigurations []*ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfigurations,omitempty"` // READ-ONLY; List of child container network interfaces. ContainerNetworkInterfaces []*ContainerNetworkInterface `json:"containerNetworkInterfaces,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the network profile resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the network profile resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkProfilePropertiesFormat. func (n NetworkProfilePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "containerNetworkInterfaceConfigurations", n.ContainerNetworkInterfaceConfigurations) populate(objectMap, "containerNetworkInterfaces", n.ContainerNetworkInterfaces) populate(objectMap, "provisioningState", n.ProvisioningState) populate(objectMap, "resourceGuid", n.ResourceGUID) return json.Marshal(objectMap) } // NetworkProfilesBeginDeleteOptions contains the optional parameters for the NetworkProfiles.BeginDelete method. type NetworkProfilesBeginDeleteOptions struct { // placeholder for future optional parameters } // NetworkProfilesCreateOrUpdateOptions contains the optional parameters for the NetworkProfiles.CreateOrUpdate method. type NetworkProfilesCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NetworkProfilesGetOptions contains the optional parameters for the NetworkProfiles.Get method. type NetworkProfilesGetOptions struct { // Expands referenced resources. Expand *string } // NetworkProfilesListAllOptions contains the optional parameters for the NetworkProfiles.ListAll method. type NetworkProfilesListAllOptions struct { // placeholder for future optional parameters } // NetworkProfilesListOptions contains the optional parameters for the NetworkProfiles.List method. type NetworkProfilesListOptions struct { // placeholder for future optional parameters } // NetworkProfilesUpdateTagsOptions contains the optional parameters for the NetworkProfiles.UpdateTags method. type NetworkProfilesUpdateTagsOptions struct { // placeholder for future optional parameters } // NetworkRule - Rule of type network. type NetworkRule struct { FirewallPolicyRule // List of destination IP addresses or Service Tags. DestinationAddresses []*string `json:"destinationAddresses,omitempty"` // List of destination FQDNs. DestinationFqdns []*string `json:"destinationFqdns,omitempty"` // List of destination IpGroups for this rule. DestinationIPGroups []*string `json:"destinationIpGroups,omitempty"` // List of destination ports. DestinationPorts []*string `json:"destinationPorts,omitempty"` // Array of FirewallPolicyRuleNetworkProtocols. IPProtocols []*FirewallPolicyRuleNetworkProtocol `json:"ipProtocols,omitempty"` // List of source IP addresses for this rule. SourceAddresses []*string `json:"sourceAddresses,omitempty"` // List of source IpGroups for this rule. SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkRule. func (n NetworkRule) MarshalJSON() ([]byte, error) { objectMap := n.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeNetworkRule) populate(objectMap, "destinationAddresses", n.DestinationAddresses) populate(objectMap, "destinationFqdns", n.DestinationFqdns) populate(objectMap, "destinationIpGroups", n.DestinationIPGroups) populate(objectMap, "destinationPorts", n.DestinationPorts) populate(objectMap, "ipProtocols", n.IPProtocols) populate(objectMap, "sourceAddresses", n.SourceAddresses) populate(objectMap, "sourceIpGroups", n.SourceIPGroups) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type NetworkRule. func (n *NetworkRule) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "destinationAddresses": err = unpopulate(val, &n.DestinationAddresses) delete(rawMsg, key) case "destinationFqdns": err = unpopulate(val, &n.DestinationFqdns) delete(rawMsg, key) case "destinationIpGroups": err = unpopulate(val, &n.DestinationIPGroups) delete(rawMsg, key) case "destinationPorts": err = unpopulate(val, &n.DestinationPorts) delete(rawMsg, key) case "ipProtocols": err = unpopulate(val, &n.IPProtocols) delete(rawMsg, key) case "sourceAddresses": err = unpopulate(val, &n.SourceAddresses) delete(rawMsg, key) case "sourceIpGroups": err = unpopulate(val, &n.SourceIPGroups) delete(rawMsg, key) } if err != nil { return err } } return n.FirewallPolicyRule.unmarshalInternal(rawMsg) } // NetworkSecurityGroup resource. type NetworkSecurityGroup struct { Resource // Properties of the network security group. Properties *NetworkSecurityGroupPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroup. func (n NetworkSecurityGroup) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "properties", n.Properties) return json.Marshal(objectMap) } // NetworkSecurityGroupListResult - Response for ListNetworkSecurityGroups API service call. type NetworkSecurityGroupListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of NetworkSecurityGroup resources. Value []*NetworkSecurityGroup `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroupListResult. func (n NetworkSecurityGroupListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkSecurityGroupPropertiesFormat - Network Security Group resource. type NetworkSecurityGroupPropertiesFormat struct { // A collection of security rules of the network security group. SecurityRules []*SecurityRule `json:"securityRules,omitempty"` // READ-ONLY; The default security rules of network security group. DefaultSecurityRules []*SecurityRule `json:"defaultSecurityRules,omitempty" azure:"ro"` // READ-ONLY; A collection of references to flow log resources. FlowLogs []*FlowLog `json:"flowLogs,omitempty" azure:"ro"` // READ-ONLY; A collection of references to network interfaces. NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the network security group resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the network security group resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; A collection of references to subnets. Subnets []*Subnet `json:"subnets,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroupPropertiesFormat. func (n NetworkSecurityGroupPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "defaultSecurityRules", n.DefaultSecurityRules) populate(objectMap, "flowLogs", n.FlowLogs) populate(objectMap, "networkInterfaces", n.NetworkInterfaces) populate(objectMap, "provisioningState", n.ProvisioningState) populate(objectMap, "resourceGuid", n.ResourceGUID) populate(objectMap, "securityRules", n.SecurityRules) populate(objectMap, "subnets", n.Subnets) return json.Marshal(objectMap) } // NetworkSecurityGroupResult - Network configuration diagnostic result corresponded provided traffic query. type NetworkSecurityGroupResult struct { // The network traffic is allowed or denied. SecurityRuleAccessResult *SecurityRuleAccess `json:"securityRuleAccessResult,omitempty"` // READ-ONLY; List of results network security groups diagnostic. EvaluatedNetworkSecurityGroups []*EvaluatedNetworkSecurityGroup `json:"evaluatedNetworkSecurityGroups,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroupResult. func (n NetworkSecurityGroupResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "evaluatedNetworkSecurityGroups", n.EvaluatedNetworkSecurityGroups) populate(objectMap, "securityRuleAccessResult", n.SecurityRuleAccessResult) return json.Marshal(objectMap) } // NetworkSecurityGroupsBeginCreateOrUpdateOptions contains the optional parameters for the NetworkSecurityGroups.BeginCreateOrUpdate method. type NetworkSecurityGroupsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NetworkSecurityGroupsBeginDeleteOptions contains the optional parameters for the NetworkSecurityGroups.BeginDelete method. type NetworkSecurityGroupsBeginDeleteOptions struct { // placeholder for future optional parameters } // NetworkSecurityGroupsGetOptions contains the optional parameters for the NetworkSecurityGroups.Get method. type NetworkSecurityGroupsGetOptions struct { // Expands referenced resources. Expand *string } // NetworkSecurityGroupsListAllOptions contains the optional parameters for the NetworkSecurityGroups.ListAll method. type NetworkSecurityGroupsListAllOptions struct { // placeholder for future optional parameters } // NetworkSecurityGroupsListOptions contains the optional parameters for the NetworkSecurityGroups.List method. type NetworkSecurityGroupsListOptions struct { // placeholder for future optional parameters } // NetworkSecurityGroupsUpdateTagsOptions contains the optional parameters for the NetworkSecurityGroups.UpdateTags method. type NetworkSecurityGroupsUpdateTagsOptions struct { // placeholder for future optional parameters } // NetworkSecurityRulesEvaluationResult - Network security rules evaluation result. type NetworkSecurityRulesEvaluationResult struct { // Value indicating whether destination is matched. DestinationMatched *bool `json:"destinationMatched,omitempty"` // Value indicating whether destination port is matched. DestinationPortMatched *bool `json:"destinationPortMatched,omitempty"` // Name of the network security rule. Name *string `json:"name,omitempty"` // Value indicating whether protocol is matched. ProtocolMatched *bool `json:"protocolMatched,omitempty"` // Value indicating whether source is matched. SourceMatched *bool `json:"sourceMatched,omitempty"` // Value indicating whether source port is matched. SourcePortMatched *bool `json:"sourcePortMatched,omitempty"` } // NetworkVirtualAppliance Resource. type NetworkVirtualAppliance struct { Resource // The service principal that has read access to cloud-init and config blob. Identity *ManagedServiceIdentity `json:"identity,omitempty"` // Properties of the Network Virtual Appliance. Properties *NetworkVirtualAppliancePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkVirtualAppliance. func (n NetworkVirtualAppliance) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "identity", n.Identity) populate(objectMap, "properties", n.Properties) return json.Marshal(objectMap) } // NetworkVirtualApplianceListResult - Response for ListNetworkVirtualAppliances API service call. type NetworkVirtualApplianceListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Network Virtual Appliances. Value []*NetworkVirtualAppliance `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceListResult. func (n NetworkVirtualApplianceListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkVirtualAppliancePropertiesFormat - Network Virtual Appliance definition. type NetworkVirtualAppliancePropertiesFormat struct { // BootStrapConfigurationBlobs storage URLs. BootStrapConfigurationBlobs []*string `json:"bootStrapConfigurationBlobs,omitempty"` // CloudInitConfiguration string in plain text. CloudInitConfiguration *string `json:"cloudInitConfiguration,omitempty"` // CloudInitConfigurationBlob storage URLs. CloudInitConfigurationBlobs []*string `json:"cloudInitConfigurationBlobs,omitempty"` // Network Virtual Appliance SKU. NvaSKU *VirtualApplianceSKUProperties `json:"nvaSku,omitempty"` // VirtualAppliance ASN. VirtualApplianceAsn *int64 `json:"virtualApplianceAsn,omitempty"` // The Virtual Hub where Network Virtual Appliance is being deployed. VirtualHub *SubResource `json:"virtualHub,omitempty"` // READ-ONLY; Address Prefix. AddressPrefix *string `json:"addressPrefix,omitempty" azure:"ro"` // READ-ONLY; List of references to InboundSecurityRules. InboundSecurityRules []*SubResource `json:"inboundSecurityRules,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; List of Virtual Appliance Network Interfaces. VirtualApplianceNics []*VirtualApplianceNicProperties `json:"virtualApplianceNics,omitempty" azure:"ro"` // READ-ONLY; List of references to VirtualApplianceSite. VirtualApplianceSites []*SubResource `json:"virtualApplianceSites,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkVirtualAppliancePropertiesFormat. func (n NetworkVirtualAppliancePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefix", n.AddressPrefix) populate(objectMap, "bootStrapConfigurationBlobs", n.BootStrapConfigurationBlobs) populate(objectMap, "cloudInitConfiguration", n.CloudInitConfiguration) populate(objectMap, "cloudInitConfigurationBlobs", n.CloudInitConfigurationBlobs) populate(objectMap, "inboundSecurityRules", n.InboundSecurityRules) populate(objectMap, "nvaSku", n.NvaSKU) populate(objectMap, "provisioningState", n.ProvisioningState) populate(objectMap, "virtualApplianceAsn", n.VirtualApplianceAsn) populate(objectMap, "virtualApplianceNics", n.VirtualApplianceNics) populate(objectMap, "virtualApplianceSites", n.VirtualApplianceSites) populate(objectMap, "virtualHub", n.VirtualHub) return json.Marshal(objectMap) } // NetworkVirtualApplianceSKU - Definition of the NetworkVirtualApplianceSkus resource. type NetworkVirtualApplianceSKU struct { Resource // NetworkVirtualApplianceSku properties. Properties *NetworkVirtualApplianceSKUPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSKU. func (n NetworkVirtualApplianceSKU) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "properties", n.Properties) return json.Marshal(objectMap) } // NetworkVirtualApplianceSKUInstances - List of available Sku and instances. type NetworkVirtualApplianceSKUInstances struct { // READ-ONLY; Instance Count. InstanceCount *int32 `json:"instanceCount,omitempty" azure:"ro"` // READ-ONLY; Scale Unit. ScaleUnit *string `json:"scaleUnit,omitempty" azure:"ro"` } // NetworkVirtualApplianceSKUListResult - Response for ListNetworkVirtualApplianceSkus API service call. type NetworkVirtualApplianceSKUListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Network Virtual Appliance Skus that are available. Value []*NetworkVirtualApplianceSKU `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSKUListResult. func (n NetworkVirtualApplianceSKUListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkVirtualApplianceSKUPropertiesFormat - Properties specific to NetworkVirtualApplianceSkus. type NetworkVirtualApplianceSKUPropertiesFormat struct { // The list of scale units available. AvailableScaleUnits []*NetworkVirtualApplianceSKUInstances `json:"availableScaleUnits,omitempty"` // READ-ONLY; Available Network Virtual Appliance versions. AvailableVersions []*string `json:"availableVersions,omitempty" azure:"ro"` // READ-ONLY; Network Virtual Appliance Sku vendor. Vendor *string `json:"vendor,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSKUPropertiesFormat. func (n NetworkVirtualApplianceSKUPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "availableScaleUnits", n.AvailableScaleUnits) populate(objectMap, "availableVersions", n.AvailableVersions) populate(objectMap, "vendor", n.Vendor) return json.Marshal(objectMap) } // NetworkVirtualApplianceSiteListResult - Response for ListNetworkVirtualApplianceSites API service call. type NetworkVirtualApplianceSiteListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Network Virtual Appliance sites. Value []*VirtualApplianceSite `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSiteListResult. func (n NetworkVirtualApplianceSiteListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", n.NextLink) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkVirtualAppliancesBeginCreateOrUpdateOptions contains the optional parameters for the NetworkVirtualAppliances.BeginCreateOrUpdate method. type NetworkVirtualAppliancesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NetworkVirtualAppliancesBeginDeleteOptions contains the optional parameters for the NetworkVirtualAppliances.BeginDelete method. type NetworkVirtualAppliancesBeginDeleteOptions struct { // placeholder for future optional parameters } // NetworkVirtualAppliancesGetOptions contains the optional parameters for the NetworkVirtualAppliances.Get method. type NetworkVirtualAppliancesGetOptions struct { // Expands referenced resources. Expand *string } // NetworkVirtualAppliancesListByResourceGroupOptions contains the optional parameters for the NetworkVirtualAppliances.ListByResourceGroup method. type NetworkVirtualAppliancesListByResourceGroupOptions struct { // placeholder for future optional parameters } // NetworkVirtualAppliancesListOptions contains the optional parameters for the NetworkVirtualAppliances.List method. type NetworkVirtualAppliancesListOptions struct { // placeholder for future optional parameters } // NetworkVirtualAppliancesUpdateTagsOptions contains the optional parameters for the NetworkVirtualAppliances.UpdateTags method. type NetworkVirtualAppliancesUpdateTagsOptions struct { // placeholder for future optional parameters } // NetworkWatcher - Network watcher in a resource group. type NetworkWatcher struct { Resource // Properties of the network watcher. Properties *NetworkWatcherPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type NetworkWatcher. func (n NetworkWatcher) MarshalJSON() ([]byte, error) { objectMap := n.Resource.marshalInternal() populate(objectMap, "etag", n.Etag) populate(objectMap, "properties", n.Properties) return json.Marshal(objectMap) } // NetworkWatcherListResult - Response for ListNetworkWatchers API service call. type NetworkWatcherListResult struct { // List of network watcher resources. Value []*NetworkWatcher `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type NetworkWatcherListResult. func (n NetworkWatcherListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", n.Value) return json.Marshal(objectMap) } // NetworkWatcherPropertiesFormat - The network watcher properties. type NetworkWatcherPropertiesFormat struct { // READ-ONLY; The provisioning state of the network watcher resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // NetworkWatchersBeginCheckConnectivityOptions contains the optional parameters for the NetworkWatchers.BeginCheckConnectivity method. type NetworkWatchersBeginCheckConnectivityOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginDeleteOptions contains the optional parameters for the NetworkWatchers.BeginDelete method. type NetworkWatchersBeginDeleteOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginGetAzureReachabilityReportOptions contains the optional parameters for the NetworkWatchers.BeginGetAzureReachabilityReport method. type NetworkWatchersBeginGetAzureReachabilityReportOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginGetFlowLogStatusOptions contains the optional parameters for the NetworkWatchers.BeginGetFlowLogStatus method. type NetworkWatchersBeginGetFlowLogStatusOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginGetNetworkConfigurationDiagnosticOptions contains the optional parameters for the NetworkWatchers.BeginGetNetworkConfigurationDiagnostic // method. type NetworkWatchersBeginGetNetworkConfigurationDiagnosticOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginGetNextHopOptions contains the optional parameters for the NetworkWatchers.BeginGetNextHop method. type NetworkWatchersBeginGetNextHopOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginGetTroubleshootingOptions contains the optional parameters for the NetworkWatchers.BeginGetTroubleshooting method. type NetworkWatchersBeginGetTroubleshootingOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginGetTroubleshootingResultOptions contains the optional parameters for the NetworkWatchers.BeginGetTroubleshootingResult method. type NetworkWatchersBeginGetTroubleshootingResultOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginGetVMSecurityRulesOptions contains the optional parameters for the NetworkWatchers.BeginGetVMSecurityRules method. type NetworkWatchersBeginGetVMSecurityRulesOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginListAvailableProvidersOptions contains the optional parameters for the NetworkWatchers.BeginListAvailableProviders method. type NetworkWatchersBeginListAvailableProvidersOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginSetFlowLogConfigurationOptions contains the optional parameters for the NetworkWatchers.BeginSetFlowLogConfiguration method. type NetworkWatchersBeginSetFlowLogConfigurationOptions struct { // placeholder for future optional parameters } // NetworkWatchersBeginVerifyIPFlowOptions contains the optional parameters for the NetworkWatchers.BeginVerifyIPFlow method. type NetworkWatchersBeginVerifyIPFlowOptions struct { // placeholder for future optional parameters } // NetworkWatchersCreateOrUpdateOptions contains the optional parameters for the NetworkWatchers.CreateOrUpdate method. type NetworkWatchersCreateOrUpdateOptions struct { // placeholder for future optional parameters } // NetworkWatchersGetOptions contains the optional parameters for the NetworkWatchers.Get method. type NetworkWatchersGetOptions struct { // placeholder for future optional parameters } // NetworkWatchersGetTopologyOptions contains the optional parameters for the NetworkWatchers.GetTopology method. type NetworkWatchersGetTopologyOptions struct { // placeholder for future optional parameters } // NetworkWatchersListAllOptions contains the optional parameters for the NetworkWatchers.ListAll method. type NetworkWatchersListAllOptions struct { // placeholder for future optional parameters } // NetworkWatchersListOptions contains the optional parameters for the NetworkWatchers.List method. type NetworkWatchersListOptions struct { // placeholder for future optional parameters } // NetworkWatchersUpdateTagsOptions contains the optional parameters for the NetworkWatchers.UpdateTags method. type NetworkWatchersUpdateTagsOptions struct { // placeholder for future optional parameters } // NextHopParameters - Parameters that define the source and destination endpoint. type NextHopParameters struct { // REQUIRED; The destination IP address. DestinationIPAddress *string `json:"destinationIPAddress,omitempty"` // REQUIRED; The source IP address. SourceIPAddress *string `json:"sourceIPAddress,omitempty"` // REQUIRED; The resource identifier of the target resource against which the action is to be performed. TargetResourceID *string `json:"targetResourceId,omitempty"` // The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional). TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` } // NextHopResult - The information about next hop from the specified VM. type NextHopResult struct { // Next hop IP Address. NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` // Next hop type. NextHopType *NextHopType `json:"nextHopType,omitempty"` // The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created // routes then this field will be the string // 'System Route'. RouteTableID *string `json:"routeTableId,omitempty"` } // O365BreakOutCategoryPolicies - Office365 breakout categories. type O365BreakOutCategoryPolicies struct { // Flag to control allow category. Allow *bool `json:"allow,omitempty"` // Flag to control default category. Default *bool `json:"default,omitempty"` // Flag to control optimize category. Optimize *bool `json:"optimize,omitempty"` } // O365PolicyProperties - The Office365 breakout policy. type O365PolicyProperties struct { // Office365 breakout categories. BreakOutCategories *O365BreakOutCategoryPolicies `json:"breakOutCategories,omitempty"` } // Office365PolicyProperties - Network Virtual Appliance Sku Properties. type Office365PolicyProperties struct { // Office 365 breakout categories. BreakOutCategories *BreakOutCategoryPolicies `json:"breakOutCategories,omitempty"` } // Operation - Network REST API operation definition. type Operation struct { // Display metadata associated with the operation. Display *OperationDisplay `json:"display,omitempty"` // Operation name: {provider}/{resource}/{operation}. Name *string `json:"name,omitempty"` // Origin of the operation. Origin *string `json:"origin,omitempty"` // Operation properties format. Properties *OperationPropertiesFormat `json:"properties,omitempty"` } // OperationDisplay - Display metadata associated with the operation. type OperationDisplay struct { // Description of the operation. Description *string `json:"description,omitempty"` // Type of the operation: get, read, delete, etc. Operation *string `json:"operation,omitempty"` // Service provider: Microsoft Network. Provider *string `json:"provider,omitempty"` // Resource on which the operation is performed. Resource *string `json:"resource,omitempty"` } // OperationListResult - Result of the request to list Network operations. It contains a list of operations and a URL link to get the next set of results. type OperationListResult struct { // URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` // List of Network operations supported by the Network resource provider. Value []*Operation `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type OperationListResult. func (o OperationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", o.NextLink) populate(objectMap, "value", o.Value) return json.Marshal(objectMap) } // OperationPropertiesFormat - Description of operation properties format. type OperationPropertiesFormat struct { // Specification of the service. ServiceSpecification *OperationPropertiesFormatServiceSpecification `json:"serviceSpecification,omitempty"` } // OperationPropertiesFormatServiceSpecification - Specification of the service. type OperationPropertiesFormatServiceSpecification struct { // Operation log specification. LogSpecifications []*LogSpecification `json:"logSpecifications,omitempty"` // Operation service specification. MetricSpecifications []*MetricSpecification `json:"metricSpecifications,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type OperationPropertiesFormatServiceSpecification. func (o OperationPropertiesFormatServiceSpecification) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "logSpecifications", o.LogSpecifications) populate(objectMap, "metricSpecifications", o.MetricSpecifications) return json.Marshal(objectMap) } // OperationsListOptions contains the optional parameters for the Operations.List method. type OperationsListOptions struct { // placeholder for future optional parameters } // OutboundRule - Outbound rule of the load balancer. type OutboundRule struct { SubResource // The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of load balancer outbound rule. Properties *OutboundRulePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type OutboundRule. func (o OutboundRule) MarshalJSON() ([]byte, error) { objectMap := o.SubResource.marshalInternal() populate(objectMap, "etag", o.Etag) populate(objectMap, "name", o.Name) populate(objectMap, "properties", o.Properties) populate(objectMap, "type", o.Type) return json.Marshal(objectMap) } // OutboundRulePropertiesFormat - Outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // REQUIRED; A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` // REQUIRED; The Frontend IP addresses of the load balancer. FrontendIPConfigurations []*SubResource `json:"frontendIPConfigurations,omitempty"` // REQUIRED; The protocol for the outbound rule in load balancer. Protocol *LoadBalancerOutboundRuleProtocol `json:"protocol,omitempty"` // The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to // TCP. EnableTCPReset *bool `json:"enableTcpReset,omitempty"` // The timeout for the TCP idle connection. IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` // READ-ONLY; The provisioning state of the outbound rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type OutboundRulePropertiesFormat. func (o OutboundRulePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "allocatedOutboundPorts", o.AllocatedOutboundPorts) populate(objectMap, "backendAddressPool", o.BackendAddressPool) populate(objectMap, "enableTcpReset", o.EnableTCPReset) populate(objectMap, "frontendIPConfigurations", o.FrontendIPConfigurations) populate(objectMap, "idleTimeoutInMinutes", o.IdleTimeoutInMinutes) populate(objectMap, "protocol", o.Protocol) populate(objectMap, "provisioningState", o.ProvisioningState) return json.Marshal(objectMap) } // OwaspCrsExclusionEntry - Allow to exclude some variable satisfy the condition for the WAF check. type OwaspCrsExclusionEntry struct { // REQUIRED; The variable to be excluded. MatchVariable *OwaspCrsExclusionEntryMatchVariable `json:"matchVariable,omitempty"` // REQUIRED; When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. Selector *string `json:"selector,omitempty"` // REQUIRED; When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. SelectorMatchOperator *OwaspCrsExclusionEntrySelectorMatchOperator `json:"selectorMatchOperator,omitempty"` } // P2SConnectionConfiguration Resource. type P2SConnectionConfiguration struct { SubResource // The 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"` // Properties of the P2S connection configuration. Properties *P2SConnectionConfigurationProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type P2SConnectionConfiguration. func (p P2SConnectionConfiguration) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) return json.Marshal(objectMap) } // P2SConnectionConfigurationProperties - Parameters for P2SConnectionConfiguration. type P2SConnectionConfigurationProperties struct { // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` // The Routing Configuration indicating the associated and propagated route tables on this connection. RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` // The reference to the address space resource which represents Address space for P2S VpnClient. VPNClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` // READ-ONLY; The provisioning state of the P2SConnectionConfiguration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // P2SVPNConnectionHealth - P2S Vpn connection detailed health written to sas url. type P2SVPNConnectionHealth struct { // Returned sas url of the blob to which the p2s vpn connection detailed health will be written. SasURL *string `json:"sasUrl,omitempty"` } // P2SVPNConnectionHealthRequest - List of P2S Vpn connection health request. type P2SVPNConnectionHealthRequest struct { // The sas-url to download the P2S Vpn connection health detail. OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` // The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for. VPNUserNamesFilter []*string `json:"vpnUserNamesFilter,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type P2SVPNConnectionHealthRequest. func (p P2SVPNConnectionHealthRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "outputBlobSasUrl", p.OutputBlobSasURL) populate(objectMap, "vpnUserNamesFilter", p.VPNUserNamesFilter) return json.Marshal(objectMap) } // P2SVPNConnectionRequest - List of p2s vpn connections to be disconnected. type P2SVPNConnectionRequest struct { // List of p2s vpn connection Ids. VPNConnectionIDs []*string `json:"vpnConnectionIds,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type P2SVPNConnectionRequest. func (p P2SVPNConnectionRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "vpnConnectionIds", p.VPNConnectionIDs) return json.Marshal(objectMap) } // P2SVPNGateway - P2SVpnGateway Resource. type P2SVPNGateway struct { Resource // Properties of the P2SVpnGateway. Properties *P2SVPNGatewayProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type P2SVPNGateway. func (p P2SVPNGateway) MarshalJSON() ([]byte, error) { objectMap := p.Resource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "properties", p.Properties) return json.Marshal(objectMap) } // P2SVPNGatewayProperties - Parameters for P2SVpnGateway. type P2SVPNGatewayProperties struct { // List of all customer specified DNS servers IP addresses. CustomDNSServers []*string `json:"customDnsServers,omitempty"` // Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. IsRoutingPreferenceInternet *bool `json:"isRoutingPreferenceInternet,omitempty"` // List of all p2s connection configurations of the gateway. P2SConnectionConfigurations []*P2SConnectionConfiguration `json:"p2SConnectionConfigurations,omitempty"` // The scale unit for this p2s vpn gateway. VPNGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` // The VpnServerConfiguration to which the p2sVpnGateway is attached to. VPNServerConfiguration *SubResource `json:"vpnServerConfiguration,omitempty"` // The VirtualHub to which the gateway belongs. VirtualHub *SubResource `json:"virtualHub,omitempty"` // READ-ONLY; The provisioning state of the P2S VPN gateway resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; All P2S VPN clients' connection health status. VPNClientConnectionHealth *VPNClientConnectionHealth `json:"vpnClientConnectionHealth,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type P2SVPNGatewayProperties. func (p P2SVPNGatewayProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "customDnsServers", p.CustomDNSServers) populate(objectMap, "isRoutingPreferenceInternet", p.IsRoutingPreferenceInternet) populate(objectMap, "p2SConnectionConfigurations", p.P2SConnectionConfigurations) populate(objectMap, "provisioningState", p.ProvisioningState) populate(objectMap, "vpnClientConnectionHealth", p.VPNClientConnectionHealth) populate(objectMap, "vpnGatewayScaleUnit", p.VPNGatewayScaleUnit) populate(objectMap, "vpnServerConfiguration", p.VPNServerConfiguration) populate(objectMap, "virtualHub", p.VirtualHub) return json.Marshal(objectMap) } // P2SVPNGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the P2SVPNGateways.BeginCreateOrUpdate method. type P2SVPNGatewaysBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysBeginDeleteOptions contains the optional parameters for the P2SVPNGateways.BeginDelete method. type P2SVPNGatewaysBeginDeleteOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysBeginDisconnectP2SVPNConnectionsOptions contains the optional parameters for the P2SVPNGateways.BeginDisconnectP2SVPNConnections method. type P2SVPNGatewaysBeginDisconnectP2SVPNConnectionsOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysBeginGenerateVPNProfileOptions contains the optional parameters for the P2SVPNGateways.BeginGenerateVPNProfile method. type P2SVPNGatewaysBeginGenerateVPNProfileOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysBeginGetP2SVPNConnectionHealthDetailedOptions contains the optional parameters for the P2SVPNGateways.BeginGetP2SVPNConnectionHealthDetailed // method. type P2SVPNGatewaysBeginGetP2SVPNConnectionHealthDetailedOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysBeginGetP2SVPNConnectionHealthOptions contains the optional parameters for the P2SVPNGateways.BeginGetP2SVPNConnectionHealth method. type P2SVPNGatewaysBeginGetP2SVPNConnectionHealthOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysBeginResetOptions contains the optional parameters for the P2SVPNGateways.BeginReset method. type P2SVPNGatewaysBeginResetOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysBeginUpdateTagsOptions contains the optional parameters for the P2SVPNGateways.BeginUpdateTags method. type P2SVPNGatewaysBeginUpdateTagsOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysGetOptions contains the optional parameters for the P2SVPNGateways.Get method. type P2SVPNGatewaysGetOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysListByResourceGroupOptions contains the optional parameters for the P2SVPNGateways.ListByResourceGroup method. type P2SVPNGatewaysListByResourceGroupOptions struct { // placeholder for future optional parameters } // P2SVPNGatewaysListOptions contains the optional parameters for the P2SVPNGateways.List method. type P2SVPNGatewaysListOptions struct { // placeholder for future optional parameters } // P2SVPNProfileParameters - Vpn Client Parameters for package generation. type P2SVPNProfileParameters struct { // VPN client authentication method. AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` } // PacketCapture - Parameters that define the create packet capture operation. type PacketCapture struct { // REQUIRED; Properties of the packet capture. Properties *PacketCaptureParameters `json:"properties,omitempty"` } // PacketCaptureFilter - Filter that is applied to packet capture request. Multiple filters can be applied. type PacketCaptureFilter struct { // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple // entries. Multiple ranges not currently // supported. Mixing ranges with multiple entries not currently supported. Default = null. LocalIPAddress *string `json:"localIPAddress,omitempty"` // Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. // Mixing ranges with multiple entries not // currently supported. Default = null. LocalPort *string `json:"localPort,omitempty"` // Protocol to be filtered on. Protocol *PcProtocol `json:"protocol,omitempty"` // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple // entries. Multiple ranges not currently // supported. Mixing ranges with multiple entries not currently supported. Default = null. RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` // Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently // supported. Mixing ranges with multiple entries not // currently supported. Default = null. RemotePort *string `json:"remotePort,omitempty"` } // PacketCaptureListResult - List of packet capture sessions. type PacketCaptureListResult struct { // Information about packet capture sessions. Value []*PacketCaptureResult `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PacketCaptureListResult. func (p PacketCaptureListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PacketCaptureParameters - Parameters that define the create packet capture operation. type PacketCaptureParameters struct { // REQUIRED; The storage location for a packet capture session. StorageLocation *PacketCaptureStorageLocation `json:"storageLocation,omitempty"` // REQUIRED; The ID of the targeted resource, only VM is currently supported. Target *string `json:"target,omitempty"` // Number of bytes captured per packet, the remaining bytes are truncated. BytesToCapturePerPacket *int64 `json:"bytesToCapturePerPacket,omitempty"` // A list of packet capture filters. Filters []*PacketCaptureFilter `json:"filters,omitempty"` // Maximum duration of the capture session in seconds. TimeLimitInSeconds *int32 `json:"timeLimitInSeconds,omitempty"` // Maximum size of the capture output. TotalBytesPerSession *int64 `json:"totalBytesPerSession,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PacketCaptureParameters. func (p PacketCaptureParameters) MarshalJSON() ([]byte, error) { objectMap := p.marshalInternal() return json.Marshal(objectMap) } func (p PacketCaptureParameters) marshalInternal() map[string]interface{} { objectMap := make(map[string]interface{}) populate(objectMap, "bytesToCapturePerPacket", p.BytesToCapturePerPacket) populate(objectMap, "filters", p.Filters) populate(objectMap, "storageLocation", p.StorageLocation) populate(objectMap, "target", p.Target) populate(objectMap, "timeLimitInSeconds", p.TimeLimitInSeconds) populate(objectMap, "totalBytesPerSession", p.TotalBytesPerSession) return objectMap } // PacketCaptureQueryStatusResult - Status of packet capture session. type PacketCaptureQueryStatusResult struct { // The start time of the packet capture session. CaptureStartTime *time.Time `json:"captureStartTime,omitempty"` // The ID of the packet capture resource. ID *string `json:"id,omitempty"` // The name of the packet capture resource. Name *string `json:"name,omitempty"` // List of errors of packet capture session. PacketCaptureError []*PcError `json:"packetCaptureError,omitempty"` // The status of the packet capture session. PacketCaptureStatus *PcStatus `json:"packetCaptureStatus,omitempty"` // The reason the current packet capture session was stopped. StopReason *string `json:"stopReason,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PacketCaptureQueryStatusResult. func (p PacketCaptureQueryStatusResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "captureStartTime", (*timeRFC3339)(p.CaptureStartTime)) populate(objectMap, "id", p.ID) populate(objectMap, "name", p.Name) populate(objectMap, "packetCaptureError", p.PacketCaptureError) populate(objectMap, "packetCaptureStatus", p.PacketCaptureStatus) populate(objectMap, "stopReason", p.StopReason) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureQueryStatusResult. func (p *PacketCaptureQueryStatusResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "captureStartTime": var aux timeRFC3339 err = unpopulate(val, &aux) p.CaptureStartTime = (*time.Time)(&aux) delete(rawMsg, key) case "id": err = unpopulate(val, &p.ID) delete(rawMsg, key) case "name": err = unpopulate(val, &p.Name) delete(rawMsg, key) case "packetCaptureError": err = unpopulate(val, &p.PacketCaptureError) delete(rawMsg, key) case "packetCaptureStatus": err = unpopulate(val, &p.PacketCaptureStatus) delete(rawMsg, key) case "stopReason": err = unpopulate(val, &p.StopReason) delete(rawMsg, key) } if err != nil { return err } } return nil } // PacketCaptureResult - Information about packet capture session. type PacketCaptureResult struct { // Properties of the packet capture result. Properties *PacketCaptureResultProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; ID of the packet capture operation. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; Name of the packet capture session. Name *string `json:"name,omitempty" azure:"ro"` } // PacketCaptureResultProperties - The properties of a packet capture session. type PacketCaptureResultProperties struct { PacketCaptureParameters // READ-ONLY; The provisioning state of the packet capture session. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PacketCaptureResultProperties. func (p PacketCaptureResultProperties) MarshalJSON() ([]byte, error) { objectMap := p.PacketCaptureParameters.marshalInternal() populate(objectMap, "provisioningState", p.ProvisioningState) return json.Marshal(objectMap) } // PacketCaptureStorageLocation - The storage location for a packet capture session. type PacketCaptureStorageLocation struct { // A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. // Required if no storage ID is provided, otherwise // optional. FilePath *string `json:"filePath,omitempty"` // The ID of the storage account to save the packet capture session. Required if no local file path is provided. StorageID *string `json:"storageId,omitempty"` // The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. StoragePath *string `json:"storagePath,omitempty"` } // PacketCapturesBeginCreateOptions contains the optional parameters for the PacketCaptures.BeginCreate method. type PacketCapturesBeginCreateOptions struct { // placeholder for future optional parameters } // PacketCapturesBeginDeleteOptions contains the optional parameters for the PacketCaptures.BeginDelete method. type PacketCapturesBeginDeleteOptions struct { // placeholder for future optional parameters } // PacketCapturesBeginGetStatusOptions contains the optional parameters for the PacketCaptures.BeginGetStatus method. type PacketCapturesBeginGetStatusOptions struct { // placeholder for future optional parameters } // PacketCapturesBeginStopOptions contains the optional parameters for the PacketCaptures.BeginStop method. type PacketCapturesBeginStopOptions struct { // placeholder for future optional parameters } // PacketCapturesGetOptions contains the optional parameters for the PacketCaptures.Get method. type PacketCapturesGetOptions struct { // placeholder for future optional parameters } // PacketCapturesListOptions contains the optional parameters for the PacketCaptures.List method. type PacketCapturesListOptions struct { // placeholder for future optional parameters } // PatchRouteFilter - Route Filter Resource. type PatchRouteFilter struct { SubResource // Properties of the route filter. Properties *RouteFilterPropertiesFormat `json:"properties,omitempty"` // Resource tags. Tags map[string]*string `json:"tags,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; The 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" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PatchRouteFilter. func (p PatchRouteFilter) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "tags", p.Tags) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // PatchRouteFilterRule - Route Filter Rule Resource. type PatchRouteFilterRule struct { SubResource // Properties of the route filter rule. Properties *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; The 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" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PatchRouteFilterRule. func (p PatchRouteFilterRule) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) return json.Marshal(objectMap) } // PeerExpressRouteCircuitConnection - Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. type PeerExpressRouteCircuitConnection struct { SubResource // The 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"` // Properties of the peer express route circuit connection. Properties *PeerExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PeerExpressRouteCircuitConnection. func (p PeerExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // PeerExpressRouteCircuitConnectionListResult - Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections // that belongs to a Private Peering for an ExpressRouteCircuit. type PeerExpressRouteCircuitConnectionListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit. Value []*PeerExpressRouteCircuitConnection `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PeerExpressRouteCircuitConnectionListResult. func (p PeerExpressRouteCircuitConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", p.NextLink) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PeerExpressRouteCircuitConnectionPropertiesFormat - Properties of the peer express route circuit connection. type PeerExpressRouteCircuitConnectionPropertiesFormat struct { // /29 IP address space to carve out Customer addresses for tunnels. AddressPrefix *string `json:"addressPrefix,omitempty"` // The resource guid of the authorization used for the express route circuit connection. AuthResourceGUID *string `json:"authResourceGuid,omitempty"` // The name of the express route circuit connection resource. ConnectionName *string `json:"connectionName,omitempty"` // Reference to Express Route Circuit Private Peering Resource of the circuit. ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` // Reference to Express Route Circuit Private Peering Resource of the peered circuit. PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` // READ-ONLY; Express Route Circuit connection state. CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the peer express route circuit connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // PeerExpressRouteCircuitConnectionsGetOptions contains the optional parameters for the PeerExpressRouteCircuitConnections.Get method. type PeerExpressRouteCircuitConnectionsGetOptions struct { // placeholder for future optional parameters } // PeerExpressRouteCircuitConnectionsListOptions contains the optional parameters for the PeerExpressRouteCircuitConnections.List method. type PeerExpressRouteCircuitConnectionsListOptions struct { // placeholder for future optional parameters } // PeerRoute - Peer routing details. type PeerRoute struct { // READ-ONLY; The route's AS path sequence. AsPath *string `json:"asPath,omitempty" azure:"ro"` // READ-ONLY; The peer's local address. LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` // READ-ONLY; The route's network prefix. Network *string `json:"network,omitempty" azure:"ro"` // READ-ONLY; The route's next hop. NextHop *string `json:"nextHop,omitempty" azure:"ro"` // READ-ONLY; The source this route was learned from. Origin *string `json:"origin,omitempty" azure:"ro"` // READ-ONLY; The peer this route was learned from. SourcePeer *string `json:"sourcePeer,omitempty" azure:"ro"` // READ-ONLY; The route's weight. Weight *int32 `json:"weight,omitempty" azure:"ro"` } // PeerRouteList - List of virtual router peer routes. type PeerRouteList struct { // List of peer routes. Value []*PeerRoute `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PeerRouteList. func (p PeerRouteList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PolicySettings - Defines contents of a web application firewall global configuration. type PolicySettings struct { // Maximum file upload size in Mb for WAF. FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` // Maximum request body size in Kb for WAF. MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` // The mode of the policy. Mode *WebApplicationFirewallMode `json:"mode,omitempty"` // Whether to allow WAF to check request Body. RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` // The state of the policy. State *WebApplicationFirewallEnabledState `json:"state,omitempty"` } // PrepareNetworkPoliciesRequest - Details of PrepareNetworkPolicies for Subnet. type PrepareNetworkPoliciesRequest struct { // A list of NetworkIntentPolicyConfiguration. NetworkIntentPolicyConfigurations []*NetworkIntentPolicyConfiguration `json:"networkIntentPolicyConfigurations,omitempty"` // The name of the service for which subnet is being prepared for. ServiceName *string `json:"serviceName,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PrepareNetworkPoliciesRequest. func (p PrepareNetworkPoliciesRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "networkIntentPolicyConfigurations", p.NetworkIntentPolicyConfigurations) populate(objectMap, "serviceName", p.ServiceName) return json.Marshal(objectMap) } // PrivateDNSZoneConfig - PrivateDnsZoneConfig resource. type PrivateDNSZoneConfig struct { // 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"` // Properties of the private dns zone configuration. Properties *PrivateDNSZonePropertiesFormat `json:"properties,omitempty"` } // PrivateDNSZoneGroup - Private dns zone group resource. type PrivateDNSZoneGroup struct { SubResource // 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"` // Properties of the private dns zone group. Properties *PrivateDNSZoneGroupPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroup. func (p PrivateDNSZoneGroup) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) return json.Marshal(objectMap) } // PrivateDNSZoneGroupListResult - Response for the ListPrivateDnsZoneGroups API service call. type PrivateDNSZoneGroupListResult struct { // A list of private dns zone group resources in a private endpoint. Value []*PrivateDNSZoneGroup `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroupListResult. func (p PrivateDNSZoneGroupListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", p.NextLink) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PrivateDNSZoneGroupPropertiesFormat - Properties of the private dns zone group. type PrivateDNSZoneGroupPropertiesFormat struct { // A collection of private dns zone configurations of the private dns zone group. PrivateDNSZoneConfigs []*PrivateDNSZoneConfig `json:"privateDnsZoneConfigs,omitempty"` // READ-ONLY; The provisioning state of the private dns zone group resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroupPropertiesFormat. func (p PrivateDNSZoneGroupPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "privateDnsZoneConfigs", p.PrivateDNSZoneConfigs) populate(objectMap, "provisioningState", p.ProvisioningState) return json.Marshal(objectMap) } // PrivateDNSZoneGroupsBeginCreateOrUpdateOptions contains the optional parameters for the PrivateDNSZoneGroups.BeginCreateOrUpdate method. type PrivateDNSZoneGroupsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // PrivateDNSZoneGroupsBeginDeleteOptions contains the optional parameters for the PrivateDNSZoneGroups.BeginDelete method. type PrivateDNSZoneGroupsBeginDeleteOptions struct { // placeholder for future optional parameters } // PrivateDNSZoneGroupsGetOptions contains the optional parameters for the PrivateDNSZoneGroups.Get method. type PrivateDNSZoneGroupsGetOptions struct { // placeholder for future optional parameters } // PrivateDNSZoneGroupsListOptions contains the optional parameters for the PrivateDNSZoneGroups.List method. type PrivateDNSZoneGroupsListOptions struct { // placeholder for future optional parameters } // PrivateDNSZonePropertiesFormat - Properties of the private dns zone configuration resource. type PrivateDNSZonePropertiesFormat struct { // The resource id of the private dns zone. PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty"` // READ-ONLY; A collection of information regarding a recordSet, holding information to identify private resources. RecordSets []*RecordSet `json:"recordSets,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZonePropertiesFormat. func (p PrivateDNSZonePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "privateDnsZoneId", p.PrivateDNSZoneID) populate(objectMap, "recordSets", p.RecordSets) return json.Marshal(objectMap) } // PrivateEndpoint - Private endpoint resource. type PrivateEndpoint struct { Resource // The extended location of the load balancer. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Properties of the private endpoint. Properties *PrivateEndpointProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpoint. func (p PrivateEndpoint) MarshalJSON() ([]byte, error) { objectMap := p.Resource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "extendedLocation", p.ExtendedLocation) populate(objectMap, "properties", p.Properties) return json.Marshal(objectMap) } // PrivateEndpointConnection resource. type PrivateEndpointConnection struct { SubResource // The 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"` // Properties of the private end point connection. Properties *PrivateEndpointConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; The resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnection. func (p PrivateEndpointConnection) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // PrivateEndpointConnectionListResult - Response for the ListPrivateEndpointConnection API service call. type PrivateEndpointConnectionListResult struct { // A list of PrivateEndpointConnection resources for a specific private link service. Value []*PrivateEndpointConnection `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnectionListResult. func (p PrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", p.NextLink) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PrivateEndpointConnectionProperties - Properties of the PrivateEndpointConnectProperties. type PrivateEndpointConnectionProperties struct { // A collection of information about the state of the connection between service consumer and provider. PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` // READ-ONLY; The consumer link id. LinkIdentifier *string `json:"linkIdentifier,omitempty" azure:"ro"` // READ-ONLY; The resource of private end point. PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the private endpoint connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // PrivateEndpointListResult - Response for the ListPrivateEndpoints API service call. type PrivateEndpointListResult struct { // A list of private endpoint resources in a resource group. Value []*PrivateEndpoint `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointListResult. func (p PrivateEndpointListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", p.NextLink) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PrivateEndpointProperties - Properties of the private endpoint. type PrivateEndpointProperties struct { // An array of custom dns configurations. CustomDNSConfigs []*CustomDNSConfigPropertiesFormat `json:"customDnsConfigs,omitempty"` // A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the // remote resource. ManualPrivateLinkServiceConnections []*PrivateLinkServiceConnection `json:"manualPrivateLinkServiceConnections,omitempty"` // A grouping of information about the connection to the remote resource. PrivateLinkServiceConnections []*PrivateLinkServiceConnection `json:"privateLinkServiceConnections,omitempty"` // The ID of the subnet from which the private IP will be allocated. Subnet *Subnet `json:"subnet,omitempty"` // READ-ONLY; An array of references to the network interfaces created for this private endpoint. NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the private endpoint resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointProperties. func (p PrivateEndpointProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "customDnsConfigs", p.CustomDNSConfigs) populate(objectMap, "manualPrivateLinkServiceConnections", p.ManualPrivateLinkServiceConnections) populate(objectMap, "networkInterfaces", p.NetworkInterfaces) populate(objectMap, "privateLinkServiceConnections", p.PrivateLinkServiceConnections) populate(objectMap, "provisioningState", p.ProvisioningState) populate(objectMap, "subnet", p.Subnet) return json.Marshal(objectMap) } // PrivateEndpointsBeginCreateOrUpdateOptions contains the optional parameters for the PrivateEndpoints.BeginCreateOrUpdate method. type PrivateEndpointsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // PrivateEndpointsBeginDeleteOptions contains the optional parameters for the PrivateEndpoints.BeginDelete method. type PrivateEndpointsBeginDeleteOptions struct { // placeholder for future optional parameters } // PrivateEndpointsGetOptions contains the optional parameters for the PrivateEndpoints.Get method. type PrivateEndpointsGetOptions struct { // Expands referenced resources. Expand *string } // PrivateEndpointsListBySubscriptionOptions contains the optional parameters for the PrivateEndpoints.ListBySubscription method. type PrivateEndpointsListBySubscriptionOptions struct { // placeholder for future optional parameters } // PrivateEndpointsListOptions contains the optional parameters for the PrivateEndpoints.List method. type PrivateEndpointsListOptions struct { // placeholder for future optional parameters } // PrivateLinkService - Private link service resource. type PrivateLinkService struct { Resource // The extended location of the load balancer. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Properties of the private link service. Properties *PrivateLinkServiceProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkService. func (p PrivateLinkService) MarshalJSON() ([]byte, error) { objectMap := p.Resource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "extendedLocation", p.ExtendedLocation) populate(objectMap, "properties", p.Properties) return json.Marshal(objectMap) } // PrivateLinkServiceConnection resource. type PrivateLinkServiceConnection struct { SubResource // The 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"` // Properties of the private link service connection. Properties *PrivateLinkServiceConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; The resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnection. func (p PrivateLinkServiceConnection) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // PrivateLinkServiceConnectionProperties - Properties of the PrivateLinkServiceConnection. type PrivateLinkServiceConnectionProperties struct { // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. GroupIDs []*string `json:"groupIds,omitempty"` // A collection of read-only information about the state of the connection to the remote resource. PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` // The resource id of private link service. PrivateLinkServiceID *string `json:"privateLinkServiceId,omitempty"` // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. RequestMessage *string `json:"requestMessage,omitempty"` // READ-ONLY; The provisioning state of the private link service connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnectionProperties. func (p PrivateLinkServiceConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "groupIds", p.GroupIDs) populate(objectMap, "privateLinkServiceConnectionState", p.PrivateLinkServiceConnectionState) populate(objectMap, "privateLinkServiceId", p.PrivateLinkServiceID) populate(objectMap, "provisioningState", p.ProvisioningState) populate(objectMap, "requestMessage", p.RequestMessage) return json.Marshal(objectMap) } // PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. type PrivateLinkServiceConnectionState struct { // A message indicating if changes on the service provider require any updates on the consumer. ActionsRequired *string `json:"actionsRequired,omitempty"` // The reason for approval/rejection of the connection. Description *string `json:"description,omitempty"` // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. Status *string `json:"status,omitempty"` } // PrivateLinkServiceIPConfiguration - The private link service ip configuration. type PrivateLinkServiceIPConfiguration struct { SubResource // The name of private link service ip configuration. Name *string `json:"name,omitempty"` // Properties of the private link service ip configuration. Properties *PrivateLinkServiceIPConfigurationProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; The resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceIPConfiguration. func (p PrivateLinkServiceIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // PrivateLinkServiceIPConfigurationProperties - Properties of private link service IP configuration. type PrivateLinkServiceIPConfigurationProperties struct { // Whether the ip configuration is primary or not. Primary *bool `json:"primary,omitempty"` // The private IP address of the IP configuration. PrivateIPAddress *string `json:"privateIPAddress,omitempty"` // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` // The private IP address allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // The reference to the subnet resource. Subnet *Subnet `json:"subnet,omitempty"` // READ-ONLY; The provisioning state of the private link service IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // PrivateLinkServiceListResult - Response for the ListPrivateLinkService API service call. type PrivateLinkServiceListResult struct { // A list of PrivateLinkService resources in a resource group. Value []*PrivateLinkService `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceListResult. func (p PrivateLinkServiceListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", p.NextLink) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PrivateLinkServiceProperties - Properties of the private link service. type PrivateLinkServiceProperties struct { // The auto-approval list of the private link service. AutoApproval *PrivateLinkServicePropertiesAutoApproval `json:"autoApproval,omitempty"` // Whether the private link service is enabled for proxy protocol or not. EnableProxyProtocol *bool `json:"enableProxyProtocol,omitempty"` // The list of Fqdn. Fqdns []*string `json:"fqdns,omitempty"` // An array of private link service IP configurations. IPConfigurations []*PrivateLinkServiceIPConfiguration `json:"ipConfigurations,omitempty"` // An array of references to the load balancer IP configurations. LoadBalancerFrontendIPConfigurations []*FrontendIPConfiguration `json:"loadBalancerFrontendIpConfigurations,omitempty"` // The visibility list of the private link service. Visibility *PrivateLinkServicePropertiesVisibility `json:"visibility,omitempty"` // READ-ONLY; The alias of the private link service. Alias *string `json:"alias,omitempty" azure:"ro"` // READ-ONLY; An array of references to the network interfaces created for this private link service. NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` // READ-ONLY; An array of list about connections to the private endpoint. PrivateEndpointConnections []*PrivateEndpointConnection `json:"privateEndpointConnections,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the private link service resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceProperties. func (p PrivateLinkServiceProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "alias", p.Alias) populate(objectMap, "autoApproval", p.AutoApproval) populate(objectMap, "enableProxyProtocol", p.EnableProxyProtocol) populate(objectMap, "fqdns", p.Fqdns) populate(objectMap, "ipConfigurations", p.IPConfigurations) populate(objectMap, "loadBalancerFrontendIpConfigurations", p.LoadBalancerFrontendIPConfigurations) populate(objectMap, "networkInterfaces", p.NetworkInterfaces) populate(objectMap, "privateEndpointConnections", p.PrivateEndpointConnections) populate(objectMap, "provisioningState", p.ProvisioningState) populate(objectMap, "visibility", p.Visibility) return json.Marshal(objectMap) } // PrivateLinkServicePropertiesAutoApproval - The auto-approval list of the private link service. type PrivateLinkServicePropertiesAutoApproval struct { ResourceSet } // PrivateLinkServicePropertiesVisibility - The visibility list of the private link service. type PrivateLinkServicePropertiesVisibility struct { ResourceSet } // PrivateLinkServiceVisibility - Response for the CheckPrivateLinkServiceVisibility API service call. type PrivateLinkServiceVisibility struct { // Private Link Service Visibility (True/False). Visible *bool `json:"visible,omitempty"` } // PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityByResourceGroupOptions contains the optional parameters for the PrivateLinkServices.BeginCheckPrivateLinkServiceVisibilityByResourceGroup // method. type PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityByResourceGroupOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityOptions contains the optional parameters for the PrivateLinkServices.BeginCheckPrivateLinkServiceVisibility // method. type PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesBeginCreateOrUpdateOptions contains the optional parameters for the PrivateLinkServices.BeginCreateOrUpdate method. type PrivateLinkServicesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesBeginDeleteOptions contains the optional parameters for the PrivateLinkServices.BeginDelete method. type PrivateLinkServicesBeginDeleteOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesBeginDeletePrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.BeginDeletePrivateEndpointConnection // method. type PrivateLinkServicesBeginDeletePrivateEndpointConnectionOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesGetOptions contains the optional parameters for the PrivateLinkServices.Get method. type PrivateLinkServicesGetOptions struct { // Expands referenced resources. Expand *string } // PrivateLinkServicesGetPrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.GetPrivateEndpointConnection method. type PrivateLinkServicesGetPrivateEndpointConnectionOptions struct { // Expands referenced resources. Expand *string } // PrivateLinkServicesListAutoApprovedPrivateLinkServicesByResourceGroupOptions contains the optional parameters for the PrivateLinkServices.ListAutoApprovedPrivateLinkServicesByResourceGroup // method. type PrivateLinkServicesListAutoApprovedPrivateLinkServicesByResourceGroupOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesListAutoApprovedPrivateLinkServicesOptions contains the optional parameters for the PrivateLinkServices.ListAutoApprovedPrivateLinkServices // method. type PrivateLinkServicesListAutoApprovedPrivateLinkServicesOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesListBySubscriptionOptions contains the optional parameters for the PrivateLinkServices.ListBySubscription method. type PrivateLinkServicesListBySubscriptionOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesListOptions contains the optional parameters for the PrivateLinkServices.List method. type PrivateLinkServicesListOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesListPrivateEndpointConnectionsOptions contains the optional parameters for the PrivateLinkServices.ListPrivateEndpointConnections // method. type PrivateLinkServicesListPrivateEndpointConnectionsOptions struct { // placeholder for future optional parameters } // PrivateLinkServicesUpdatePrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.UpdatePrivateEndpointConnection // method. type PrivateLinkServicesUpdatePrivateEndpointConnectionOptions struct { // placeholder for future optional parameters } // Probe - A load balancer probe. type Probe struct { SubResource // The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. Name *string `json:"name,omitempty"` // Properties of load balancer probe. Properties *ProbePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Type of the resource. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type Probe. func (p Probe) MarshalJSON() ([]byte, error) { objectMap := p.SubResource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // ProbePropertiesFormat - Load balancer probe resource. type ProbePropertiesFormat struct { // REQUIRED; The port for communicating the probe. Possible values range from 1 to 65535, inclusive. Port *int32 `json:"port,omitempty"` // REQUIRED; The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, // a 200 OK response from the specifies URI is required // for the probe to be successful. Protocol *ProbeProtocol `json:"protocol,omitempty"` // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated // timeout period (in seconds) which allows two full // probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints // to be taken out of rotation faster or slower than // the typical times used in Azure. NumberOfProbes *int32 `json:"numberOfProbes,omitempty"` // The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default // value. RequestPath *string `json:"requestPath,omitempty"` // READ-ONLY; The load balancer rules that use this probe. LoadBalancingRules []*SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the probe resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ProbePropertiesFormat. func (p ProbePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "intervalInSeconds", p.IntervalInSeconds) populate(objectMap, "loadBalancingRules", p.LoadBalancingRules) populate(objectMap, "numberOfProbes", p.NumberOfProbes) populate(objectMap, "port", p.Port) populate(objectMap, "protocol", p.Protocol) populate(objectMap, "provisioningState", p.ProvisioningState) populate(objectMap, "requestPath", p.RequestPath) return json.Marshal(objectMap) } // PropagatedRouteTable - The list of RouteTables to advertise the routes to. type PropagatedRouteTable struct { // The list of resource ids of all the RouteTables. IDs []*SubResource `json:"ids,omitempty"` // The list of labels. Labels []*string `json:"labels,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PropagatedRouteTable. func (p PropagatedRouteTable) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "ids", p.IDs) populate(objectMap, "labels", p.Labels) return json.Marshal(objectMap) } // ProtocolConfiguration - Configuration of the protocol. type ProtocolConfiguration struct { // HTTP configuration of the connectivity check. HTTPConfiguration *HTTPConfiguration `json:"HTTPConfiguration,omitempty"` } // ProtocolCustomSettingsFormat - DDoS custom policy properties. type ProtocolCustomSettingsFormat struct { // The protocol for which the DDoS protection policy is being customized. Protocol *DdosCustomPolicyProtocol `json:"protocol,omitempty"` // The customized DDoS protection source rate. SourceRateOverride *string `json:"sourceRateOverride,omitempty"` // The customized DDoS protection trigger rate. TriggerRateOverride *string `json:"triggerRateOverride,omitempty"` // The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger // rate set with moderate sensitivity w.r.t. normal // traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic. TriggerSensitivityOverride *DdosCustomPolicyTriggerSensitivityOverride `json:"triggerSensitivityOverride,omitempty"` } // PublicIPAddress - Public IP address resource. type PublicIPAddress struct { Resource // The extended location of the public ip address. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Public IP address properties. Properties *PublicIPAddressPropertiesFormat `json:"properties,omitempty"` // The public IP address SKU. SKU *PublicIPAddressSKU `json:"sku,omitempty"` // A list of availability zones denoting the IP allocated for the resource needs to come from. Zones []*string `json:"zones,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PublicIPAddress. func (p PublicIPAddress) MarshalJSON() ([]byte, error) { objectMap := p.Resource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "extendedLocation", p.ExtendedLocation) populate(objectMap, "properties", p.Properties) populate(objectMap, "sku", p.SKU) populate(objectMap, "zones", p.Zones) return json.Marshal(objectMap) } // PublicIPAddressDNSSettings - Contains FQDN of the DNS record associated with the public IP address. type PublicIPAddressDNSSettings struct { // The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with // the public IP address. If a domain name label is // specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. DomainNameLabel *string `json:"domainNameLabel,omitempty"` // The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized // DNS zone. Fqdn *string `json:"fqdn,omitempty"` // The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS // record is created pointing from the IP address in // the in-addr.arpa domain to the reverse FQDN. ReverseFqdn *string `json:"reverseFqdn,omitempty"` } // PublicIPAddressListResult - Response for ListPublicIpAddresses API service call. type PublicIPAddressListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of public IP addresses that exists in a resource group. Value []*PublicIPAddress `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PublicIPAddressListResult. func (p PublicIPAddressListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", p.NextLink) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PublicIPAddressPropertiesFormat - Public IP address properties. type PublicIPAddressPropertiesFormat struct { // The FQDN of the DNS record associated with the public IP address. DNSSettings *PublicIPAddressDNSSettings `json:"dnsSettings,omitempty"` // The DDoS protection custom policy associated with the public IP address. DdosSettings *DdosSettings `json:"ddosSettings,omitempty"` // Specify what happens to the public IP address when the VM using it is deleted DeleteOption *DeleteOptions `json:"deleteOption,omitempty"` // The IP address associated with the public IP address resource. IPAddress *string `json:"ipAddress,omitempty"` // The list of tags associated with the public IP address. IPTags []*IPTag `json:"ipTags,omitempty"` // The idle timeout of the public IP address. IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` // The linked public IP address of the public IP address resource. LinkedPublicIPAddress *PublicIPAddress `json:"linkedPublicIPAddress,omitempty"` // Migration phase of Public IP Address. MigrationPhase *PublicIPAddressMigrationPhase `json:"migrationPhase,omitempty"` // The NatGateway for the Public IP address. NatGateway *NatGateway `json:"natGateway,omitempty"` // The public IP address version. PublicIPAddressVersion *IPVersion `json:"publicIPAddressVersion,omitempty"` // The public IP address allocation method. PublicIPAllocationMethod *IPAllocationMethod `json:"publicIPAllocationMethod,omitempty"` // The Public IP Prefix this Public IP Address should be allocated from. PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` // The service public IP address of the public IP address resource. ServicePublicIPAddress *PublicIPAddress `json:"servicePublicIPAddress,omitempty"` // READ-ONLY; The IP configuration associated with the public IP address. IPConfiguration *IPConfiguration `json:"ipConfiguration,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the public IP address resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the public IP address resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PublicIPAddressPropertiesFormat. func (p PublicIPAddressPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "dnsSettings", p.DNSSettings) populate(objectMap, "ddosSettings", p.DdosSettings) populate(objectMap, "deleteOption", p.DeleteOption) populate(objectMap, "ipAddress", p.IPAddress) populate(objectMap, "ipConfiguration", p.IPConfiguration) populate(objectMap, "ipTags", p.IPTags) populate(objectMap, "idleTimeoutInMinutes", p.IdleTimeoutInMinutes) populate(objectMap, "linkedPublicIPAddress", p.LinkedPublicIPAddress) populate(objectMap, "migrationPhase", p.MigrationPhase) populate(objectMap, "natGateway", p.NatGateway) populate(objectMap, "provisioningState", p.ProvisioningState) populate(objectMap, "publicIPAddressVersion", p.PublicIPAddressVersion) populate(objectMap, "publicIPAllocationMethod", p.PublicIPAllocationMethod) populate(objectMap, "publicIPPrefix", p.PublicIPPrefix) populate(objectMap, "resourceGuid", p.ResourceGUID) populate(objectMap, "servicePublicIPAddress", p.ServicePublicIPAddress) return json.Marshal(objectMap) } // PublicIPAddressSKU - SKU of a public IP address. type PublicIPAddressSKU struct { // Name of a public IP address SKU. Name *PublicIPAddressSKUName `json:"name,omitempty"` // Tier of a public IP address SKU. Tier *PublicIPAddressSKUTier `json:"tier,omitempty"` } // PublicIPAddressesBeginCreateOrUpdateOptions contains the optional parameters for the PublicIPAddresses.BeginCreateOrUpdate method. type PublicIPAddressesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // PublicIPAddressesBeginDeleteOptions contains the optional parameters for the PublicIPAddresses.BeginDelete method. type PublicIPAddressesBeginDeleteOptions struct { // placeholder for future optional parameters } // PublicIPAddressesGetCloudServicePublicIPAddressOptions contains the optional parameters for the PublicIPAddresses.GetCloudServicePublicIPAddress method. type PublicIPAddressesGetCloudServicePublicIPAddressOptions struct { // Expands referenced resources. Expand *string } // PublicIPAddressesGetOptions contains the optional parameters for the PublicIPAddresses.Get method. type PublicIPAddressesGetOptions struct { // Expands referenced resources. Expand *string } // PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptions contains the optional parameters for the PublicIPAddresses.GetVirtualMachineScaleSetPublicIPAddress // method. type PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptions struct { // Expands referenced resources. Expand *string } // PublicIPAddressesListAllOptions contains the optional parameters for the PublicIPAddresses.ListAll method. type PublicIPAddressesListAllOptions struct { // placeholder for future optional parameters } // PublicIPAddressesListCloudServicePublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListCloudServicePublicIPAddresses // method. type PublicIPAddressesListCloudServicePublicIPAddressesOptions struct { // placeholder for future optional parameters } // PublicIPAddressesListCloudServiceRoleInstancePublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListCloudServiceRoleInstancePublicIPAddresses // method. type PublicIPAddressesListCloudServiceRoleInstancePublicIPAddressesOptions struct { // placeholder for future optional parameters } // PublicIPAddressesListOptions contains the optional parameters for the PublicIPAddresses.List method. type PublicIPAddressesListOptions struct { // placeholder for future optional parameters } // PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListVirtualMachineScaleSetPublicIPAddresses // method. type PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesOptions struct { // placeholder for future optional parameters } // PublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListVirtualMachineScaleSetVMPublicIPAddresses // method. type PublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesOptions struct { // placeholder for future optional parameters } // PublicIPAddressesUpdateTagsOptions contains the optional parameters for the PublicIPAddresses.UpdateTags method. type PublicIPAddressesUpdateTagsOptions struct { // placeholder for future optional parameters } // PublicIPPrefix - Public IP prefix resource. type PublicIPPrefix struct { Resource // The extended location of the public ip address. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Public IP prefix properties. Properties *PublicIPPrefixPropertiesFormat `json:"properties,omitempty"` // The public IP prefix SKU. SKU *PublicIPPrefixSKU `json:"sku,omitempty"` // A list of availability zones denoting the IP allocated for the resource needs to come from. Zones []*string `json:"zones,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PublicIPPrefix. func (p PublicIPPrefix) MarshalJSON() ([]byte, error) { objectMap := p.Resource.marshalInternal() populate(objectMap, "etag", p.Etag) populate(objectMap, "extendedLocation", p.ExtendedLocation) populate(objectMap, "properties", p.Properties) populate(objectMap, "sku", p.SKU) populate(objectMap, "zones", p.Zones) return json.Marshal(objectMap) } // PublicIPPrefixListResult - Response for ListPublicIpPrefixes API service call. type PublicIPPrefixListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of public IP prefixes that exists in a resource group. Value []*PublicIPPrefix `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type PublicIPPrefixListResult. func (p PublicIPPrefixListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", p.NextLink) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // PublicIPPrefixPropertiesFormat - Public IP prefix properties. type PublicIPPrefixPropertiesFormat struct { // The customIpPrefix that this prefix is associated with. CustomIPPrefix *SubResource `json:"customIPPrefix,omitempty"` // The list of tags associated with the public IP prefix. IPTags []*IPTag `json:"ipTags,omitempty"` // NatGateway of Public IP Prefix. NatGateway *NatGateway `json:"natGateway,omitempty"` // The Length of the Public IP Prefix. PrefixLength *int32 `json:"prefixLength,omitempty"` // The public IP address version. PublicIPAddressVersion *IPVersion `json:"publicIPAddressVersion,omitempty"` // READ-ONLY; The allocated Prefix. IPPrefix *string `json:"ipPrefix,omitempty" azure:"ro"` // READ-ONLY; The reference to load balancer frontend IP configuration associated with the public IP prefix. LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIpConfiguration,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the public IP prefix resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The list of all referenced PublicIPAddresses. PublicIPAddresses []*ReferencedPublicIPAddress `json:"publicIPAddresses,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the public IP prefix resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type PublicIPPrefixPropertiesFormat. func (p PublicIPPrefixPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "customIPPrefix", p.CustomIPPrefix) populate(objectMap, "ipPrefix", p.IPPrefix) populate(objectMap, "ipTags", p.IPTags) populate(objectMap, "loadBalancerFrontendIpConfiguration", p.LoadBalancerFrontendIPConfiguration) populate(objectMap, "natGateway", p.NatGateway) populate(objectMap, "prefixLength", p.PrefixLength) populate(objectMap, "provisioningState", p.ProvisioningState) populate(objectMap, "publicIPAddressVersion", p.PublicIPAddressVersion) populate(objectMap, "publicIPAddresses", p.PublicIPAddresses) populate(objectMap, "resourceGuid", p.ResourceGUID) return json.Marshal(objectMap) } // PublicIPPrefixSKU - SKU of a public IP prefix. type PublicIPPrefixSKU struct { // Name of a public IP prefix SKU. Name *PublicIPPrefixSKUName `json:"name,omitempty"` // Tier of a public IP prefix SKU. Tier *PublicIPPrefixSKUTier `json:"tier,omitempty"` } // PublicIPPrefixesBeginCreateOrUpdateOptions contains the optional parameters for the PublicIPPrefixes.BeginCreateOrUpdate method. type PublicIPPrefixesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // PublicIPPrefixesBeginDeleteOptions contains the optional parameters for the PublicIPPrefixes.BeginDelete method. type PublicIPPrefixesBeginDeleteOptions struct { // placeholder for future optional parameters } // PublicIPPrefixesGetOptions contains the optional parameters for the PublicIPPrefixes.Get method. type PublicIPPrefixesGetOptions struct { // Expands referenced resources. Expand *string } // PublicIPPrefixesListAllOptions contains the optional parameters for the PublicIPPrefixes.ListAll method. type PublicIPPrefixesListAllOptions struct { // placeholder for future optional parameters } // PublicIPPrefixesListOptions contains the optional parameters for the PublicIPPrefixes.List method. type PublicIPPrefixesListOptions struct { // placeholder for future optional parameters } // PublicIPPrefixesUpdateTagsOptions contains the optional parameters for the PublicIPPrefixes.UpdateTags method. type PublicIPPrefixesUpdateTagsOptions struct { // placeholder for future optional parameters } // QosIPRange - Qos Traffic Profiler IP Range properties. type QosIPRange struct { // End IP Address. EndIP *string `json:"endIP,omitempty"` // Start IP Address. StartIP *string `json:"startIP,omitempty"` } // QosPortRange - Qos Traffic Profiler Port range properties. type QosPortRange struct { // Qos Port Range end. End *int32 `json:"end,omitempty"` // Qos Port Range start. Start *int32 `json:"start,omitempty"` } // QueryTroubleshootingParameters - Parameters that define the resource to query the troubleshooting result. type QueryTroubleshootingParameters struct { // REQUIRED; The target resource ID to query the troubleshooting result. TargetResourceID *string `json:"targetResourceId,omitempty"` } // RadiusServer - Radius Server Settings. type RadiusServer struct { // REQUIRED; The address of this radius server. RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` // The initial score assigned to this radius server. RadiusServerScore *int64 `json:"radiusServerScore,omitempty"` // The secret used for this radius server. RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` } // RecordSet - A collective group of information about the record set information. type RecordSet struct { // Fqdn that resolves to private endpoint ip address. Fqdn *string `json:"fqdn,omitempty"` // The private ip address of the private endpoint. IPAddresses []*string `json:"ipAddresses,omitempty"` // Recordset name. RecordSetName *string `json:"recordSetName,omitempty"` // Resource record type. RecordType *string `json:"recordType,omitempty"` // Recordset time to live. TTL *int32 `json:"ttl,omitempty"` // READ-ONLY; The provisioning state of the recordset. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type RecordSet. func (r RecordSet) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "fqdn", r.Fqdn) populate(objectMap, "ipAddresses", r.IPAddresses) populate(objectMap, "provisioningState", r.ProvisioningState) populate(objectMap, "recordSetName", r.RecordSetName) populate(objectMap, "recordType", r.RecordType) populate(objectMap, "ttl", r.TTL) return json.Marshal(objectMap) } // ReferencedPublicIPAddress - Reference to a public IP address. type ReferencedPublicIPAddress struct { // The PublicIPAddress Reference. ID *string `json:"id,omitempty"` } // Resource - Common resource representation. type Resource struct { // Resource ID. ID *string `json:"id,omitempty"` // Resource location. Location *string `json:"location,omitempty"` // Resource tags. Tags map[string]*string `json:"tags,omitempty"` // READ-ONLY; Resource name. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type Resource. func (r Resource) MarshalJSON() ([]byte, error) { objectMap := r.marshalInternal() return json.Marshal(objectMap) } func (r Resource) marshalInternal() map[string]interface{} { objectMap := make(map[string]interface{}) populate(objectMap, "id", r.ID) populate(objectMap, "location", r.Location) populate(objectMap, "name", r.Name) populate(objectMap, "tags", r.Tags) populate(objectMap, "type", r.Type) return objectMap } // ResourceNavigationLink resource. type ResourceNavigationLink struct { SubResource // 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"` // Resource navigation link properties format. Properties *ResourceNavigationLinkFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ResourceNavigationLink. func (r ResourceNavigationLink) MarshalJSON() ([]byte, error) { objectMap := r.SubResource.marshalInternal() populate(objectMap, "etag", r.Etag) populate(objectMap, "name", r.Name) populate(objectMap, "properties", r.Properties) populate(objectMap, "type", r.Type) return json.Marshal(objectMap) } // ResourceNavigationLinkFormat - Properties of ResourceNavigationLink. type ResourceNavigationLinkFormat struct { // Link to the external resource. Link *string `json:"link,omitempty"` // Resource type of the linked resource. LinkedResourceType *string `json:"linkedResourceType,omitempty"` // READ-ONLY; The provisioning state of the resource navigation link resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // ResourceNavigationLinksListOptions contains the optional parameters for the ResourceNavigationLinks.List method. type ResourceNavigationLinksListOptions struct { // placeholder for future optional parameters } // ResourceNavigationLinksListResult - Response for ResourceNavigationLinks_List operation. type ResourceNavigationLinksListResult struct { // The resource navigation links in a subnet. Value []*ResourceNavigationLink `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ResourceNavigationLinksListResult. func (r ResourceNavigationLinksListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", r.NextLink) populate(objectMap, "value", r.Value) return json.Marshal(objectMap) } // ResourceSet - The base resource set for visibility and auto-approval. type ResourceSet struct { // The list of subscriptions. Subscriptions []*string `json:"subscriptions,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ResourceSet. func (r ResourceSet) MarshalJSON() ([]byte, error) { objectMap := r.marshalInternal() return json.Marshal(objectMap) } func (r ResourceSet) marshalInternal() map[string]interface{} { objectMap := make(map[string]interface{}) populate(objectMap, "subscriptions", r.Subscriptions) return objectMap } // RetentionPolicyParameters - Parameters that define the retention policy for flow log. type RetentionPolicyParameters struct { // Number of days to retain flow log records. Days *int32 `json:"days,omitempty"` // Flag to enable/disable retention. Enabled *bool `json:"enabled,omitempty"` } // Route resource. type Route struct { SubResource // The 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"` // Properties of the route. Properties *RoutePropertiesFormat `json:"properties,omitempty"` // The type of the resource. Type *string `json:"type,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type Route. func (r Route) MarshalJSON() ([]byte, error) { objectMap := r.SubResource.marshalInternal() populate(objectMap, "etag", r.Etag) populate(objectMap, "name", r.Name) populate(objectMap, "properties", r.Properties) populate(objectMap, "type", r.Type) return json.Marshal(objectMap) } // RouteFilter - Route Filter Resource. type RouteFilter struct { Resource // Properties of the route filter. Properties *RouteFilterPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type RouteFilter. func (r RouteFilter) MarshalJSON() ([]byte, error) { objectMap := r.Resource.marshalInternal() populate(objectMap, "etag", r.Etag) populate(objectMap, "properties", r.Properties) return json.Marshal(objectMap) } // RouteFilterListResult - Response for the ListRouteFilters API service call. type RouteFilterListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of route filters in a resource group. Value []*RouteFilter `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type RouteFilterListResult. func (r RouteFilterListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", r.NextLink) populate(objectMap, "value", r.Value) return json.Marshal(objectMap) } // RouteFilterPropertiesFormat - Route Filter Resource. type RouteFilterPropertiesFormat struct { // Collection of RouteFilterRules contained within a route filter. Rules []*RouteFilterRule `json:"rules,omitempty"` // READ-ONLY; A collection of references to express route circuit ipv6 peerings. IPv6Peerings []*ExpressRouteCircuitPeering `json:"ipv6Peerings,omitempty" azure:"ro"` // READ-ONLY; A collection of references to express route circuit peerings. Peerings []*ExpressRouteCircuitPeering `json:"peerings,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the route filter resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type RouteFilterPropertiesFormat. func (r RouteFilterPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "ipv6Peerings", r.IPv6Peerings) populate(objectMap, "peerings", r.Peerings) populate(objectMap, "provisioningState", r.ProvisioningState) populate(objectMap, "rules", r.Rules) return json.Marshal(objectMap) } // RouteFilterRule - Route Filter Rule Resource. type RouteFilterRule struct { SubResource // Resource location. Location *string `json:"location,omitempty"` // The 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"` // Properties of the route filter rule. Properties *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type RouteFilterRule. func (r RouteFilterRule) MarshalJSON() ([]byte, error) { objectMap := r.SubResource.marshalInternal() populate(objectMap, "etag", r.Etag) populate(objectMap, "location", r.Location) populate(objectMap, "name", r.Name) populate(objectMap, "properties", r.Properties) return json.Marshal(objectMap) } // RouteFilterRuleListResult - Response for the ListRouteFilterRules API service call. type RouteFilterRuleListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of RouteFilterRules in a resource group. Value []*RouteFilterRule `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type RouteFilterRuleListResult. func (r RouteFilterRuleListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", r.NextLink) populate(objectMap, "value", r.Value) return json.Marshal(objectMap) } // RouteFilterRulePropertiesFormat - Route Filter Rule Resource. type RouteFilterRulePropertiesFormat struct { // REQUIRED; The access type of the rule. Access *Access `json:"access,omitempty"` // REQUIRED; The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. Communities []*string `json:"communities,omitempty"` // REQUIRED; The rule type of the rule. RouteFilterRuleType *RouteFilterRuleType `json:"routeFilterRuleType,omitempty"` // READ-ONLY; The provisioning state of the route filter rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type RouteFilterRulePropertiesFormat. func (r RouteFilterRulePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "access", r.Access) populate(objectMap, "communities", r.Communities) populate(objectMap, "provisioningState", r.ProvisioningState) populate(objectMap, "routeFilterRuleType", r.RouteFilterRuleType) return json.Marshal(objectMap) } // RouteFilterRulesBeginCreateOrUpdateOptions contains the optional parameters for the RouteFilterRules.BeginCreateOrUpdate method. type RouteFilterRulesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // RouteFilterRulesBeginDeleteOptions contains the optional parameters for the RouteFilterRules.BeginDelete method. type RouteFilterRulesBeginDeleteOptions struct { // placeholder for future optional parameters } // RouteFilterRulesGetOptions contains the optional parameters for the RouteFilterRules.Get method. type RouteFilterRulesGetOptions struct { // placeholder for future optional parameters } // RouteFilterRulesListByRouteFilterOptions contains the optional parameters for the RouteFilterRules.ListByRouteFilter method. type RouteFilterRulesListByRouteFilterOptions struct { // placeholder for future optional parameters } // RouteFiltersBeginCreateOrUpdateOptions contains the optional parameters for the RouteFilters.BeginCreateOrUpdate method. type RouteFiltersBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // RouteFiltersBeginDeleteOptions contains the optional parameters for the RouteFilters.BeginDelete method. type RouteFiltersBeginDeleteOptions struct { // placeholder for future optional parameters } // RouteFiltersGetOptions contains the optional parameters for the RouteFilters.Get method. type RouteFiltersGetOptions struct { // Expands referenced express route bgp peering resources. Expand *string } // RouteFiltersListByResourceGroupOptions contains the optional parameters for the RouteFilters.ListByResourceGroup method. type RouteFiltersListByResourceGroupOptions struct { // placeholder for future optional parameters } // RouteFiltersListOptions contains the optional parameters for the RouteFilters.List method. type RouteFiltersListOptions struct { // placeholder for future optional parameters } // RouteFiltersUpdateTagsOptions contains the optional parameters for the RouteFilters.UpdateTags method. type RouteFiltersUpdateTagsOptions struct { // placeholder for future optional parameters } // RouteListResult - Response for the ListRoute API service call. type RouteListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of routes in a resource group. Value []*Route `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type RouteListResult. func (r RouteListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", r.NextLink) populate(objectMap, "value", r.Value) return json.Marshal(objectMap) } // RoutePropertiesFormat - Route resource. type RoutePropertiesFormat struct { // REQUIRED; The type of Azure hop the packet should be sent to. NextHopType *RouteNextHopType `json:"nextHopType,omitempty"` // The destination CIDR to which the route applies. AddressPrefix *string `json:"addressPrefix,omitempty"` // A value indicating whether this route overrides overlapping BGP routes regardless of LPM. HasBgpOverride *bool `json:"hasBgpOverride,omitempty"` // The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` // READ-ONLY; The provisioning state of the route resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // RouteTable - Route table resource. type RouteTable struct { Resource // Properties of the route table. Properties *RouteTablePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type RouteTable. func (r RouteTable) MarshalJSON() ([]byte, error) { objectMap := r.Resource.marshalInternal() populate(objectMap, "etag", r.Etag) populate(objectMap, "properties", r.Properties) return json.Marshal(objectMap) } // RouteTableListResult - Response for the ListRouteTable API service call. type RouteTableListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of route tables in a resource group. Value []*RouteTable `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type RouteTableListResult. func (r RouteTableListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", r.NextLink) populate(objectMap, "value", r.Value) return json.Marshal(objectMap) } // RouteTablePropertiesFormat - Route Table resource. type RouteTablePropertiesFormat struct { // Whether to disable the routes learned by BGP on that route table. True means disable. DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` // Collection of routes contained within a route table. Routes []*Route `json:"routes,omitempty"` // READ-ONLY; The provisioning state of the route table resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the route table. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; A collection of references to subnets. Subnets []*Subnet `json:"subnets,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type RouteTablePropertiesFormat. func (r RouteTablePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "disableBgpRoutePropagation", r.DisableBgpRoutePropagation) populate(objectMap, "provisioningState", r.ProvisioningState) populate(objectMap, "resourceGuid", r.ResourceGUID) populate(objectMap, "routes", r.Routes) populate(objectMap, "subnets", r.Subnets) return json.Marshal(objectMap) } // RouteTablesBeginCreateOrUpdateOptions contains the optional parameters for the RouteTables.BeginCreateOrUpdate method. type RouteTablesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // RouteTablesBeginDeleteOptions contains the optional parameters for the RouteTables.BeginDelete method. type RouteTablesBeginDeleteOptions struct { // placeholder for future optional parameters } // RouteTablesGetOptions contains the optional parameters for the RouteTables.Get method. type RouteTablesGetOptions struct { // Expands referenced resources. Expand *string } // RouteTablesListAllOptions contains the optional parameters for the RouteTables.ListAll method. type RouteTablesListAllOptions struct { // placeholder for future optional parameters } // RouteTablesListOptions contains the optional parameters for the RouteTables.List method. type RouteTablesListOptions struct { // placeholder for future optional parameters } // RouteTablesUpdateTagsOptions contains the optional parameters for the RouteTables.UpdateTags method. type RouteTablesUpdateTagsOptions struct { // placeholder for future optional parameters } // RoutesBeginCreateOrUpdateOptions contains the optional parameters for the Routes.BeginCreateOrUpdate method. type RoutesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // RoutesBeginDeleteOptions contains the optional parameters for the Routes.BeginDelete method. type RoutesBeginDeleteOptions struct { // placeholder for future optional parameters } // RoutesGetOptions contains the optional parameters for the Routes.Get method. type RoutesGetOptions struct { // placeholder for future optional parameters } // RoutesListOptions contains the optional parameters for the Routes.List method. type RoutesListOptions struct { // placeholder for future optional parameters } // RoutingConfiguration - Routing Configuration indicating the associated and propagated route tables for this connection. type RoutingConfiguration struct { // The resource id RouteTable associated with this RoutingConfiguration. AssociatedRouteTable *SubResource `json:"associatedRouteTable,omitempty"` // The list of RouteTables to advertise the routes to. PropagatedRouteTables *PropagatedRouteTable `json:"propagatedRouteTables,omitempty"` // List of routes that control routing from VirtualHub into a virtual network connection. VnetRoutes *VnetRoute `json:"vnetRoutes,omitempty"` } // SKU - The sku of this Bastion Host. type SKU struct { // The name of this Bastion Host. Name *BastionHostSKUName `json:"name,omitempty"` } // SecurityGroupNetworkInterface - Network interface and all its associated security rules. type SecurityGroupNetworkInterface struct { // ID of the network interface. ID *string `json:"id,omitempty"` // All security rules associated with the network interface. SecurityRuleAssociations *SecurityRuleAssociations `json:"securityRuleAssociations,omitempty"` } // SecurityGroupViewParameters - Parameters that define the VM to check security groups for. type SecurityGroupViewParameters struct { // REQUIRED; ID of the target VM. TargetResourceID *string `json:"targetResourceId,omitempty"` } // SecurityGroupViewResult - The information about security rules applied to the specified VM. type SecurityGroupViewResult struct { // List of network interfaces on the specified VM. NetworkInterfaces []*SecurityGroupNetworkInterface `json:"networkInterfaces,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type SecurityGroupViewResult. func (s SecurityGroupViewResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "networkInterfaces", s.NetworkInterfaces) return json.Marshal(objectMap) } // SecurityPartnerProvider - Security Partner Provider resource. type SecurityPartnerProvider struct { Resource // Properties of the Security Partner Provider. Properties *SecurityPartnerProviderPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type SecurityPartnerProvider. func (s SecurityPartnerProvider) MarshalJSON() ([]byte, error) { objectMap := s.Resource.marshalInternal() populate(objectMap, "etag", s.Etag) populate(objectMap, "properties", s.Properties) return json.Marshal(objectMap) } // SecurityPartnerProviderListResult - Response for ListSecurityPartnerProviders API service call. type SecurityPartnerProviderListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Security Partner Providers in a resource group. Value []*SecurityPartnerProvider `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type SecurityPartnerProviderListResult. func (s SecurityPartnerProviderListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // SecurityPartnerProviderPropertiesFormat - Properties of the Security Partner Provider. type SecurityPartnerProviderPropertiesFormat struct { // The security provider name. SecurityProviderName *SecurityProviderName `json:"securityProviderName,omitempty"` // The virtualHub to which the Security Partner Provider belongs. VirtualHub *SubResource `json:"virtualHub,omitempty"` // READ-ONLY; The connection status with the Security Partner Provider. ConnectionStatus *SecurityPartnerProviderConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the Security Partner Provider resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // SecurityPartnerProvidersBeginCreateOrUpdateOptions contains the optional parameters for the SecurityPartnerProviders.BeginCreateOrUpdate method. type SecurityPartnerProvidersBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // SecurityPartnerProvidersBeginDeleteOptions contains the optional parameters for the SecurityPartnerProviders.BeginDelete method. type SecurityPartnerProvidersBeginDeleteOptions struct { // placeholder for future optional parameters } // SecurityPartnerProvidersGetOptions contains the optional parameters for the SecurityPartnerProviders.Get method. type SecurityPartnerProvidersGetOptions struct { // placeholder for future optional parameters } // SecurityPartnerProvidersListByResourceGroupOptions contains the optional parameters for the SecurityPartnerProviders.ListByResourceGroup method. type SecurityPartnerProvidersListByResourceGroupOptions struct { // placeholder for future optional parameters } // SecurityPartnerProvidersListOptions contains the optional parameters for the SecurityPartnerProviders.List method. type SecurityPartnerProvidersListOptions struct { // placeholder for future optional parameters } // SecurityPartnerProvidersUpdateTagsOptions contains the optional parameters for the SecurityPartnerProviders.UpdateTags method. type SecurityPartnerProvidersUpdateTagsOptions struct { // placeholder for future optional parameters } // SecurityRule - Network security rule. type SecurityRule struct { SubResource // The 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"` // Properties of the security rule. Properties *SecurityRulePropertiesFormat `json:"properties,omitempty"` // The type of the resource. Type *string `json:"type,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type SecurityRule. func (s SecurityRule) MarshalJSON() ([]byte, error) { objectMap := s.SubResource.marshalInternal() populate(objectMap, "etag", s.Etag) populate(objectMap, "name", s.Name) populate(objectMap, "properties", s.Properties) populate(objectMap, "type", s.Type) return json.Marshal(objectMap) } // SecurityRuleAssociations - All security rules associated with the network interface. type SecurityRuleAssociations struct { // Collection of default security rules of the network security group. DefaultSecurityRules []*SecurityRule `json:"defaultSecurityRules,omitempty"` // Collection of effective security rules. EffectiveSecurityRules []*EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` // Network interface and it's custom security rules. NetworkInterfaceAssociation *NetworkInterfaceAssociation `json:"networkInterfaceAssociation,omitempty"` // Subnet and it's custom security rules. SubnetAssociation *SubnetAssociation `json:"subnetAssociation,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type SecurityRuleAssociations. func (s SecurityRuleAssociations) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "defaultSecurityRules", s.DefaultSecurityRules) populate(objectMap, "effectiveSecurityRules", s.EffectiveSecurityRules) populate(objectMap, "networkInterfaceAssociation", s.NetworkInterfaceAssociation) populate(objectMap, "subnetAssociation", s.SubnetAssociation) return json.Marshal(objectMap) } // SecurityRuleListResult - Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. type SecurityRuleListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The security rules in a network security group. Value []*SecurityRule `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type SecurityRuleListResult. func (s SecurityRuleListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // SecurityRulePropertiesFormat - Security rule resource. type SecurityRulePropertiesFormat struct { // REQUIRED; The network traffic is allowed or denied. Access *SecurityRuleAccess `json:"access,omitempty"` // REQUIRED; The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Direction *SecurityRuleDirection `json:"direction,omitempty"` // REQUIRED; Network protocol this rule applies to. Protocol *SecurityRuleProtocol `json:"protocol,omitempty"` // A description for this rule. Restricted to 140 chars. Description *string `json:"description,omitempty"` // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', // 'AzureLoadBalancer' and 'Internet' can also // be used. DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` // The destination address prefixes. CIDR or destination IP ranges. DestinationAddressPrefixes []*string `json:"destinationAddressPrefixes,omitempty"` // The application security group specified as destination. DestinationApplicationSecurityGroups []*ApplicationSecurityGroup `json:"destinationApplicationSecurityGroups,omitempty"` // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. DestinationPortRange *string `json:"destinationPortRange,omitempty"` // The destination port ranges. DestinationPortRanges []*string `json:"destinationPortRanges,omitempty"` // The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority // number, the higher the priority of the rule. Priority *int32 `json:"priority,omitempty"` // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' // can also be used. If this is an ingress // rule, specifies where network traffic originates from. SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` // The CIDR or source IP ranges. SourceAddressPrefixes []*string `json:"sourceAddressPrefixes,omitempty"` // The application security group specified as source. SourceApplicationSecurityGroups []*ApplicationSecurityGroup `json:"sourceApplicationSecurityGroups,omitempty"` // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. SourcePortRange *string `json:"sourcePortRange,omitempty"` // The source port ranges. SourcePortRanges []*string `json:"sourcePortRanges,omitempty"` // READ-ONLY; The provisioning state of the security rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type SecurityRulePropertiesFormat. func (s SecurityRulePropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "access", s.Access) populate(objectMap, "description", s.Description) populate(objectMap, "destinationAddressPrefix", s.DestinationAddressPrefix) populate(objectMap, "destinationAddressPrefixes", s.DestinationAddressPrefixes) populate(objectMap, "destinationApplicationSecurityGroups", s.DestinationApplicationSecurityGroups) populate(objectMap, "destinationPortRange", s.DestinationPortRange) populate(objectMap, "destinationPortRanges", s.DestinationPortRanges) populate(objectMap, "direction", s.Direction) populate(objectMap, "priority", s.Priority) populate(objectMap, "protocol", s.Protocol) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "sourceAddressPrefix", s.SourceAddressPrefix) populate(objectMap, "sourceAddressPrefixes", s.SourceAddressPrefixes) populate(objectMap, "sourceApplicationSecurityGroups", s.SourceApplicationSecurityGroups) populate(objectMap, "sourcePortRange", s.SourcePortRange) populate(objectMap, "sourcePortRanges", s.SourcePortRanges) return json.Marshal(objectMap) } // SecurityRulesBeginCreateOrUpdateOptions contains the optional parameters for the SecurityRules.BeginCreateOrUpdate method. type SecurityRulesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // SecurityRulesBeginDeleteOptions contains the optional parameters for the SecurityRules.BeginDelete method. type SecurityRulesBeginDeleteOptions struct { // placeholder for future optional parameters } // SecurityRulesGetOptions contains the optional parameters for the SecurityRules.Get method. type SecurityRulesGetOptions struct { // placeholder for future optional parameters } // SecurityRulesListOptions contains the optional parameters for the SecurityRules.List method. type SecurityRulesListOptions struct { // placeholder for future optional parameters } // ServiceAssociationLink resource. type ServiceAssociationLink struct { SubResource // 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"` // Resource navigation link properties format. Properties *ServiceAssociationLinkPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLink. func (s ServiceAssociationLink) MarshalJSON() ([]byte, error) { objectMap := s.SubResource.marshalInternal() populate(objectMap, "etag", s.Etag) populate(objectMap, "name", s.Name) populate(objectMap, "properties", s.Properties) populate(objectMap, "type", s.Type) return json.Marshal(objectMap) } // ServiceAssociationLinkPropertiesFormat - Properties of ServiceAssociationLink. type ServiceAssociationLinkPropertiesFormat struct { // If true, the resource can be deleted. AllowDelete *bool `json:"allowDelete,omitempty"` // Link to the external resource. Link *string `json:"link,omitempty"` // Resource type of the linked resource. LinkedResourceType *string `json:"linkedResourceType,omitempty"` // A list of locations. Locations []*string `json:"locations,omitempty"` // READ-ONLY; The provisioning state of the service association link resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLinkPropertiesFormat. func (s ServiceAssociationLinkPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "allowDelete", s.AllowDelete) populate(objectMap, "link", s.Link) populate(objectMap, "linkedResourceType", s.LinkedResourceType) populate(objectMap, "locations", s.Locations) populate(objectMap, "provisioningState", s.ProvisioningState) return json.Marshal(objectMap) } // ServiceAssociationLinksListOptions contains the optional parameters for the ServiceAssociationLinks.List method. type ServiceAssociationLinksListOptions struct { // placeholder for future optional parameters } // ServiceAssociationLinksListResult - Response for ServiceAssociationLinks_List operation. type ServiceAssociationLinksListResult struct { // The service association links in a subnet. Value []*ServiceAssociationLink `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLinksListResult. func (s ServiceAssociationLinksListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // ServiceDelegationPropertiesFormat - Properties of a service delegation. type ServiceDelegationPropertiesFormat struct { // The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). ServiceName *string `json:"serviceName,omitempty"` // READ-ONLY; The actions permitted to the service upon delegation. Actions []*string `json:"actions,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the service delegation resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceDelegationPropertiesFormat. func (s ServiceDelegationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "actions", s.Actions) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "serviceName", s.ServiceName) return json.Marshal(objectMap) } // ServiceEndpointPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the ServiceEndpointPolicies.BeginCreateOrUpdate method. type ServiceEndpointPoliciesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ServiceEndpointPoliciesBeginDeleteOptions contains the optional parameters for the ServiceEndpointPolicies.BeginDelete method. type ServiceEndpointPoliciesBeginDeleteOptions struct { // placeholder for future optional parameters } // ServiceEndpointPoliciesGetOptions contains the optional parameters for the ServiceEndpointPolicies.Get method. type ServiceEndpointPoliciesGetOptions struct { // Expands referenced resources. Expand *string } // ServiceEndpointPoliciesListByResourceGroupOptions contains the optional parameters for the ServiceEndpointPolicies.ListByResourceGroup method. type ServiceEndpointPoliciesListByResourceGroupOptions struct { // placeholder for future optional parameters } // ServiceEndpointPoliciesListOptions contains the optional parameters for the ServiceEndpointPolicies.List method. type ServiceEndpointPoliciesListOptions struct { // placeholder for future optional parameters } // ServiceEndpointPoliciesUpdateTagsOptions contains the optional parameters for the ServiceEndpointPolicies.UpdateTags method. type ServiceEndpointPoliciesUpdateTagsOptions struct { // placeholder for future optional parameters } // ServiceEndpointPolicy - Service End point policy resource. type ServiceEndpointPolicy struct { Resource // Properties of the service end point policy. Properties *ServiceEndpointPolicyPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Kind of service endpoint policy. This is metadata used for the Azure portal experience. Kind *string `json:"kind,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicy. func (s ServiceEndpointPolicy) MarshalJSON() ([]byte, error) { objectMap := s.Resource.marshalInternal() populate(objectMap, "etag", s.Etag) populate(objectMap, "kind", s.Kind) populate(objectMap, "properties", s.Properties) return json.Marshal(objectMap) } // ServiceEndpointPolicyDefinition - Service Endpoint policy definitions. type ServiceEndpointPolicyDefinition struct { SubResource // The 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"` // Properties of the service endpoint policy definition. Properties *ServiceEndpointPolicyDefinitionPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinition. func (s ServiceEndpointPolicyDefinition) MarshalJSON() ([]byte, error) { objectMap := s.SubResource.marshalInternal() populate(objectMap, "etag", s.Etag) populate(objectMap, "name", s.Name) populate(objectMap, "properties", s.Properties) return json.Marshal(objectMap) } // ServiceEndpointPolicyDefinitionListResult - Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy // definition that belongs to a service endpoint policy. type ServiceEndpointPolicyDefinitionListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The service endpoint policy definition in a service endpoint policy. Value []*ServiceEndpointPolicyDefinition `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinitionListResult. func (s ServiceEndpointPolicyDefinitionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // ServiceEndpointPolicyDefinitionPropertiesFormat - Service Endpoint policy definition resource. type ServiceEndpointPolicyDefinitionPropertiesFormat struct { // A description for this rule. Restricted to 140 chars. Description *string `json:"description,omitempty"` // Service endpoint name. Service *string `json:"service,omitempty"` // A list of service resources. ServiceResources []*string `json:"serviceResources,omitempty"` // READ-ONLY; The provisioning state of the service endpoint policy definition resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinitionPropertiesFormat. func (s ServiceEndpointPolicyDefinitionPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "description", s.Description) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "service", s.Service) populate(objectMap, "serviceResources", s.ServiceResources) return json.Marshal(objectMap) } // ServiceEndpointPolicyDefinitionsBeginCreateOrUpdateOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.BeginCreateOrUpdate // method. type ServiceEndpointPolicyDefinitionsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // ServiceEndpointPolicyDefinitionsBeginDeleteOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.BeginDelete method. type ServiceEndpointPolicyDefinitionsBeginDeleteOptions struct { // placeholder for future optional parameters } // ServiceEndpointPolicyDefinitionsGetOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.Get method. type ServiceEndpointPolicyDefinitionsGetOptions struct { // placeholder for future optional parameters } // ServiceEndpointPolicyDefinitionsListByResourceGroupOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.ListByResourceGroup // method. type ServiceEndpointPolicyDefinitionsListByResourceGroupOptions struct { // placeholder for future optional parameters } // ServiceEndpointPolicyListResult - Response for ListServiceEndpointPolicies API service call. type ServiceEndpointPolicyListResult struct { // A list of ServiceEndpointPolicy resources. Value []*ServiceEndpointPolicy `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyListResult. func (s ServiceEndpointPolicyListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // ServiceEndpointPolicyPropertiesFormat - Service Endpoint Policy resource. type ServiceEndpointPolicyPropertiesFormat struct { // A collection of service endpoint policy definitions of the service endpoint policy. ServiceEndpointPolicyDefinitions []*ServiceEndpointPolicyDefinition `json:"serviceEndpointPolicyDefinitions,omitempty"` // READ-ONLY; The provisioning state of the service endpoint policy resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the service endpoint policy resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; A collection of references to subnets. Subnets []*Subnet `json:"subnets,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyPropertiesFormat. func (s ServiceEndpointPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "resourceGuid", s.ResourceGUID) populate(objectMap, "serviceEndpointPolicyDefinitions", s.ServiceEndpointPolicyDefinitions) populate(objectMap, "subnets", s.Subnets) return json.Marshal(objectMap) } // ServiceEndpointPropertiesFormat - The service endpoint properties. type ServiceEndpointPropertiesFormat struct { // A list of locations. Locations []*string `json:"locations,omitempty"` // The type of the endpoint service. Service *string `json:"service,omitempty"` // READ-ONLY; The provisioning state of the service endpoint resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPropertiesFormat. func (s ServiceEndpointPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "locations", s.Locations) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "service", s.Service) return json.Marshal(objectMap) } // ServiceTagInformation - The service tag information. type ServiceTagInformation struct { // READ-ONLY; The ID of service tag. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; The name of service tag. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; Properties of the service tag information. Properties *ServiceTagInformationPropertiesFormat `json:"properties,omitempty" azure:"ro"` } // ServiceTagInformationPropertiesFormat - Properties of the service tag information. type ServiceTagInformationPropertiesFormat struct { // READ-ONLY; The list of IP address prefixes. AddressPrefixes []*string `json:"addressPrefixes,omitempty" azure:"ro"` // READ-ONLY; The iteration number of service tag. ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` // READ-ONLY; The region of service tag. Region *string `json:"region,omitempty" azure:"ro"` // READ-ONLY; The state of the service tag. State *string `json:"state,omitempty" azure:"ro"` // READ-ONLY; The name of system service. SystemService *string `json:"systemService,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceTagInformationPropertiesFormat. func (s ServiceTagInformationPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefixes", s.AddressPrefixes) populate(objectMap, "changeNumber", s.ChangeNumber) populate(objectMap, "region", s.Region) populate(objectMap, "state", s.State) populate(objectMap, "systemService", s.SystemService) return json.Marshal(objectMap) } // ServiceTagsListOptions contains the optional parameters for the ServiceTags.List method. type ServiceTagsListOptions struct { // placeholder for future optional parameters } // ServiceTagsListResult - Response for the ListServiceTags API service call. type ServiceTagsListResult struct { // READ-ONLY; The iteration number. ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` // READ-ONLY; The name of the cloud. Cloud *string `json:"cloud,omitempty" azure:"ro"` // READ-ONLY; The ID of the cloud. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; The name of the cloud. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; The URL to get next page of service tag information resources. NextLink *string `json:"nextLink,omitempty" azure:"ro"` // READ-ONLY; The azure resource type. Type *string `json:"type,omitempty" azure:"ro"` // READ-ONLY; The list of service tag information resources. Values []*ServiceTagInformation `json:"values,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type ServiceTagsListResult. func (s ServiceTagsListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "changeNumber", s.ChangeNumber) populate(objectMap, "cloud", s.Cloud) populate(objectMap, "id", s.ID) populate(objectMap, "name", s.Name) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "type", s.Type) populate(objectMap, "values", s.Values) return json.Marshal(objectMap) } // SessionIDs - List of session IDs. type SessionIDs struct { // List of session IDs. SessionIDs []*string `json:"sessionIds,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type SessionIDs. func (s SessionIDs) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "sessionIds", s.SessionIDs) return json.Marshal(objectMap) } // StaticRoute - List of all Static Routes. type StaticRoute struct { // List of all address prefixes. AddressPrefixes []*string `json:"addressPrefixes,omitempty"` // The name of the StaticRoute that is unique within a VnetRoute. Name *string `json:"name,omitempty"` // The ip address of the next hop. NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type StaticRoute. func (s StaticRoute) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefixes", s.AddressPrefixes) populate(objectMap, "name", s.Name) populate(objectMap, "nextHopIpAddress", s.NextHopIPAddress) return json.Marshal(objectMap) } // SubResource - Reference to another subresource. type SubResource struct { // Resource ID. ID *string `json:"id,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type SubResource. func (s SubResource) MarshalJSON() ([]byte, error) { objectMap := s.marshalInternal() return json.Marshal(objectMap) } func (s SubResource) marshalInternal() map[string]interface{} { objectMap := make(map[string]interface{}) populate(objectMap, "id", s.ID) return objectMap } // Subnet in a virtual network resource. type Subnet struct { SubResource // The 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"` // Properties of the subnet. Properties *SubnetPropertiesFormat `json:"properties,omitempty"` // Resource type. Type *string `json:"type,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type Subnet. func (s Subnet) MarshalJSON() ([]byte, error) { objectMap := s.SubResource.marshalInternal() populate(objectMap, "etag", s.Etag) populate(objectMap, "name", s.Name) populate(objectMap, "properties", s.Properties) populate(objectMap, "type", s.Type) return json.Marshal(objectMap) } // SubnetAssociation - Subnet and it's custom security rules. type SubnetAssociation struct { // Collection of custom security rules. SecurityRules []*SecurityRule `json:"securityRules,omitempty"` // READ-ONLY; Subnet ID. ID *string `json:"id,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type SubnetAssociation. func (s SubnetAssociation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "id", s.ID) populate(objectMap, "securityRules", s.SecurityRules) return json.Marshal(objectMap) } // SubnetListResult - Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. type SubnetListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The subnets in a virtual network. Value []*Subnet `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type SubnetListResult. func (s SubnetListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // SubnetPropertiesFormat - Properties of the subnet. type SubnetPropertiesFormat struct { // The address prefix for the subnet. AddressPrefix *string `json:"addressPrefix,omitempty"` // List of address prefixes for the subnet. AddressPrefixes []*string `json:"addressPrefixes,omitempty"` // Application gateway IP configurations of virtual network resource. ApplicationGatewayIPConfigurations []*ApplicationGatewayIPConfiguration `json:"applicationGatewayIpConfigurations,omitempty"` // An array of references to the delegations on the subnet. Delegations []*Delegation `json:"delegations,omitempty"` // Array of IpAllocation which reference this subnet. IPAllocations []*SubResource `json:"ipAllocations,omitempty"` // Nat gateway associated with this subnet. NatGateway *SubResource `json:"natGateway,omitempty"` // The reference to the NetworkSecurityGroup resource. NetworkSecurityGroup *NetworkSecurityGroup `json:"networkSecurityGroup,omitempty"` // Enable or Disable apply network policies on private end point in the subnet. PrivateEndpointNetworkPolicies *VirtualNetworkPrivateEndpointNetworkPolicies `json:"privateEndpointNetworkPolicies,omitempty"` // Enable or Disable apply network policies on private link service in the subnet. PrivateLinkServiceNetworkPolicies *VirtualNetworkPrivateLinkServiceNetworkPolicies `json:"privateLinkServiceNetworkPolicies,omitempty"` // The reference to the RouteTable resource. RouteTable *RouteTable `json:"routeTable,omitempty"` // An array of service endpoint policies. ServiceEndpointPolicies []*ServiceEndpointPolicy `json:"serviceEndpointPolicies,omitempty"` // An array of service endpoints. ServiceEndpoints []*ServiceEndpointPropertiesFormat `json:"serviceEndpoints,omitempty"` // READ-ONLY; Array of IP configuration profiles which reference this subnet. IPConfigurationProfiles []*IPConfigurationProfile `json:"ipConfigurationProfiles,omitempty" azure:"ro"` // READ-ONLY; An array of references to the network interface IP configurations using subnet. IPConfigurations []*IPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` // READ-ONLY; An array of references to private endpoints. PrivateEndpoints []*PrivateEndpoint `json:"privateEndpoints,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the subnet resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. Purpose *string `json:"purpose,omitempty" azure:"ro"` // READ-ONLY; An array of references to the external resources using subnet. ResourceNavigationLinks []*ResourceNavigationLink `json:"resourceNavigationLinks,omitempty" azure:"ro"` // READ-ONLY; An array of references to services injecting into this subnet. ServiceAssociationLinks []*ServiceAssociationLink `json:"serviceAssociationLinks,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type SubnetPropertiesFormat. func (s SubnetPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefix", s.AddressPrefix) populate(objectMap, "addressPrefixes", s.AddressPrefixes) populate(objectMap, "applicationGatewayIpConfigurations", s.ApplicationGatewayIPConfigurations) populate(objectMap, "delegations", s.Delegations) populate(objectMap, "ipAllocations", s.IPAllocations) populate(objectMap, "ipConfigurationProfiles", s.IPConfigurationProfiles) populate(objectMap, "ipConfigurations", s.IPConfigurations) populate(objectMap, "natGateway", s.NatGateway) populate(objectMap, "networkSecurityGroup", s.NetworkSecurityGroup) populate(objectMap, "privateEndpointNetworkPolicies", s.PrivateEndpointNetworkPolicies) populate(objectMap, "privateEndpoints", s.PrivateEndpoints) populate(objectMap, "privateLinkServiceNetworkPolicies", s.PrivateLinkServiceNetworkPolicies) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "purpose", s.Purpose) populate(objectMap, "resourceNavigationLinks", s.ResourceNavigationLinks) populate(objectMap, "routeTable", s.RouteTable) populate(objectMap, "serviceAssociationLinks", s.ServiceAssociationLinks) populate(objectMap, "serviceEndpointPolicies", s.ServiceEndpointPolicies) populate(objectMap, "serviceEndpoints", s.ServiceEndpoints) return json.Marshal(objectMap) } // SubnetsBeginCreateOrUpdateOptions contains the optional parameters for the Subnets.BeginCreateOrUpdate method. type SubnetsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // SubnetsBeginDeleteOptions contains the optional parameters for the Subnets.BeginDelete method. type SubnetsBeginDeleteOptions struct { // placeholder for future optional parameters } // SubnetsBeginPrepareNetworkPoliciesOptions contains the optional parameters for the Subnets.BeginPrepareNetworkPolicies method. type SubnetsBeginPrepareNetworkPoliciesOptions struct { // placeholder for future optional parameters } // SubnetsBeginUnprepareNetworkPoliciesOptions contains the optional parameters for the Subnets.BeginUnprepareNetworkPolicies method. type SubnetsBeginUnprepareNetworkPoliciesOptions struct { // placeholder for future optional parameters } // SubnetsGetOptions contains the optional parameters for the Subnets.Get method. type SubnetsGetOptions struct { // Expands referenced resources. Expand *string } // SubnetsListOptions contains the optional parameters for the Subnets.List method. type SubnetsListOptions struct { // placeholder for future optional parameters } // TagsObject - Tags object for patch operations. type TagsObject struct { // Resource tags. Tags map[string]*string `json:"tags,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type TagsObject. func (t TagsObject) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "tags", t.Tags) return json.Marshal(objectMap) } // Topology of the specified resource group. type Topology struct { // A list of topology resources. Resources []*TopologyResource `json:"resources,omitempty"` // READ-ONLY; The datetime when the topology was initially created for the resource group. CreatedDateTime *time.Time `json:"createdDateTime,omitempty" azure:"ro"` // READ-ONLY; GUID representing the operation id. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; The datetime when the topology was last modified. LastModified *time.Time `json:"lastModified,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type Topology. func (t Topology) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "createdDateTime", (*timeRFC3339)(t.CreatedDateTime)) populate(objectMap, "id", t.ID) populate(objectMap, "lastModified", (*timeRFC3339)(t.LastModified)) populate(objectMap, "resources", t.Resources) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Topology. func (t *Topology) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "createdDateTime": var aux timeRFC3339 err = unpopulate(val, &aux) t.CreatedDateTime = (*time.Time)(&aux) delete(rawMsg, key) case "id": err = unpopulate(val, &t.ID) delete(rawMsg, key) case "lastModified": var aux timeRFC3339 err = unpopulate(val, &aux) t.LastModified = (*time.Time)(&aux) delete(rawMsg, key) case "resources": err = unpopulate(val, &t.Resources) delete(rawMsg, key) } if err != nil { return err } } return nil } // TopologyAssociation - Resources that have an association with the parent resource. type TopologyAssociation struct { // The association type of the child resource to the parent resource. AssociationType *AssociationType `json:"associationType,omitempty"` // The name of the resource that is associated with the parent resource. Name *string `json:"name,omitempty"` // The ID of the resource that is associated with the parent resource. ResourceID *string `json:"resourceId,omitempty"` } // TopologyParameters - Parameters that define the representation of topology. type TopologyParameters struct { // The name of the target resource group to perform topology on. TargetResourceGroupName *string `json:"targetResourceGroupName,omitempty"` // The reference to the Subnet resource. TargetSubnet *SubResource `json:"targetSubnet,omitempty"` // The reference to the Virtual Network resource. TargetVirtualNetwork *SubResource `json:"targetVirtualNetwork,omitempty"` } // TopologyResource - The network resource topology information for the given resource group. type TopologyResource struct { // Holds the associations the resource has with other resources in the resource group. Associations []*TopologyAssociation `json:"associations,omitempty"` // ID of the resource. ID *string `json:"id,omitempty"` // Resource location. Location *string `json:"location,omitempty"` // Name of the resource. Name *string `json:"name,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type TopologyResource. func (t TopologyResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "associations", t.Associations) populate(objectMap, "id", t.ID) populate(objectMap, "location", t.Location) populate(objectMap, "name", t.Name) return json.Marshal(objectMap) } // TrafficAnalyticsConfigurationProperties - Parameters that define the configuration of traffic analytics. type TrafficAnalyticsConfigurationProperties struct { // Flag to enable/disable traffic analytics. Enabled *bool `json:"enabled,omitempty"` // The interval in minutes which would decide how frequently TA service should do flow analytics. TrafficAnalyticsInterval *int32 `json:"trafficAnalyticsInterval,omitempty"` // The resource guid of the attached workspace. WorkspaceID *string `json:"workspaceId,omitempty"` // The location of the attached workspace. WorkspaceRegion *string `json:"workspaceRegion,omitempty"` // Resource Id of the attached workspace. WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` } // TrafficAnalyticsProperties - Parameters that define the configuration of traffic analytics. type TrafficAnalyticsProperties struct { // Parameters that define the configuration of traffic analytics. NetworkWatcherFlowAnalyticsConfiguration *TrafficAnalyticsConfigurationProperties `json:"networkWatcherFlowAnalyticsConfiguration,omitempty"` } // TrafficSelectorPolicy - An traffic selector policy for a virtual network gateway connection. type TrafficSelectorPolicy struct { // REQUIRED; A collection of local address spaces in CIDR format. LocalAddressRanges []*string `json:"localAddressRanges,omitempty"` // REQUIRED; A collection of remote address spaces in CIDR format. RemoteAddressRanges []*string `json:"remoteAddressRanges,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type TrafficSelectorPolicy. func (t TrafficSelectorPolicy) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "localAddressRanges", t.LocalAddressRanges) populate(objectMap, "remoteAddressRanges", t.RemoteAddressRanges) return json.Marshal(objectMap) } // TroubleshootingDetails - Information gained from troubleshooting of specified resource. type TroubleshootingDetails struct { // Details on troubleshooting results. Detail *string `json:"detail,omitempty"` // The id of the get troubleshoot operation. ID *string `json:"id,omitempty"` // Reason type of failure. ReasonType *string `json:"reasonType,omitempty"` // List of recommended actions. RecommendedActions []*TroubleshootingRecommendedActions `json:"recommendedActions,omitempty"` // A summary of troubleshooting. Summary *string `json:"summary,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type TroubleshootingDetails. func (t TroubleshootingDetails) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "detail", t.Detail) populate(objectMap, "id", t.ID) populate(objectMap, "reasonType", t.ReasonType) populate(objectMap, "recommendedActions", t.RecommendedActions) populate(objectMap, "summary", t.Summary) return json.Marshal(objectMap) } // TroubleshootingParameters - Parameters that define the resource to troubleshoot. type TroubleshootingParameters struct { // REQUIRED; Properties of the troubleshooting resource. Properties *TroubleshootingProperties `json:"properties,omitempty"` // REQUIRED; The target resource to troubleshoot. TargetResourceID *string `json:"targetResourceId,omitempty"` } // TroubleshootingProperties - Storage location provided for troubleshoot. type TroubleshootingProperties struct { // REQUIRED; The ID for the storage account to save the troubleshoot result. StorageID *string `json:"storageId,omitempty"` // REQUIRED; The path to the blob to save the troubleshoot result in. StoragePath *string `json:"storagePath,omitempty"` } // TroubleshootingRecommendedActions - Recommended actions based on discovered issues. type TroubleshootingRecommendedActions struct { // ID of the recommended action. ActionID *string `json:"actionId,omitempty"` // Description of recommended actions. ActionText *string `json:"actionText,omitempty"` // The uri linking to a documentation for the recommended troubleshooting actions. ActionURI *string `json:"actionUri,omitempty"` // The information from the URI for the recommended troubleshooting actions. ActionURIText *string `json:"actionUriText,omitempty"` } // TroubleshootingResult - Troubleshooting information gained from specified resource. type TroubleshootingResult struct { // The result code of the troubleshooting. Code *string `json:"code,omitempty"` // The end time of the troubleshooting. EndTime *time.Time `json:"endTime,omitempty"` // Information from troubleshooting. Results []*TroubleshootingDetails `json:"results,omitempty"` // The start time of the troubleshooting. StartTime *time.Time `json:"startTime,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type TroubleshootingResult. func (t TroubleshootingResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "code", t.Code) populate(objectMap, "endTime", (*timeRFC3339)(t.EndTime)) populate(objectMap, "results", t.Results) populate(objectMap, "startTime", (*timeRFC3339)(t.StartTime)) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingResult. func (t *TroubleshootingResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return err } for key, val := range rawMsg { var err error switch key { case "code": err = unpopulate(val, &t.Code) delete(rawMsg, key) case "endTime": var aux timeRFC3339 err = unpopulate(val, &aux) t.EndTime = (*time.Time)(&aux) delete(rawMsg, key) case "results": err = unpopulate(val, &t.Results) delete(rawMsg, key) case "startTime": var aux timeRFC3339 err = unpopulate(val, &aux) t.StartTime = (*time.Time)(&aux) delete(rawMsg, key) } if err != nil { return err } } return nil } // TunnelConnectionHealth - VirtualNetworkGatewayConnection properties. type TunnelConnectionHealth struct { // READ-ONLY; Virtual Network Gateway connection status. ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` // READ-ONLY; The Egress Bytes Transferred in this connection. EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The Ingress Bytes Transferred in this connection. IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The time at which connection was established in Utc format. LastConnectionEstablishedUTCTime *string `json:"lastConnectionEstablishedUtcTime,omitempty" azure:"ro"` // READ-ONLY; Tunnel name. Tunnel *string `json:"tunnel,omitempty" azure:"ro"` } // UnprepareNetworkPoliciesRequest - Details of UnprepareNetworkPolicies for Subnet. type UnprepareNetworkPoliciesRequest struct { // The name of the service for which subnet is being unprepared for. ServiceName *string `json:"serviceName,omitempty"` } // Usage - The network resource usage. type Usage struct { // REQUIRED; The current value of the usage. CurrentValue *int64 `json:"currentValue,omitempty"` // REQUIRED; The limit of usage. Limit *int64 `json:"limit,omitempty"` // REQUIRED; The name of the type of usage. Name *UsageName `json:"name,omitempty"` // REQUIRED; An enum describing the unit of measurement. Unit *UsageUnit `json:"unit,omitempty"` // READ-ONLY; Resource identifier. ID *string `json:"id,omitempty" azure:"ro"` } // UsageName - The usage names. type UsageName struct { // A localized string describing the resource name. LocalizedValue *string `json:"localizedValue,omitempty"` // A string describing the resource name. Value *string `json:"value,omitempty"` } // UsagesListOptions contains the optional parameters for the Usages.List method. type UsagesListOptions struct { // placeholder for future optional parameters } // UsagesListResult - The list usages operation response. type UsagesListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The list network resource usages. Value []*Usage `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type UsagesListResult. func (u UsagesListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", u.NextLink) populate(objectMap, "value", u.Value) return json.Marshal(objectMap) } // VM - Describes a Virtual Machine. type VM struct { Resource } // VPNClientConfiguration - VpnClientConfiguration for P2S client. type VPNClientConfiguration struct { // The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. AADAudience *string `json:"aadAudience,omitempty"` // The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. AADIssuer *string `json:"aadIssuer,omitempty"` // The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. AADTenant *string `json:"aadTenant,omitempty"` // The radius server address property of the VirtualNetworkGateway resource for vpn client connection. RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` // The radius secret property of the VirtualNetworkGateway resource for vpn client connection. RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` // The radiusServers property for multiple radius server configuration. RadiusServers []*RadiusServer `json:"radiusServers,omitempty"` // VPN authentication types for the virtual network gateway.. VPNAuthenticationTypes []*VPNAuthenticationType `json:"vpnAuthenticationTypes,omitempty"` // The reference to the address space resource which represents Address space for P2S VpnClient. VPNClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` // VpnClientIpsecPolicies for virtual network gateway P2S client. VPNClientIPSecPolicies []*IPSecPolicy `json:"vpnClientIpsecPolicies,omitempty"` // VpnClientProtocols for Virtual network gateway. VPNClientProtocols []*VPNClientProtocol `json:"vpnClientProtocols,omitempty"` // VpnClientRevokedCertificate for Virtual network gateway. VPNClientRevokedCertificates []*VPNClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` // VpnClientRootCertificate for virtual network gateway. VPNClientRootCertificates []*VPNClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VPNClientConfiguration. func (v VPNClientConfiguration) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "aadAudience", v.AADAudience) populate(objectMap, "aadIssuer", v.AADIssuer) populate(objectMap, "aadTenant", v.AADTenant) populate(objectMap, "radiusServerAddress", v.RadiusServerAddress) populate(objectMap, "radiusServerSecret", v.RadiusServerSecret) populate(objectMap, "radiusServers", v.RadiusServers) populate(objectMap, "vpnAuthenticationTypes", v.VPNAuthenticationTypes) populate(objectMap, "vpnClientAddressPool", v.VPNClientAddressPool) populate(objectMap, "vpnClientIpsecPolicies", v.VPNClientIPSecPolicies) populate(objectMap, "vpnClientProtocols", v.VPNClientProtocols) populate(objectMap, "vpnClientRevokedCertificates", v.VPNClientRevokedCertificates) populate(objectMap, "vpnClientRootCertificates", v.VPNClientRootCertificates) return json.Marshal(objectMap) } // VPNClientConnectionHealth - VpnClientConnectionHealth properties. type VPNClientConnectionHealth struct { // List of allocated ip addresses to the connected p2s vpn clients. AllocatedIPAddresses []*string `json:"allocatedIpAddresses,omitempty"` // The total of p2s vpn clients connected at this time to this P2SVpnGateway. VPNClientConnectionsCount *int32 `json:"vpnClientConnectionsCount,omitempty"` // READ-ONLY; Total of the Egress Bytes Transferred in this connection. TotalEgressBytesTransferred *int64 `json:"totalEgressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; Total of the Ingress Bytes Transferred in this P2S Vpn connection. TotalIngressBytesTransferred *int64 `json:"totalIngressBytesTransferred,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNClientConnectionHealth. func (v VPNClientConnectionHealth) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "allocatedIpAddresses", v.AllocatedIPAddresses) populate(objectMap, "totalEgressBytesTransferred", v.TotalEgressBytesTransferred) populate(objectMap, "totalIngressBytesTransferred", v.TotalIngressBytesTransferred) populate(objectMap, "vpnClientConnectionsCount", v.VPNClientConnectionsCount) return json.Marshal(objectMap) } // VPNClientConnectionHealthDetail - VPN client connection health detail. type VPNClientConnectionHealthDetail struct { // READ-ONLY; The egress bytes per second. EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The egress packets per second. EgressPacketsTransferred *int64 `json:"egressPacketsTransferred,omitempty" azure:"ro"` // READ-ONLY; The ingress bytes per second. IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The ingress packets per second. IngressPacketsTransferred *int64 `json:"ingressPacketsTransferred,omitempty" azure:"ro"` // READ-ONLY; The max band width. MaxBandwidth *int64 `json:"maxBandwidth,omitempty" azure:"ro"` // READ-ONLY; The max packets transferred per second. MaxPacketsPerSecond *int64 `json:"maxPacketsPerSecond,omitempty" azure:"ro"` // READ-ONLY; The assigned private Ip of a connected vpn client. PrivateIPAddress *string `json:"privateIpAddress,omitempty" azure:"ro"` // READ-ONLY; The public Ip of a connected vpn client. PublicIPAddress *string `json:"publicIpAddress,omitempty" azure:"ro"` // READ-ONLY; The duration time of a connected vpn client. VPNConnectionDuration *int64 `json:"vpnConnectionDuration,omitempty" azure:"ro"` // READ-ONLY; The vpn client Id. VPNConnectionID *string `json:"vpnConnectionId,omitempty" azure:"ro"` // READ-ONLY; The start time of a connected vpn client. VPNConnectionTime *string `json:"vpnConnectionTime,omitempty" azure:"ro"` // READ-ONLY; The user name of a connected vpn client. VPNUserName *string `json:"vpnUserName,omitempty" azure:"ro"` } // VPNClientConnectionHealthDetailListResult - List of virtual network gateway vpn client connection health. type VPNClientConnectionHealthDetailListResult struct { // List of vpn client connection health. Value []*VPNClientConnectionHealthDetail `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VPNClientConnectionHealthDetailListResult. func (v VPNClientConnectionHealthDetailListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VPNClientIPsecParameters - An IPSec parameters for a virtual network gateway P2S connection. type VPNClientIPsecParameters struct { // REQUIRED; The DH Group used in IKE Phase 1 for initial SA. DhGroup *DhGroup `json:"dhGroup,omitempty"` // REQUIRED; The IPSec encryption algorithm (IKE phase 1). IPSecEncryption *IPSecEncryption `json:"ipsecEncryption,omitempty"` // REQUIRED; The IPSec integrity algorithm (IKE phase 1). IPSecIntegrity *IPSecIntegrity `json:"ipsecIntegrity,omitempty"` // REQUIRED; The IKE encryption algorithm (IKE phase 2). IkeEncryption *IkeEncryption `json:"ikeEncryption,omitempty"` // REQUIRED; The IKE integrity algorithm (IKE phase 2). IkeIntegrity *IkeIntegrity `json:"ikeIntegrity,omitempty"` // REQUIRED; The Pfs Group used in IKE Phase 2 for new child SA. PfsGroup *PfsGroup `json:"pfsGroup,omitempty"` // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` } // VPNClientParameters - Vpn Client Parameters for package generation. type VPNClientParameters struct { // VPN client authentication method. AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` // A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with // EAPTLS. ClientRootCertificates []*string `json:"clientRootCertificates,omitempty"` // VPN client Processor Architecture. ProcessorArchitecture *ProcessorArchitecture `json:"processorArchitecture,omitempty"` // The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication // has been configured with EAPTLS // authentication. RadiusServerAuthCertificate *string `json:"radiusServerAuthCertificate,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VPNClientParameters. func (v VPNClientParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "authenticationMethod", v.AuthenticationMethod) populate(objectMap, "clientRootCertificates", v.ClientRootCertificates) populate(objectMap, "processorArchitecture", v.ProcessorArchitecture) populate(objectMap, "radiusServerAuthCertificate", v.RadiusServerAuthCertificate) return json.Marshal(objectMap) } // VPNClientRevokedCertificate - VPN client revoked certificate of virtual network gateway. type VPNClientRevokedCertificate struct { SubResource // The 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"` // Properties of the vpn client revoked certificate. Properties *VPNClientRevokedCertificatePropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNClientRevokedCertificate. func (v VPNClientRevokedCertificate) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VPNClientRevokedCertificatePropertiesFormat - Properties of the revoked VPN client certificate of virtual network gateway. type VPNClientRevokedCertificatePropertiesFormat struct { // The revoked VPN client certificate thumbprint. Thumbprint *string `json:"thumbprint,omitempty"` // READ-ONLY; The provisioning state of the VPN client revoked certificate resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // VPNClientRootCertificate - VPN client root certificate of virtual network gateway. type VPNClientRootCertificate struct { SubResource // REQUIRED; Properties of the vpn client root certificate. Properties *VPNClientRootCertificatePropertiesFormat `json:"properties,omitempty"` // The 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"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNClientRootCertificate. func (v VPNClientRootCertificate) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VPNClientRootCertificatePropertiesFormat - Properties of SSL certificates of application gateway. type VPNClientRootCertificatePropertiesFormat struct { // REQUIRED; The certificate public data. PublicCertData *string `json:"publicCertData,omitempty"` // READ-ONLY; The provisioning state of the VPN client root certificate resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // VPNConnection - VpnConnection Resource. type VPNConnection struct { SubResource // The 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"` // Properties of the VPN connection. Properties *VPNConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNConnection. func (v VPNConnection) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VPNConnectionPacketCaptureStartParameters - Vpn Connection packet capture parameters supplied to start packet capture on gateway connection. type VPNConnectionPacketCaptureStartParameters struct { // Start Packet capture parameters on vpn connection. FilterData *string `json:"filterData,omitempty"` // List of site link connection names. LinkConnectionNames []*string `json:"linkConnectionNames,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VPNConnectionPacketCaptureStartParameters. func (v VPNConnectionPacketCaptureStartParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "filterData", v.FilterData) populate(objectMap, "linkConnectionNames", v.LinkConnectionNames) return json.Marshal(objectMap) } // VPNConnectionPacketCaptureStopParameters - Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection. type VPNConnectionPacketCaptureStopParameters struct { // List of site link connection names. LinkConnectionNames []*string `json:"linkConnectionNames,omitempty"` // SAS url for packet capture on vpn connection. SasURL *string `json:"sasUrl,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VPNConnectionPacketCaptureStopParameters. func (v VPNConnectionPacketCaptureStopParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "linkConnectionNames", v.LinkConnectionNames) populate(objectMap, "sasUrl", v.SasURL) return json.Marshal(objectMap) } // VPNConnectionProperties - Parameters for VpnConnection. type VPNConnectionProperties struct { // Expected bandwidth in MBPS. ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` // DPD timeout in seconds for vpn connection. DpdTimeoutSeconds *int32 `json:"dpdTimeoutSeconds,omitempty"` // EnableBgp flag. EnableBgp *bool `json:"enableBgp,omitempty"` // Enable internet security. EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` // EnableBgp flag. EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` // The IPSec Policies to be considered by this connection. IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` // Id of the connected vpn site. RemoteVPNSite *SubResource `json:"remoteVpnSite,omitempty"` // The Routing Configuration indicating the associated and propagated route tables on this connection. RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` // Routing weight for vpn connection. RoutingWeight *int32 `json:"routingWeight,omitempty"` // SharedKey for the vpn connection. SharedKey *string `json:"sharedKey,omitempty"` // The Traffic Selector Policies to be considered by this connection. TrafficSelectorPolicies []*TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` // Use local azure ip to initiate connection. UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` // Enable policy-based traffic selectors. UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` // Connection protocol used for this connection. VPNConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` // List of all vpn site link connections to the gateway. VPNLinkConnections []*VPNSiteLinkConnection `json:"vpnLinkConnections,omitempty"` // READ-ONLY; The connection status. ConnectionStatus *VPNConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` // READ-ONLY; Egress bytes transferred. EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; Ingress bytes transferred. IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the VPN connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNConnectionProperties. func (v VPNConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "connectionBandwidth", v.ConnectionBandwidth) populate(objectMap, "connectionStatus", v.ConnectionStatus) populate(objectMap, "dpdTimeoutSeconds", v.DpdTimeoutSeconds) populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) populate(objectMap, "enableBgp", v.EnableBgp) populate(objectMap, "enableInternetSecurity", v.EnableInternetSecurity) populate(objectMap, "enableRateLimiting", v.EnableRateLimiting) populate(objectMap, "ipsecPolicies", v.IPSecPolicies) populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "remoteVpnSite", v.RemoteVPNSite) populate(objectMap, "routingConfiguration", v.RoutingConfiguration) populate(objectMap, "routingWeight", v.RoutingWeight) populate(objectMap, "sharedKey", v.SharedKey) populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) populate(objectMap, "vpnConnectionProtocolType", v.VPNConnectionProtocolType) populate(objectMap, "vpnLinkConnections", v.VPNLinkConnections) return json.Marshal(objectMap) } // VPNConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the VPNConnections.BeginCreateOrUpdate method. type VPNConnectionsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VPNConnectionsBeginDeleteOptions contains the optional parameters for the VPNConnections.BeginDelete method. type VPNConnectionsBeginDeleteOptions struct { // placeholder for future optional parameters } // VPNConnectionsBeginStartPacketCaptureOptions contains the optional parameters for the VPNConnections.BeginStartPacketCapture method. type VPNConnectionsBeginStartPacketCaptureOptions struct { // Vpn Connection packet capture parameters supplied to start packet capture on gateway connection. Parameters *VPNConnectionPacketCaptureStartParameters } // VPNConnectionsBeginStopPacketCaptureOptions contains the optional parameters for the VPNConnections.BeginStopPacketCapture method. type VPNConnectionsBeginStopPacketCaptureOptions struct { // Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection. Parameters *VPNConnectionPacketCaptureStopParameters } // VPNConnectionsGetOptions contains the optional parameters for the VPNConnections.Get method. type VPNConnectionsGetOptions struct { // placeholder for future optional parameters } // VPNConnectionsListByVPNGatewayOptions contains the optional parameters for the VPNConnections.ListByVPNGateway method. type VPNConnectionsListByVPNGatewayOptions struct { // placeholder for future optional parameters } // VPNDeviceScriptParameters - Vpn device configuration script generation parameters. type VPNDeviceScriptParameters struct { // The device family for the vpn device. DeviceFamily *string `json:"deviceFamily,omitempty"` // The firmware version for the vpn device. FirmwareVersion *string `json:"firmwareVersion,omitempty"` // The vendor for the vpn device. Vendor *string `json:"vendor,omitempty"` } // VPNGateway - VpnGateway Resource. type VPNGateway struct { Resource // Properties of the VPN gateway. Properties *VPNGatewayProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNGateway. func (v VPNGateway) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VPNGatewayIPConfiguration - IP Configuration of a VPN Gateway Resource. type VPNGatewayIPConfiguration struct { // The identifier of the IP configuration for a VPN Gateway. ID *string `json:"id,omitempty"` // The private IP address of this IP configuration. PrivateIPAddress *string `json:"privateIpAddress,omitempty"` // The public IP address of this IP configuration. PublicIPAddress *string `json:"publicIpAddress,omitempty"` } // VPNGatewayNatRule - VpnGatewayNatRule Resource. type VPNGatewayNatRule struct { SubResource // The 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"` // Properties of the VpnGateway NAT rule. Properties *VPNGatewayNatRuleProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNGatewayNatRule. func (v VPNGatewayNatRule) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VPNGatewayNatRuleProperties - Parameters for VpnGatewayNatRule. type VPNGatewayNatRuleProperties struct { // The private IP address external mapping for NAT. ExternalMappings []*VPNNatRuleMapping `json:"externalMappings,omitempty"` // The IP Configuration ID this NAT rule applies to. IPConfigurationID *string `json:"ipConfigurationId,omitempty"` // The private IP address internal mapping for NAT. InternalMappings []*VPNNatRuleMapping `json:"internalMappings,omitempty"` // The Source NAT direction of a VPN NAT. Mode *VPNNatRuleMode `json:"mode,omitempty"` // The type of NAT rule for VPN NAT. Type *VPNNatRuleType `json:"type,omitempty"` // READ-ONLY; List of egress VpnSiteLinkConnections. EgressVPNSiteLinkConnections []*SubResource `json:"egressVpnSiteLinkConnections,omitempty" azure:"ro"` // READ-ONLY; List of ingress VpnSiteLinkConnections. IngressVPNSiteLinkConnections []*SubResource `json:"ingressVpnSiteLinkConnections,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the NAT Rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNGatewayNatRuleProperties. func (v VPNGatewayNatRuleProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "egressVpnSiteLinkConnections", v.EgressVPNSiteLinkConnections) populate(objectMap, "externalMappings", v.ExternalMappings) populate(objectMap, "ipConfigurationId", v.IPConfigurationID) populate(objectMap, "ingressVpnSiteLinkConnections", v.IngressVPNSiteLinkConnections) populate(objectMap, "internalMappings", v.InternalMappings) populate(objectMap, "mode", v.Mode) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VPNGatewayPacketCaptureStartParameters - Start packet capture parameters. type VPNGatewayPacketCaptureStartParameters struct { // Start Packet capture parameters on vpn gateway. FilterData *string `json:"filterData,omitempty"` } // VPNGatewayPacketCaptureStopParameters - Stop packet capture parameters. type VPNGatewayPacketCaptureStopParameters struct { // SAS url for packet capture on vpn gateway. SasURL *string `json:"sasUrl,omitempty"` } // VPNGatewayProperties - Parameters for VpnGateway. type VPNGatewayProperties struct { // Local network gateway's BGP speaker settings. BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` // List of all vpn connections to the gateway. Connections []*VPNConnection `json:"connections,omitempty"` // Enable Routing Preference property for the Public IP Interface of the VpnGateway. IsRoutingPreferenceInternet *bool `json:"isRoutingPreferenceInternet,omitempty"` // List of all the nat Rules associated with the gateway. NatRules []*VPNGatewayNatRule `json:"natRules,omitempty"` // The scale unit for this vpn gateway. VPNGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` // The VirtualHub to which the gateway belongs. VirtualHub *SubResource `json:"virtualHub,omitempty"` // READ-ONLY; List of all IPs configured on the gateway. IPConfigurations []*VPNGatewayIPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the VPN gateway resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNGatewayProperties. func (v VPNGatewayProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "bgpSettings", v.BgpSettings) populate(objectMap, "connections", v.Connections) populate(objectMap, "ipConfigurations", v.IPConfigurations) populate(objectMap, "isRoutingPreferenceInternet", v.IsRoutingPreferenceInternet) populate(objectMap, "natRules", v.NatRules) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "vpnGatewayScaleUnit", v.VPNGatewayScaleUnit) populate(objectMap, "virtualHub", v.VirtualHub) return json.Marshal(objectMap) } // VPNGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the VPNGateways.BeginCreateOrUpdate method. type VPNGatewaysBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VPNGatewaysBeginDeleteOptions contains the optional parameters for the VPNGateways.BeginDelete method. type VPNGatewaysBeginDeleteOptions struct { // placeholder for future optional parameters } // VPNGatewaysBeginResetOptions contains the optional parameters for the VPNGateways.BeginReset method. type VPNGatewaysBeginResetOptions struct { // placeholder for future optional parameters } // VPNGatewaysBeginStartPacketCaptureOptions contains the optional parameters for the VPNGateways.BeginStartPacketCapture method. type VPNGatewaysBeginStartPacketCaptureOptions struct { // Vpn gateway packet capture parameters supplied to start packet capture on vpn gateway. Parameters *VPNGatewayPacketCaptureStartParameters } // VPNGatewaysBeginStopPacketCaptureOptions contains the optional parameters for the VPNGateways.BeginStopPacketCapture method. type VPNGatewaysBeginStopPacketCaptureOptions struct { // Vpn gateway packet capture parameters supplied to stop packet capture on vpn gateway. Parameters *VPNGatewayPacketCaptureStopParameters } // VPNGatewaysBeginUpdateTagsOptions contains the optional parameters for the VPNGateways.BeginUpdateTags method. type VPNGatewaysBeginUpdateTagsOptions struct { // placeholder for future optional parameters } // VPNGatewaysGetOptions contains the optional parameters for the VPNGateways.Get method. type VPNGatewaysGetOptions struct { // placeholder for future optional parameters } // VPNGatewaysListByResourceGroupOptions contains the optional parameters for the VPNGateways.ListByResourceGroup method. type VPNGatewaysListByResourceGroupOptions struct { // placeholder for future optional parameters } // VPNGatewaysListOptions contains the optional parameters for the VPNGateways.List method. type VPNGatewaysListOptions struct { // placeholder for future optional parameters } // VPNLinkBgpSettings - BGP settings details for a link. type VPNLinkBgpSettings struct { // The BGP speaker's ASN. Asn *int64 `json:"asn,omitempty"` // The BGP peering address and BGP identifier of this BGP speaker. BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` } // VPNLinkConnectionsBeginGetIkeSasOptions contains the optional parameters for the VPNLinkConnections.BeginGetIkeSas method. type VPNLinkConnectionsBeginGetIkeSasOptions struct { // placeholder for future optional parameters } // VPNLinkConnectionsBeginResetConnectionOptions contains the optional parameters for the VPNLinkConnections.BeginResetConnection method. type VPNLinkConnectionsBeginResetConnectionOptions struct { // placeholder for future optional parameters } // VPNLinkConnectionsListByVPNConnectionOptions contains the optional parameters for the VPNLinkConnections.ListByVPNConnection method. type VPNLinkConnectionsListByVPNConnectionOptions struct { // placeholder for future optional parameters } // VPNLinkProviderProperties - List of properties of a link provider. type VPNLinkProviderProperties struct { // Name of the link provider. LinkProviderName *string `json:"linkProviderName,omitempty"` // Link speed. LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` } // VPNNatRuleMapping - Vpn NatRule mapping. type VPNNatRuleMapping struct { // Address space for Vpn NatRule mapping. AddressSpace *string `json:"addressSpace,omitempty"` } // VPNPacketCaptureStartParameters - Start packet capture parameters on virtual network gateway. type VPNPacketCaptureStartParameters struct { // Start Packet capture parameters. FilterData *string `json:"filterData,omitempty"` } // VPNPacketCaptureStopParameters - Stop packet capture parameters. type VPNPacketCaptureStopParameters struct { // SAS url for packet capture on virtual network gateway. SasURL *string `json:"sasUrl,omitempty"` } // VPNProfileResponse - Vpn Profile Response for package generation. type VPNProfileResponse struct { // URL to the VPN profile. ProfileURL *string `json:"profileUrl,omitempty"` } // VPNServerConfigRadiusClientRootCertificate - Properties of the Radius client root certificate of VpnServerConfiguration. type VPNServerConfigRadiusClientRootCertificate struct { // The certificate name. Name *string `json:"name,omitempty"` // The Radius client root certificate thumbprint. Thumbprint *string `json:"thumbprint,omitempty"` } // VPNServerConfigRadiusServerRootCertificate - Properties of Radius Server root certificate of VpnServerConfiguration. type VPNServerConfigRadiusServerRootCertificate struct { // The certificate name. Name *string `json:"name,omitempty"` // The certificate public data. PublicCertData *string `json:"publicCertData,omitempty"` } // VPNServerConfigVPNClientRevokedCertificate - Properties of the revoked VPN client certificate of VpnServerConfiguration. type VPNServerConfigVPNClientRevokedCertificate struct { // The certificate name. Name *string `json:"name,omitempty"` // The revoked VPN client certificate thumbprint. Thumbprint *string `json:"thumbprint,omitempty"` } // VPNServerConfigVPNClientRootCertificate - Properties of VPN client root certificate of VpnServerConfiguration. type VPNServerConfigVPNClientRootCertificate struct { // The certificate name. Name *string `json:"name,omitempty"` // The certificate public data. PublicCertData *string `json:"publicCertData,omitempty"` } // VPNServerConfiguration - VpnServerConfiguration Resource. type VPNServerConfiguration struct { Resource // Properties of the P2SVpnServer configuration. Properties *VPNServerConfigurationProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNServerConfiguration. func (v VPNServerConfiguration) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VPNServerConfigurationProperties - Parameters for VpnServerConfiguration. type VPNServerConfigurationProperties struct { // The set of aad vpn authentication parameters. AADAuthenticationParameters *AADAuthenticationParameters `json:"aadAuthenticationParameters,omitempty"` // The name of the VpnServerConfiguration that is unique within a resource group. Name *string `json:"name,omitempty"` // Radius client root certificate of VpnServerConfiguration. RadiusClientRootCertificates []*VPNServerConfigRadiusClientRootCertificate `json:"radiusClientRootCertificates,omitempty"` // The radius server address property of the VpnServerConfiguration resource for point to site client connection. RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` // Radius Server root certificate of VpnServerConfiguration. RadiusServerRootCertificates []*VPNServerConfigRadiusServerRootCertificate `json:"radiusServerRootCertificates,omitempty"` // The radius secret property of the VpnServerConfiguration resource for point to site client connection. RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` // Multiple Radius Server configuration for VpnServerConfiguration. RadiusServers []*RadiusServer `json:"radiusServers,omitempty"` // VPN authentication types for the VpnServerConfiguration. VPNAuthenticationTypes []*VPNAuthenticationType `json:"vpnAuthenticationTypes,omitempty"` // VpnClientIpsecPolicies for VpnServerConfiguration. VPNClientIPSecPolicies []*IPSecPolicy `json:"vpnClientIpsecPolicies,omitempty"` // VPN client revoked certificate of VpnServerConfiguration. VPNClientRevokedCertificates []*VPNServerConfigVPNClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` // VPN client root certificate of VpnServerConfiguration. VPNClientRootCertificates []*VPNServerConfigVPNClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` // VPN protocols for the VpnServerConfiguration. VPNProtocols []*VPNGatewayTunnelingProtocol `json:"vpnProtocols,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; List of references to P2SVpnGateways. P2SVPNGateways []*P2SVPNGateway `json:"p2SVpnGateways,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationProperties. func (v VPNServerConfigurationProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "aadAuthenticationParameters", v.AADAuthenticationParameters) populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "p2SVpnGateways", v.P2SVPNGateways) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "radiusClientRootCertificates", v.RadiusClientRootCertificates) populate(objectMap, "radiusServerAddress", v.RadiusServerAddress) populate(objectMap, "radiusServerRootCertificates", v.RadiusServerRootCertificates) populate(objectMap, "radiusServerSecret", v.RadiusServerSecret) populate(objectMap, "radiusServers", v.RadiusServers) populate(objectMap, "vpnAuthenticationTypes", v.VPNAuthenticationTypes) populate(objectMap, "vpnClientIpsecPolicies", v.VPNClientIPSecPolicies) populate(objectMap, "vpnClientRevokedCertificates", v.VPNClientRevokedCertificates) populate(objectMap, "vpnClientRootCertificates", v.VPNClientRootCertificates) populate(objectMap, "vpnProtocols", v.VPNProtocols) return json.Marshal(objectMap) } // VPNServerConfigurationsAssociatedWithVirtualWanBeginListOptions contains the optional parameters for the VPNServerConfigurationsAssociatedWithVirtualWan.BeginList // method. type VPNServerConfigurationsAssociatedWithVirtualWanBeginListOptions struct { // placeholder for future optional parameters } // VPNServerConfigurationsBeginCreateOrUpdateOptions contains the optional parameters for the VPNServerConfigurations.BeginCreateOrUpdate method. type VPNServerConfigurationsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VPNServerConfigurationsBeginDeleteOptions contains the optional parameters for the VPNServerConfigurations.BeginDelete method. type VPNServerConfigurationsBeginDeleteOptions struct { // placeholder for future optional parameters } // VPNServerConfigurationsGetOptions contains the optional parameters for the VPNServerConfigurations.Get method. type VPNServerConfigurationsGetOptions struct { // placeholder for future optional parameters } // VPNServerConfigurationsListByResourceGroupOptions contains the optional parameters for the VPNServerConfigurations.ListByResourceGroup method. type VPNServerConfigurationsListByResourceGroupOptions struct { // placeholder for future optional parameters } // VPNServerConfigurationsListOptions contains the optional parameters for the VPNServerConfigurations.List method. type VPNServerConfigurationsListOptions struct { // placeholder for future optional parameters } // VPNServerConfigurationsResponse - VpnServerConfigurations list associated with VirtualWan Response. type VPNServerConfigurationsResponse struct { // List of VpnServerConfigurations associated with VirtualWan. VPNServerConfigurationResourceIDs []*string `json:"vpnServerConfigurationResourceIds,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationsResponse. func (v VPNServerConfigurationsResponse) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "vpnServerConfigurationResourceIds", v.VPNServerConfigurationResourceIDs) return json.Marshal(objectMap) } // VPNServerConfigurationsUpdateTagsOptions contains the optional parameters for the VPNServerConfigurations.UpdateTags method. type VPNServerConfigurationsUpdateTagsOptions struct { // placeholder for future optional parameters } // VPNSite - VpnSite Resource. type VPNSite struct { Resource // Properties of the VPN site. Properties *VPNSiteProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNSite. func (v VPNSite) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VPNSiteID - VpnSite Resource. type VPNSiteID struct { // READ-ONLY; The resource-uri of the vpn-site for which config is to be fetched. VPNSite *string `json:"vpnSite,omitempty" azure:"ro"` } // VPNSiteLink - VpnSiteLink Resource. type VPNSiteLink struct { SubResource // The 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"` // Properties of the VPN site link. Properties *VPNSiteLinkProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNSiteLink. func (v VPNSiteLink) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VPNSiteLinkConnection - VpnSiteLinkConnection Resource. type VPNSiteLinkConnection struct { SubResource // The 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"` // Properties of the VPN site link connection. Properties *VPNSiteLinkConnectionProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNSiteLinkConnection. func (v VPNSiteLinkConnection) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VPNSiteLinkConnectionProperties - Parameters for VpnConnection. type VPNSiteLinkConnectionProperties struct { // Expected bandwidth in MBPS. ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` // List of egress NatRules. EgressNatRules []*SubResource `json:"egressNatRules,omitempty"` // EnableBgp flag. EnableBgp *bool `json:"enableBgp,omitempty"` // EnableBgp flag. EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` // The IPSec Policies to be considered by this connection. IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` // List of ingress NatRules. IngressNatRules []*SubResource `json:"ingressNatRules,omitempty"` // Routing weight for vpn connection. RoutingWeight *int32 `json:"routingWeight,omitempty"` // SharedKey for the vpn connection. SharedKey *string `json:"sharedKey,omitempty"` // Use local azure ip to initiate connection. UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` // Enable policy-based traffic selectors. UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` // Connection protocol used for this connection. VPNConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` // Vpn link connection mode. VPNLinkConnectionMode *VPNLinkConnectionMode `json:"vpnLinkConnectionMode,omitempty"` // Id of the connected vpn site link. VPNSiteLink *SubResource `json:"vpnSiteLink,omitempty"` // READ-ONLY; The connection status. ConnectionStatus *VPNConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` // READ-ONLY; Egress bytes transferred. EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; Ingress bytes transferred. IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the VPN site link connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNSiteLinkConnectionProperties. func (v VPNSiteLinkConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "connectionBandwidth", v.ConnectionBandwidth) populate(objectMap, "connectionStatus", v.ConnectionStatus) populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) populate(objectMap, "egressNatRules", v.EgressNatRules) populate(objectMap, "enableBgp", v.EnableBgp) populate(objectMap, "enableRateLimiting", v.EnableRateLimiting) populate(objectMap, "ipsecPolicies", v.IPSecPolicies) populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) populate(objectMap, "ingressNatRules", v.IngressNatRules) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "routingWeight", v.RoutingWeight) populate(objectMap, "sharedKey", v.SharedKey) populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) populate(objectMap, "vpnConnectionProtocolType", v.VPNConnectionProtocolType) populate(objectMap, "vpnLinkConnectionMode", v.VPNLinkConnectionMode) populate(objectMap, "vpnSiteLink", v.VPNSiteLink) return json.Marshal(objectMap) } // VPNSiteLinkConnectionsGetOptions contains the optional parameters for the VPNSiteLinkConnections.Get method. type VPNSiteLinkConnectionsGetOptions struct { // placeholder for future optional parameters } // VPNSiteLinkProperties - Parameters for VpnSite. type VPNSiteLinkProperties struct { // The set of bgp properties. BgpProperties *VPNLinkBgpSettings `json:"bgpProperties,omitempty"` // FQDN of vpn-site-link. Fqdn *string `json:"fqdn,omitempty"` // The ip-address for the vpn-site-link. IPAddress *string `json:"ipAddress,omitempty"` // The link provider properties. LinkProperties *VPNLinkProviderProperties `json:"linkProperties,omitempty"` // READ-ONLY; The provisioning state of the VPN site link resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // VPNSiteLinksGetOptions contains the optional parameters for the VPNSiteLinks.Get method. type VPNSiteLinksGetOptions struct { // placeholder for future optional parameters } // VPNSiteLinksListByVPNSiteOptions contains the optional parameters for the VPNSiteLinks.ListByVPNSite method. type VPNSiteLinksListByVPNSiteOptions struct { // placeholder for future optional parameters } // VPNSiteProperties - Parameters for VpnSite. type VPNSiteProperties struct { // The AddressSpace that contains an array of IP address ranges. AddressSpace *AddressSpace `json:"addressSpace,omitempty"` // The set of bgp properties. BgpProperties *BgpSettings `json:"bgpProperties,omitempty"` // The device properties. DeviceProperties *DeviceProperties `json:"deviceProperties,omitempty"` // The ip-address for the vpn-site. IPAddress *string `json:"ipAddress,omitempty"` // IsSecuritySite flag. IsSecuritySite *bool `json:"isSecuritySite,omitempty"` // Office365 Policy. O365Policy *O365PolicyProperties `json:"o365Policy,omitempty"` // The key for vpn-site that can be used for connections. SiteKey *string `json:"siteKey,omitempty"` // List of all vpn site links. VPNSiteLinks []*VPNSiteLink `json:"vpnSiteLinks,omitempty"` // The VirtualWAN to which the vpnSite belongs. VirtualWan *SubResource `json:"virtualWan,omitempty"` // READ-ONLY; The provisioning state of the VPN site resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VPNSiteProperties. func (v VPNSiteProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressSpace", v.AddressSpace) populate(objectMap, "bgpProperties", v.BgpProperties) populate(objectMap, "deviceProperties", v.DeviceProperties) populate(objectMap, "ipAddress", v.IPAddress) populate(objectMap, "isSecuritySite", v.IsSecuritySite) populate(objectMap, "o365Policy", v.O365Policy) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "siteKey", v.SiteKey) populate(objectMap, "vpnSiteLinks", v.VPNSiteLinks) populate(objectMap, "virtualWan", v.VirtualWan) return json.Marshal(objectMap) } // VPNSitesBeginCreateOrUpdateOptions contains the optional parameters for the VPNSites.BeginCreateOrUpdate method. type VPNSitesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VPNSitesBeginDeleteOptions contains the optional parameters for the VPNSites.BeginDelete method. type VPNSitesBeginDeleteOptions struct { // placeholder for future optional parameters } // VPNSitesConfigurationBeginDownloadOptions contains the optional parameters for the VPNSitesConfiguration.BeginDownload method. type VPNSitesConfigurationBeginDownloadOptions struct { // placeholder for future optional parameters } // VPNSitesGetOptions contains the optional parameters for the VPNSites.Get method. type VPNSitesGetOptions struct { // placeholder for future optional parameters } // VPNSitesListByResourceGroupOptions contains the optional parameters for the VPNSites.ListByResourceGroup method. type VPNSitesListByResourceGroupOptions struct { // placeholder for future optional parameters } // VPNSitesListOptions contains the optional parameters for the VPNSites.List method. type VPNSitesListOptions struct { // placeholder for future optional parameters } // VPNSitesUpdateTagsOptions contains the optional parameters for the VPNSites.UpdateTags method. type VPNSitesUpdateTagsOptions struct { // placeholder for future optional parameters } // VerificationIPFlowParameters - Parameters that define the IP flow to be verified. type VerificationIPFlowParameters struct { // REQUIRED; The direction of the packet represented as a 5-tuple. Direction *Direction `json:"direction,omitempty"` // REQUIRED; The local IP address. Acceptable values are valid IPv4 addresses. LocalIPAddress *string `json:"localIPAddress,omitempty"` // REQUIRED; The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. LocalPort *string `json:"localPort,omitempty"` // REQUIRED; Protocol to be verified on. Protocol *IPFlowProtocol `json:"protocol,omitempty"` // REQUIRED; The remote IP address. Acceptable values are valid IPv4 addresses. RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` // REQUIRED; The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. RemotePort *string `json:"remotePort,omitempty"` // REQUIRED; The ID of the target resource to perform next-hop on. TargetResourceID *string `json:"targetResourceId,omitempty"` // The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional). TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` } // VerificationIPFlowResult - Results of IP flow verification on the target resource. type VerificationIPFlowResult struct { // Indicates whether the traffic is allowed or denied. Access *Access `json:"access,omitempty"` // Name of the rule. If input is not matched against any security rule, it is not displayed. RuleName *string `json:"ruleName,omitempty"` } // VirtualApplianceNicProperties - Network Virtual Appliance NIC properties. type VirtualApplianceNicProperties struct { // READ-ONLY; NIC name. Name *string `json:"name,omitempty" azure:"ro"` // READ-ONLY; Private IP address. PrivateIPAddress *string `json:"privateIpAddress,omitempty" azure:"ro"` // READ-ONLY; Public IP address. PublicIPAddress *string `json:"publicIpAddress,omitempty" azure:"ro"` } // VirtualApplianceSKUProperties - Network Virtual Appliance Sku Properties. type VirtualApplianceSKUProperties struct { // Virtual Appliance Scale Unit. BundledScaleUnit *string `json:"bundledScaleUnit,omitempty"` // Virtual Appliance Version. MarketPlaceVersion *string `json:"marketPlaceVersion,omitempty"` // Virtual Appliance Vendor. Vendor *string `json:"vendor,omitempty"` } // VirtualApplianceSKUsGetOptions contains the optional parameters for the VirtualApplianceSKUs.Get method. type VirtualApplianceSKUsGetOptions struct { // placeholder for future optional parameters } // VirtualApplianceSKUsListOptions contains the optional parameters for the VirtualApplianceSKUs.List method. type VirtualApplianceSKUsListOptions struct { // placeholder for future optional parameters } // VirtualApplianceSite - Virtual Appliance Site resource. type VirtualApplianceSite struct { SubResource // Name of the virtual appliance site. Name *string `json:"name,omitempty"` // The properties of the Virtual Appliance Sites. Properties *VirtualApplianceSiteProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Site type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSite. func (v VirtualApplianceSite) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VirtualApplianceSiteProperties - Properties of the rule group. type VirtualApplianceSiteProperties struct { // Address Prefix. AddressPrefix *string `json:"addressPrefix,omitempty"` // Office 365 Policy. O365Policy *Office365PolicyProperties `json:"o365Policy,omitempty"` // READ-ONLY; The provisioning state of the resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // VirtualApplianceSitesBeginCreateOrUpdateOptions contains the optional parameters for the VirtualApplianceSites.BeginCreateOrUpdate method. type VirtualApplianceSitesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualApplianceSitesBeginDeleteOptions contains the optional parameters for the VirtualApplianceSites.BeginDelete method. type VirtualApplianceSitesBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualApplianceSitesGetOptions contains the optional parameters for the VirtualApplianceSites.Get method. type VirtualApplianceSitesGetOptions struct { // placeholder for future optional parameters } // VirtualApplianceSitesListOptions contains the optional parameters for the VirtualApplianceSites.List method. type VirtualApplianceSitesListOptions struct { // placeholder for future optional parameters } // VirtualHub Resource. type VirtualHub struct { Resource // Properties of the virtual hub. Properties *VirtualHubProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHub. func (v VirtualHub) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualHubBgpConnectionBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubBgpConnection.BeginCreateOrUpdate method. type VirtualHubBgpConnectionBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualHubBgpConnectionBeginDeleteOptions contains the optional parameters for the VirtualHubBgpConnection.BeginDelete method. type VirtualHubBgpConnectionBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualHubBgpConnectionGetOptions contains the optional parameters for the VirtualHubBgpConnection.Get method. type VirtualHubBgpConnectionGetOptions struct { // placeholder for future optional parameters } // VirtualHubBgpConnectionsBeginListAdvertisedRoutesOptions contains the optional parameters for the VirtualHubBgpConnections.BeginListAdvertisedRoutes // method. type VirtualHubBgpConnectionsBeginListAdvertisedRoutesOptions struct { // placeholder for future optional parameters } // VirtualHubBgpConnectionsBeginListLearnedRoutesOptions contains the optional parameters for the VirtualHubBgpConnections.BeginListLearnedRoutes method. type VirtualHubBgpConnectionsBeginListLearnedRoutesOptions struct { // placeholder for future optional parameters } // VirtualHubBgpConnectionsListOptions contains the optional parameters for the VirtualHubBgpConnections.List method. type VirtualHubBgpConnectionsListOptions struct { // placeholder for future optional parameters } // VirtualHubEffectiveRoute - The effective route configured on the virtual hub or specified resource. type VirtualHubEffectiveRoute struct { // The list of address prefixes. AddressPrefixes []*string `json:"addressPrefixes,omitempty"` // The ASPath of this route. AsPath *string `json:"asPath,omitempty"` // The type of the next hop. NextHopType *string `json:"nextHopType,omitempty"` // The list of next hops. NextHops []*string `json:"nextHops,omitempty"` // The origin of this route. RouteOrigin *string `json:"routeOrigin,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubEffectiveRoute. func (v VirtualHubEffectiveRoute) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefixes", v.AddressPrefixes) populate(objectMap, "asPath", v.AsPath) populate(objectMap, "nextHopType", v.NextHopType) populate(objectMap, "nextHops", v.NextHops) populate(objectMap, "routeOrigin", v.RouteOrigin) return json.Marshal(objectMap) } // VirtualHubEffectiveRouteList - EffectiveRoutes List. type VirtualHubEffectiveRouteList struct { // The list of effective routes configured on the virtual hub or the specified resource. Value []*VirtualHubEffectiveRoute `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubEffectiveRouteList. func (v VirtualHubEffectiveRouteList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualHubID - Virtual Hub identifier. type VirtualHubID struct { // The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource // reside in the same subscription. ID *string `json:"id,omitempty"` } // VirtualHubIPConfigurationBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubIPConfiguration.BeginCreateOrUpdate method. type VirtualHubIPConfigurationBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualHubIPConfigurationBeginDeleteOptions contains the optional parameters for the VirtualHubIPConfiguration.BeginDelete method. type VirtualHubIPConfigurationBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualHubIPConfigurationGetOptions contains the optional parameters for the VirtualHubIPConfiguration.Get method. type VirtualHubIPConfigurationGetOptions struct { // placeholder for future optional parameters } // VirtualHubIPConfigurationListOptions contains the optional parameters for the VirtualHubIPConfiguration.List method. type VirtualHubIPConfigurationListOptions struct { // placeholder for future optional parameters } // VirtualHubProperties - Parameters for VirtualHub. type VirtualHubProperties struct { // Address-prefix for this VirtualHub. AddressPrefix *string `json:"addressPrefix,omitempty"` // Flag to control transit for VirtualRouter hub. AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` // The azureFirewall associated with this VirtualHub. AzureFirewall *SubResource `json:"azureFirewall,omitempty"` // The expressRouteGateway associated with this VirtualHub. ExpressRouteGateway *SubResource `json:"expressRouteGateway,omitempty"` // The P2SVpnGateway associated with this VirtualHub. P2SVPNGateway *SubResource `json:"p2SVpnGateway,omitempty"` // The preferred gateway to route on-prem traffic PreferredRoutingGateway *PreferredRoutingGateway `json:"preferredRoutingGateway,omitempty"` // The routeTable associated with this virtual hub. RouteTable *VirtualHubRouteTable `json:"routeTable,omitempty"` // The sku of this VirtualHub. SKU *string `json:"sku,omitempty"` // The securityPartnerProvider associated with this VirtualHub. SecurityPartnerProvider *SubResource `json:"securityPartnerProvider,omitempty"` // The Security Provider name. SecurityProviderName *string `json:"securityProviderName,omitempty"` // The VpnGateway associated with this VirtualHub. VPNGateway *SubResource `json:"vpnGateway,omitempty"` // List of all virtual hub route table v2s associated with this VirtualHub. VirtualHubRouteTableV2S []*VirtualHubRouteTableV2 `json:"virtualHubRouteTableV2s,omitempty"` // VirtualRouter ASN. VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` // VirtualRouter IPs. VirtualRouterIPs []*string `json:"virtualRouterIps,omitempty"` // The VirtualWAN to which the VirtualHub belongs. VirtualWan *SubResource `json:"virtualWan,omitempty"` // READ-ONLY; List of references to Bgp Connections. BgpConnections []*SubResource `json:"bgpConnections,omitempty" azure:"ro"` // READ-ONLY; List of references to IpConfigurations. IPConfigurations []*SubResource `json:"ipConfigurations,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the virtual hub resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The routing state. RoutingState *RoutingState `json:"routingState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubProperties. func (v VirtualHubProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefix", v.AddressPrefix) populate(objectMap, "allowBranchToBranchTraffic", v.AllowBranchToBranchTraffic) populate(objectMap, "azureFirewall", v.AzureFirewall) populate(objectMap, "bgpConnections", v.BgpConnections) populate(objectMap, "expressRouteGateway", v.ExpressRouteGateway) populate(objectMap, "ipConfigurations", v.IPConfigurations) populate(objectMap, "p2SVpnGateway", v.P2SVPNGateway) populate(objectMap, "preferredRoutingGateway", v.PreferredRoutingGateway) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "routeTable", v.RouteTable) populate(objectMap, "routingState", v.RoutingState) populate(objectMap, "sku", v.SKU) populate(objectMap, "securityPartnerProvider", v.SecurityPartnerProvider) populate(objectMap, "securityProviderName", v.SecurityProviderName) populate(objectMap, "vpnGateway", v.VPNGateway) populate(objectMap, "virtualHubRouteTableV2s", v.VirtualHubRouteTableV2S) populate(objectMap, "virtualRouterAsn", v.VirtualRouterAsn) populate(objectMap, "virtualRouterIps", v.VirtualRouterIPs) populate(objectMap, "virtualWan", v.VirtualWan) return json.Marshal(objectMap) } // VirtualHubRoute - VirtualHub route. type VirtualHubRoute struct { // List of all addressPrefixes. AddressPrefixes []*string `json:"addressPrefixes,omitempty"` // NextHop ip address. NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubRoute. func (v VirtualHubRoute) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressPrefixes", v.AddressPrefixes) populate(objectMap, "nextHopIpAddress", v.NextHopIPAddress) return json.Marshal(objectMap) } // VirtualHubRouteTable - VirtualHub route table. type VirtualHubRouteTable struct { // List of all routes. Routes []*VirtualHubRoute `json:"routes,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTable. func (v VirtualHubRouteTable) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "routes", v.Routes) return json.Marshal(objectMap) } // VirtualHubRouteTableV2 Resource. type VirtualHubRouteTableV2 struct { SubResource // The 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"` // Properties of the virtual hub route table v2. Properties *VirtualHubRouteTableV2Properties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTableV2. func (v VirtualHubRouteTableV2) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualHubRouteTableV2Properties - Parameters for VirtualHubRouteTableV2. type VirtualHubRouteTableV2Properties struct { // List of all connections attached to this route table v2. AttachedConnections []*string `json:"attachedConnections,omitempty"` // List of all routes. Routes []*VirtualHubRouteV2 `json:"routes,omitempty"` // READ-ONLY; The provisioning state of the virtual hub route table v2 resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTableV2Properties. func (v VirtualHubRouteTableV2Properties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "attachedConnections", v.AttachedConnections) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "routes", v.Routes) return json.Marshal(objectMap) } // VirtualHubRouteTableV2SBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubRouteTableV2S.BeginCreateOrUpdate method. type VirtualHubRouteTableV2SBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualHubRouteTableV2SBeginDeleteOptions contains the optional parameters for the VirtualHubRouteTableV2S.BeginDelete method. type VirtualHubRouteTableV2SBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualHubRouteTableV2SGetOptions contains the optional parameters for the VirtualHubRouteTableV2S.Get method. type VirtualHubRouteTableV2SGetOptions struct { // placeholder for future optional parameters } // VirtualHubRouteTableV2SListOptions contains the optional parameters for the VirtualHubRouteTableV2S.List method. type VirtualHubRouteTableV2SListOptions struct { // placeholder for future optional parameters } // VirtualHubRouteV2 - VirtualHubRouteTableV2 route. type VirtualHubRouteV2 struct { // The type of destinations. DestinationType *string `json:"destinationType,omitempty"` // List of all destinations. Destinations []*string `json:"destinations,omitempty"` // The type of next hops. NextHopType *string `json:"nextHopType,omitempty"` // NextHops ip address. NextHops []*string `json:"nextHops,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteV2. func (v VirtualHubRouteV2) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "destinationType", v.DestinationType) populate(objectMap, "destinations", v.Destinations) populate(objectMap, "nextHopType", v.NextHopType) populate(objectMap, "nextHops", v.NextHops) return json.Marshal(objectMap) } // VirtualHubsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubs.BeginCreateOrUpdate method. type VirtualHubsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualHubsBeginDeleteOptions contains the optional parameters for the VirtualHubs.BeginDelete method. type VirtualHubsBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualHubsBeginGetEffectiveVirtualHubRoutesOptions contains the optional parameters for the VirtualHubs.BeginGetEffectiveVirtualHubRoutes method. type VirtualHubsBeginGetEffectiveVirtualHubRoutesOptions struct { // Parameters supplied to get the effective routes for a specific resource. EffectiveRoutesParameters *EffectiveRoutesParameters } // VirtualHubsGetOptions contains the optional parameters for the VirtualHubs.Get method. type VirtualHubsGetOptions struct { // placeholder for future optional parameters } // VirtualHubsListByResourceGroupOptions contains the optional parameters for the VirtualHubs.ListByResourceGroup method. type VirtualHubsListByResourceGroupOptions struct { // placeholder for future optional parameters } // VirtualHubsListOptions contains the optional parameters for the VirtualHubs.List method. type VirtualHubsListOptions struct { // placeholder for future optional parameters } // VirtualHubsUpdateTagsOptions contains the optional parameters for the VirtualHubs.UpdateTags method. type VirtualHubsUpdateTagsOptions struct { // placeholder for future optional parameters } // VirtualNetwork - Virtual Network resource. type VirtualNetwork struct { Resource // The extended location of the virtual network. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // Properties of the virtual network. Properties *VirtualNetworkPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetwork. func (v VirtualNetwork) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "extendedLocation", v.ExtendedLocation) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualNetworkBgpCommunities - Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. type VirtualNetworkBgpCommunities struct { // REQUIRED; The BGP community associated with the virtual network. VirtualNetworkCommunity *string `json:"virtualNetworkCommunity,omitempty"` // READ-ONLY; The BGP community associated with the region of the virtual network. RegionalCommunity *string `json:"regionalCommunity,omitempty" azure:"ro"` } // VirtualNetworkConnectionGatewayReference - A reference to VirtualNetworkGateway or LocalNetworkGateway resource. type VirtualNetworkConnectionGatewayReference struct { // REQUIRED; The ID of VirtualNetworkGateway or LocalNetworkGateway resource. ID *string `json:"id,omitempty"` } // VirtualNetworkGateway - A common class for general resource information. type VirtualNetworkGateway struct { Resource // REQUIRED; Properties of the virtual network gateway. Properties *VirtualNetworkGatewayPropertiesFormat `json:"properties,omitempty"` // The extended location of type local virtual network gateway. ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGateway. func (v VirtualNetworkGateway) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "extendedLocation", v.ExtendedLocation) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualNetworkGatewayConnection - A common class for general resource information. type VirtualNetworkGatewayConnection struct { Resource // REQUIRED; Properties of the virtual network gateway connection. Properties *VirtualNetworkGatewayConnectionPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnection. func (v VirtualNetworkGatewayConnection) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualNetworkGatewayConnectionListEntity - A common class for general resource information. type VirtualNetworkGatewayConnectionListEntity struct { Resource // REQUIRED; Properties of the virtual network gateway connection. Properties *VirtualNetworkGatewayConnectionListEntityPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListEntity. func (v VirtualNetworkGatewayConnectionListEntity) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualNetworkGatewayConnectionListEntityPropertiesFormat - VirtualNetworkGatewayConnection properties. type VirtualNetworkGatewayConnectionListEntityPropertiesFormat struct { // REQUIRED; Gateway connection type. ConnectionType *VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` // REQUIRED; The reference to virtual network gateway resource. VirtualNetworkGateway1 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway1,omitempty"` // The authorizationKey. AuthorizationKey *string `json:"authorizationKey,omitempty"` // The connection mode for this connection. ConnectionMode *VirtualNetworkGatewayConnectionMode `json:"connectionMode,omitempty"` // Connection protocol used for this connection. ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` // EnableBgp flag. EnableBgp *bool `json:"enableBgp,omitempty"` // Bypass ExpressRoute Gateway for data forwarding. ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` // The IPSec Policies to be considered by this connection. IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` // The reference to local network gateway resource. LocalNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"localNetworkGateway2,omitempty"` // The reference to peerings resource. Peer *SubResource `json:"peer,omitempty"` // The routing weight. RoutingWeight *int32 `json:"routingWeight,omitempty"` // The IPSec shared key. SharedKey *string `json:"sharedKey,omitempty"` // The Traffic Selector Policies to be considered by this connection. TrafficSelectorPolicies []*TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` // Enable policy-based traffic selectors. UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` // The reference to virtual network gateway resource. VirtualNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway2,omitempty"` // READ-ONLY; Virtual Network Gateway connection status. ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` // READ-ONLY; The egress bytes transferred in this connection. EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The ingress bytes transferred in this connection. IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the virtual network gateway connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the virtual network gateway connection resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; Collection of all tunnels' connection health status. TunnelConnectionStatus []*TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListEntityPropertiesFormat. func (v VirtualNetworkGatewayConnectionListEntityPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "authorizationKey", v.AuthorizationKey) populate(objectMap, "connectionMode", v.ConnectionMode) populate(objectMap, "connectionProtocol", v.ConnectionProtocol) populate(objectMap, "connectionStatus", v.ConnectionStatus) populate(objectMap, "connectionType", v.ConnectionType) populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) populate(objectMap, "enableBgp", v.EnableBgp) populate(objectMap, "expressRouteGatewayBypass", v.ExpressRouteGatewayBypass) populate(objectMap, "ipsecPolicies", v.IPSecPolicies) populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) populate(objectMap, "localNetworkGateway2", v.LocalNetworkGateway2) populate(objectMap, "peer", v.Peer) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "resourceGuid", v.ResourceGUID) populate(objectMap, "routingWeight", v.RoutingWeight) populate(objectMap, "sharedKey", v.SharedKey) populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) populate(objectMap, "tunnelConnectionStatus", v.TunnelConnectionStatus) populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) populate(objectMap, "virtualNetworkGateway1", v.VirtualNetworkGateway1) populate(objectMap, "virtualNetworkGateway2", v.VirtualNetworkGateway2) return json.Marshal(objectMap) } // VirtualNetworkGatewayConnectionListResult - Response for the ListVirtualNetworkGatewayConnections API service call. type VirtualNetworkGatewayConnectionListResult struct { // A list of VirtualNetworkGatewayConnection resources that exists in a resource group. Value []*VirtualNetworkGatewayConnection `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListResult. func (v VirtualNetworkGatewayConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualNetworkGatewayConnectionPropertiesFormat - VirtualNetworkGatewayConnection properties. type VirtualNetworkGatewayConnectionPropertiesFormat struct { // REQUIRED; Gateway connection type. ConnectionType *VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` // REQUIRED; The reference to virtual network gateway resource. VirtualNetworkGateway1 *VirtualNetworkGateway `json:"virtualNetworkGateway1,omitempty"` // The authorizationKey. AuthorizationKey *string `json:"authorizationKey,omitempty"` // The connection mode for this connection. ConnectionMode *VirtualNetworkGatewayConnectionMode `json:"connectionMode,omitempty"` // Connection protocol used for this connection. ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` // The dead peer detection timeout of this connection in seconds. DpdTimeoutSeconds *int32 `json:"dpdTimeoutSeconds,omitempty"` // List of egress NatRules. EgressNatRules []*SubResource `json:"egressNatRules,omitempty"` // EnableBgp flag. EnableBgp *bool `json:"enableBgp,omitempty"` // Bypass ExpressRoute Gateway for data forwarding. ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` // The IPSec Policies to be considered by this connection. IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` // List of ingress NatRules. IngressNatRules []*SubResource `json:"ingressNatRules,omitempty"` // The reference to local network gateway resource. LocalNetworkGateway2 *LocalNetworkGateway `json:"localNetworkGateway2,omitempty"` // The reference to peerings resource. Peer *SubResource `json:"peer,omitempty"` // The routing weight. RoutingWeight *int32 `json:"routingWeight,omitempty"` // The IPSec shared key. SharedKey *string `json:"sharedKey,omitempty"` // The Traffic Selector Policies to be considered by this connection. TrafficSelectorPolicies []*TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` // Use private local Azure IP for the connection. UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` // Enable policy-based traffic selectors. UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` // The reference to virtual network gateway resource. VirtualNetworkGateway2 *VirtualNetworkGateway `json:"virtualNetworkGateway2,omitempty"` // READ-ONLY; Virtual Network Gateway connection status. ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` // READ-ONLY; The egress bytes transferred in this connection. EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The ingress bytes transferred in this connection. IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the virtual network gateway connection resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the virtual network gateway connection resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` // READ-ONLY; Collection of all tunnels' connection health status. TunnelConnectionStatus []*TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionPropertiesFormat. func (v VirtualNetworkGatewayConnectionPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "authorizationKey", v.AuthorizationKey) populate(objectMap, "connectionMode", v.ConnectionMode) populate(objectMap, "connectionProtocol", v.ConnectionProtocol) populate(objectMap, "connectionStatus", v.ConnectionStatus) populate(objectMap, "connectionType", v.ConnectionType) populate(objectMap, "dpdTimeoutSeconds", v.DpdTimeoutSeconds) populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) populate(objectMap, "egressNatRules", v.EgressNatRules) populate(objectMap, "enableBgp", v.EnableBgp) populate(objectMap, "expressRouteGatewayBypass", v.ExpressRouteGatewayBypass) populate(objectMap, "ipsecPolicies", v.IPSecPolicies) populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) populate(objectMap, "ingressNatRules", v.IngressNatRules) populate(objectMap, "localNetworkGateway2", v.LocalNetworkGateway2) populate(objectMap, "peer", v.Peer) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "resourceGuid", v.ResourceGUID) populate(objectMap, "routingWeight", v.RoutingWeight) populate(objectMap, "sharedKey", v.SharedKey) populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) populate(objectMap, "tunnelConnectionStatus", v.TunnelConnectionStatus) populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) populate(objectMap, "virtualNetworkGateway1", v.VirtualNetworkGateway1) populate(objectMap, "virtualNetworkGateway2", v.VirtualNetworkGateway2) return json.Marshal(objectMap) } // VirtualNetworkGatewayConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginCreateOrUpdate // method. type VirtualNetworkGatewayConnectionsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsBeginDeleteOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginDelete method. type VirtualNetworkGatewayConnectionsBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsBeginGetIkeSasOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginGetIkeSas method. type VirtualNetworkGatewayConnectionsBeginGetIkeSasOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsBeginResetConnectionOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginResetConnection // method. type VirtualNetworkGatewayConnectionsBeginResetConnectionOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsBeginResetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginResetSharedKey // method. type VirtualNetworkGatewayConnectionsBeginResetSharedKeyOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsBeginSetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginSetSharedKey // method. type VirtualNetworkGatewayConnectionsBeginSetSharedKeyOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsBeginStartPacketCaptureOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginStartPacketCapture // method. type VirtualNetworkGatewayConnectionsBeginStartPacketCaptureOptions struct { // Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection. Parameters *VPNPacketCaptureStartParameters } // VirtualNetworkGatewayConnectionsBeginStopPacketCaptureOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginStopPacketCapture // method. type VirtualNetworkGatewayConnectionsBeginStopPacketCaptureOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsBeginUpdateTagsOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginUpdateTags method. type VirtualNetworkGatewayConnectionsBeginUpdateTagsOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsGetOptions contains the optional parameters for the VirtualNetworkGatewayConnections.Get method. type VirtualNetworkGatewayConnectionsGetOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsGetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.GetSharedKey method. type VirtualNetworkGatewayConnectionsGetSharedKeyOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayConnectionsListOptions contains the optional parameters for the VirtualNetworkGatewayConnections.List method. type VirtualNetworkGatewayConnectionsListOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayIPConfiguration - IP configuration for virtual network gateway. type VirtualNetworkGatewayIPConfiguration struct { SubResource // The 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"` // Properties of the virtual network gateway ip configuration. Properties *VirtualNetworkGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayIPConfiguration. func (v VirtualNetworkGatewayIPConfiguration) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualNetworkGatewayIPConfigurationPropertiesFormat - Properties of VirtualNetworkGatewayIPConfiguration. type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct { // The private IP address allocation method. PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // The reference to the public IP resource. PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` // The reference to the subnet resource. Subnet *SubResource `json:"subnet,omitempty"` // READ-ONLY; Private IP Address for this gateway. PrivateIPAddress *string `json:"privateIPAddress,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the virtual network gateway IP configuration resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // VirtualNetworkGatewayListConnectionsResult - Response for the VirtualNetworkGatewayListConnections API service call. type VirtualNetworkGatewayListConnectionsResult struct { // A list of VirtualNetworkGatewayConnection resources that exists in a resource group. Value []*VirtualNetworkGatewayConnectionListEntity `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayListConnectionsResult. func (v VirtualNetworkGatewayListConnectionsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualNetworkGatewayListResult - Response for the ListVirtualNetworkGateways API service call. type VirtualNetworkGatewayListResult struct { // A list of VirtualNetworkGateway resources that exists in a resource group. Value []*VirtualNetworkGateway `json:"value,omitempty"` // READ-ONLY; The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayListResult. func (v VirtualNetworkGatewayListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualNetworkGatewayNatRule Resource. type VirtualNetworkGatewayNatRule struct { SubResource // The 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"` // Properties of the Virtual Network Gateway NAT rule. Properties *VirtualNetworkGatewayNatRuleProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Resource type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayNatRule. func (v VirtualNetworkGatewayNatRule) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VirtualNetworkGatewayNatRuleProperties - Parameters for VirtualNetworkGatewayNatRule. type VirtualNetworkGatewayNatRuleProperties struct { // The private IP address external mapping for NAT. ExternalMappings []*VPNNatRuleMapping `json:"externalMappings,omitempty"` // The IP Configuration ID this NAT rule applies to. IPConfigurationID *string `json:"ipConfigurationId,omitempty"` // The private IP address internal mapping for NAT. InternalMappings []*VPNNatRuleMapping `json:"internalMappings,omitempty"` // The Source NAT direction of a VPN NAT. Mode *VPNNatRuleMode `json:"mode,omitempty"` // The type of NAT rule for VPN NAT. Type *VPNNatRuleType `json:"type,omitempty"` // READ-ONLY; The provisioning state of the NAT Rule resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayNatRuleProperties. func (v VirtualNetworkGatewayNatRuleProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "externalMappings", v.ExternalMappings) populate(objectMap, "ipConfigurationId", v.IPConfigurationID) populate(objectMap, "internalMappings", v.InternalMappings) populate(objectMap, "mode", v.Mode) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VirtualNetworkGatewayNatRulesBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.BeginCreateOrUpdate method. type VirtualNetworkGatewayNatRulesBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayNatRulesBeginDeleteOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.BeginDelete method. type VirtualNetworkGatewayNatRulesBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayNatRulesGetOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.Get method. type VirtualNetworkGatewayNatRulesGetOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayNatRulesListByVirtualNetworkGatewayOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.ListByVirtualNetworkGateway // method. type VirtualNetworkGatewayNatRulesListByVirtualNetworkGatewayOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewayPropertiesFormat - VirtualNetworkGateway properties. type VirtualNetworkGatewayPropertiesFormat struct { // ActiveActive flag. Active *bool `json:"activeActive,omitempty"` // Virtual network gateway's BGP speaker settings. BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` // The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and // VpnClient. CustomRoutes *AddressSpace `json:"customRoutes,omitempty"` // Whether BGP is enabled for this virtual network gateway or not. EnableBgp *bool `json:"enableBgp,omitempty"` // EnableBgpRouteTranslationForNat flag. EnableBgpRouteTranslationForNat *bool `json:"enableBgpRouteTranslationForNat,omitempty"` // Whether dns forwarding is enabled or not. EnableDNSForwarding *bool `json:"enableDnsForwarding,omitempty"` // Whether private IP needs to be enabled on this gateway for connections or not. EnablePrivateIPAddress *bool `json:"enablePrivateIpAddress,omitempty"` // The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing // default site setting. GatewayDefaultSite *SubResource `json:"gatewayDefaultSite,omitempty"` // The type of this virtual network gateway. GatewayType *VirtualNetworkGatewayType `json:"gatewayType,omitempty"` // IP configurations for virtual network gateway. IPConfigurations []*VirtualNetworkGatewayIPConfiguration `json:"ipConfigurations,omitempty"` // NatRules for virtual network gateway. NatRules []*VirtualNetworkGatewayNatRule `json:"natRules,omitempty"` // The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway. SKU *VirtualNetworkGatewaySKU `json:"sku,omitempty"` // Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet. VNetExtendedLocationResourceID *string `json:"vNetExtendedLocationResourceId,omitempty"` // The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations. VPNClientConfiguration *VPNClientConfiguration `json:"vpnClientConfiguration,omitempty"` // The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN. VPNGatewayGeneration *VPNGatewayGeneration `json:"vpnGatewayGeneration,omitempty"` // The type of this virtual network gateway. VPNType *VPNType `json:"vpnType,omitempty"` // READ-ONLY; The IP address allocated by the gateway to which dns requests can be sent. InboundDNSForwardingEndpoint *string `json:"inboundDnsForwardingEndpoint,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the virtual network gateway resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the virtual network gateway resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayPropertiesFormat. func (v VirtualNetworkGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "activeActive", v.Active) populate(objectMap, "bgpSettings", v.BgpSettings) populate(objectMap, "customRoutes", v.CustomRoutes) populate(objectMap, "enableBgp", v.EnableBgp) populate(objectMap, "enableBgpRouteTranslationForNat", v.EnableBgpRouteTranslationForNat) populate(objectMap, "enableDnsForwarding", v.EnableDNSForwarding) populate(objectMap, "enablePrivateIpAddress", v.EnablePrivateIPAddress) populate(objectMap, "gatewayDefaultSite", v.GatewayDefaultSite) populate(objectMap, "gatewayType", v.GatewayType) populate(objectMap, "ipConfigurations", v.IPConfigurations) populate(objectMap, "inboundDnsForwardingEndpoint", v.InboundDNSForwardingEndpoint) populate(objectMap, "natRules", v.NatRules) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "resourceGuid", v.ResourceGUID) populate(objectMap, "sku", v.SKU) populate(objectMap, "vNetExtendedLocationResourceId", v.VNetExtendedLocationResourceID) populate(objectMap, "vpnClientConfiguration", v.VPNClientConfiguration) populate(objectMap, "vpnGatewayGeneration", v.VPNGatewayGeneration) populate(objectMap, "vpnType", v.VPNType) return json.Marshal(objectMap) } // VirtualNetworkGatewaySKU - VirtualNetworkGatewaySku details. type VirtualNetworkGatewaySKU struct { // Gateway SKU name. Name *VirtualNetworkGatewaySKUName `json:"name,omitempty"` // Gateway SKU tier. Tier *VirtualNetworkGatewaySKUTier `json:"tier,omitempty"` // READ-ONLY; The capacity. Capacity *int32 `json:"capacity,omitempty" azure:"ro"` } // VirtualNetworkGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGateways.BeginCreateOrUpdate method. type VirtualNetworkGatewaysBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginDeleteOptions contains the optional parameters for the VirtualNetworkGateways.BeginDelete method. type VirtualNetworkGatewaysBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginDisconnectVirtualNetworkGatewayVPNConnectionsOptions contains the optional parameters for the VirtualNetworkGateways.BeginDisconnectVirtualNetworkGatewayVPNConnections // method. type VirtualNetworkGatewaysBeginDisconnectVirtualNetworkGatewayVPNConnectionsOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginGenerateVPNProfileOptions contains the optional parameters for the VirtualNetworkGateways.BeginGenerateVPNProfile method. type VirtualNetworkGatewaysBeginGenerateVPNProfileOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginGeneratevpnclientpackageOptions contains the optional parameters for the VirtualNetworkGateways.BeginGeneratevpnclientpackage // method. type VirtualNetworkGatewaysBeginGeneratevpnclientpackageOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginGetAdvertisedRoutesOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetAdvertisedRoutes method. type VirtualNetworkGatewaysBeginGetAdvertisedRoutesOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginGetBgpPeerStatusOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetBgpPeerStatus method. type VirtualNetworkGatewaysBeginGetBgpPeerStatusOptions struct { // The IP address of the peer to retrieve the status of. Peer *string } // VirtualNetworkGatewaysBeginGetLearnedRoutesOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetLearnedRoutes method. type VirtualNetworkGatewaysBeginGetLearnedRoutesOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginGetVPNProfilePackageURLOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVPNProfilePackageURL // method. type VirtualNetworkGatewaysBeginGetVPNProfilePackageURLOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginGetVpnclientConnectionHealthOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVpnclientConnectionHealth // method. type VirtualNetworkGatewaysBeginGetVpnclientConnectionHealthOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginGetVpnclientIPSecParametersOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVpnclientIPSecParameters // method. type VirtualNetworkGatewaysBeginGetVpnclientIPSecParametersOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginResetOptions contains the optional parameters for the VirtualNetworkGateways.BeginReset method. type VirtualNetworkGatewaysBeginResetOptions struct { // Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. GatewayVip *string } // VirtualNetworkGatewaysBeginResetVPNClientSharedKeyOptions contains the optional parameters for the VirtualNetworkGateways.BeginResetVPNClientSharedKey // method. type VirtualNetworkGatewaysBeginResetVPNClientSharedKeyOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginSetVpnclientIPSecParametersOptions contains the optional parameters for the VirtualNetworkGateways.BeginSetVpnclientIPSecParameters // method. type VirtualNetworkGatewaysBeginSetVpnclientIPSecParametersOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginStartPacketCaptureOptions contains the optional parameters for the VirtualNetworkGateways.BeginStartPacketCapture method. type VirtualNetworkGatewaysBeginStartPacketCaptureOptions struct { // Virtual network gateway packet capture parameters supplied to start packet capture on gateway. Parameters *VPNPacketCaptureStartParameters } // VirtualNetworkGatewaysBeginStopPacketCaptureOptions contains the optional parameters for the VirtualNetworkGateways.BeginStopPacketCapture method. type VirtualNetworkGatewaysBeginStopPacketCaptureOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysBeginUpdateTagsOptions contains the optional parameters for the VirtualNetworkGateways.BeginUpdateTags method. type VirtualNetworkGatewaysBeginUpdateTagsOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysGetOptions contains the optional parameters for the VirtualNetworkGateways.Get method. type VirtualNetworkGatewaysGetOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysListConnectionsOptions contains the optional parameters for the VirtualNetworkGateways.ListConnections method. type VirtualNetworkGatewaysListConnectionsOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysListOptions contains the optional parameters for the VirtualNetworkGateways.List method. type VirtualNetworkGatewaysListOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysSupportedVPNDevicesOptions contains the optional parameters for the VirtualNetworkGateways.SupportedVPNDevices method. type VirtualNetworkGatewaysSupportedVPNDevicesOptions struct { // placeholder for future optional parameters } // VirtualNetworkGatewaysVPNDeviceConfigurationScriptOptions contains the optional parameters for the VirtualNetworkGateways.VPNDeviceConfigurationScript // method. type VirtualNetworkGatewaysVPNDeviceConfigurationScriptOptions struct { // placeholder for future optional parameters } // VirtualNetworkListResult - Response for the ListVirtualNetworks API service call. type VirtualNetworkListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of VirtualNetwork resources in a resource group. Value []*VirtualNetwork `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkListResult. func (v VirtualNetworkListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualNetworkListUsageResult - Response for the virtual networks GetUsage API service call. type VirtualNetworkListUsageResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // READ-ONLY; VirtualNetwork usage stats. Value []*VirtualNetworkUsage `json:"value,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkListUsageResult. func (v VirtualNetworkListUsageResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualNetworkPeering - Peerings in a virtual network resource. type VirtualNetworkPeering struct { SubResource // The 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"` // Properties of the virtual network peering. Properties *VirtualNetworkPeeringPropertiesFormat `json:"properties,omitempty"` // Resource type. Type *string `json:"type,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPeering. func (v VirtualNetworkPeering) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VirtualNetworkPeeringListResult - Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. type VirtualNetworkPeeringListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // The peerings in a virtual network. Value []*VirtualNetworkPeering `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPeeringListResult. func (v VirtualNetworkPeeringListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualNetworkPeeringPropertiesFormat - Properties of the virtual network peering. type VirtualNetworkPeeringPropertiesFormat struct { // Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. AllowForwardedTraffic *bool `json:"allowForwardedTraffic,omitempty"` // If gateway links can be used in remote virtual networking to link to this virtual network. AllowGatewayTransit *bool `json:"allowGatewayTransit,omitempty"` // Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. AllowVirtualNetworkAccess *bool `json:"allowVirtualNetworkAccess,omitempty"` // If we need to verify the provisioning state of the remote gateway. DoNotVerifyRemoteGateways *bool `json:"doNotVerifyRemoteGateways,omitempty"` // The status of the virtual network peering. PeeringState *VirtualNetworkPeeringState `json:"peeringState,omitempty"` // The peering sync status of the virtual network peering. PeeringSyncLevel *VirtualNetworkPeeringLevel `json:"peeringSyncLevel,omitempty"` // The reference to the address space peered with the remote virtual network. RemoteAddressSpace *AddressSpace `json:"remoteAddressSpace,omitempty"` // The reference to the remote virtual network's Bgp Communities. RemoteBgpCommunities *VirtualNetworkBgpCommunities `json:"remoteBgpCommunities,omitempty"` // The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the // preview and learn more // (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` // The reference to the current address space of the remote virtual network. RemoteVirtualNetworkAddressSpace *AddressSpace `json:"remoteVirtualNetworkAddressSpace,omitempty"` // If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network // will use gateways of remote virtual network // for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. UseRemoteGateways *bool `json:"useRemoteGateways,omitempty"` // READ-ONLY; The provisioning state of the virtual network peering resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resourceGuid property of the Virtual Network peering resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // VirtualNetworkPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkPeerings.BeginCreateOrUpdate method. type VirtualNetworkPeeringsBeginCreateOrUpdateOptions struct { // Parameter indicates the intention to sync the peering with the current address space on the remote vNet after it's updated. SyncRemoteAddressSpace *SyncRemoteAddressSpace } // VirtualNetworkPeeringsBeginDeleteOptions contains the optional parameters for the VirtualNetworkPeerings.BeginDelete method. type VirtualNetworkPeeringsBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualNetworkPeeringsGetOptions contains the optional parameters for the VirtualNetworkPeerings.Get method. type VirtualNetworkPeeringsGetOptions struct { // placeholder for future optional parameters } // VirtualNetworkPeeringsListOptions contains the optional parameters for the VirtualNetworkPeerings.List method. type VirtualNetworkPeeringsListOptions struct { // placeholder for future optional parameters } // VirtualNetworkPropertiesFormat - Properties of the virtual network. type VirtualNetworkPropertiesFormat struct { // The AddressSpace that contains an array of IP address ranges that can be used by subnets. AddressSpace *AddressSpace `json:"addressSpace,omitempty"` // Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. BgpCommunities *VirtualNetworkBgpCommunities `json:"bgpCommunities,omitempty"` // The DDoS protection plan associated with the virtual network. DdosProtectionPlan *SubResource `json:"ddosProtectionPlan,omitempty"` // The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. DhcpOptions *DhcpOptions `json:"dhcpOptions,omitempty"` // Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the // resource. EnableDdosProtection *bool `json:"enableDdosProtection,omitempty"` // Indicates if VM protection is enabled for all the subnets in the virtual network. EnableVMProtection *bool `json:"enableVmProtection,omitempty"` // The FlowTimeout value (in minutes) for the Virtual Network FlowTimeoutInMinutes *int32 `json:"flowTimeoutInMinutes,omitempty"` // Array of IpAllocation which reference this VNET. IPAllocations []*SubResource `json:"ipAllocations,omitempty"` // A list of subnets in a Virtual Network. Subnets []*Subnet `json:"subnets,omitempty"` // A list of peerings in a Virtual Network. VirtualNetworkPeerings []*VirtualNetworkPeering `json:"virtualNetworkPeerings,omitempty"` // READ-ONLY; The provisioning state of the virtual network resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resourceGuid property of the Virtual Network resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPropertiesFormat. func (v VirtualNetworkPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "addressSpace", v.AddressSpace) populate(objectMap, "bgpCommunities", v.BgpCommunities) populate(objectMap, "ddosProtectionPlan", v.DdosProtectionPlan) populate(objectMap, "dhcpOptions", v.DhcpOptions) populate(objectMap, "enableDdosProtection", v.EnableDdosProtection) populate(objectMap, "enableVmProtection", v.EnableVMProtection) populate(objectMap, "flowTimeoutInMinutes", v.FlowTimeoutInMinutes) populate(objectMap, "ipAllocations", v.IPAllocations) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "resourceGuid", v.ResourceGUID) populate(objectMap, "subnets", v.Subnets) populate(objectMap, "virtualNetworkPeerings", v.VirtualNetworkPeerings) return json.Marshal(objectMap) } // VirtualNetworkTap - Virtual Network Tap resource. type VirtualNetworkTap struct { Resource // Virtual Network Tap Properties. Properties *VirtualNetworkTapPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTap. func (v VirtualNetworkTap) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualNetworkTapListResult - Response for ListVirtualNetworkTap API service call. type VirtualNetworkTapListResult struct { // The URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // A list of VirtualNetworkTaps in a resource group. Value []*VirtualNetworkTap `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTapListResult. func (v VirtualNetworkTapListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualNetworkTapPropertiesFormat - Virtual Network Tap properties. type VirtualNetworkTapPropertiesFormat struct { // The reference to the private IP address on the internal Load Balancer that will receive the tap. DestinationLoadBalancerFrontEndIPConfiguration *FrontendIPConfiguration `json:"destinationLoadBalancerFrontEndIPConfiguration,omitempty"` // The reference to the private IP Address of the collector nic that will receive the tap. DestinationNetworkInterfaceIPConfiguration *NetworkInterfaceIPConfiguration `json:"destinationNetworkInterfaceIPConfiguration,omitempty"` // The VXLAN destination port that will receive the tapped traffic. DestinationPort *int32 `json:"destinationPort,omitempty"` // READ-ONLY; Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped. NetworkInterfaceTapConfigurations []*NetworkInterfaceTapConfiguration `json:"networkInterfaceTapConfigurations,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the virtual network tap resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; The resource GUID property of the virtual network tap resource. ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTapPropertiesFormat. func (v VirtualNetworkTapPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "destinationLoadBalancerFrontEndIPConfiguration", v.DestinationLoadBalancerFrontEndIPConfiguration) populate(objectMap, "destinationNetworkInterfaceIPConfiguration", v.DestinationNetworkInterfaceIPConfiguration) populate(objectMap, "destinationPort", v.DestinationPort) populate(objectMap, "networkInterfaceTapConfigurations", v.NetworkInterfaceTapConfigurations) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "resourceGuid", v.ResourceGUID) return json.Marshal(objectMap) } // VirtualNetworkTapsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkTaps.BeginCreateOrUpdate method. type VirtualNetworkTapsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualNetworkTapsBeginDeleteOptions contains the optional parameters for the VirtualNetworkTaps.BeginDelete method. type VirtualNetworkTapsBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualNetworkTapsGetOptions contains the optional parameters for the VirtualNetworkTaps.Get method. type VirtualNetworkTapsGetOptions struct { // placeholder for future optional parameters } // VirtualNetworkTapsListAllOptions contains the optional parameters for the VirtualNetworkTaps.ListAll method. type VirtualNetworkTapsListAllOptions struct { // placeholder for future optional parameters } // VirtualNetworkTapsListByResourceGroupOptions contains the optional parameters for the VirtualNetworkTaps.ListByResourceGroup method. type VirtualNetworkTapsListByResourceGroupOptions struct { // placeholder for future optional parameters } // VirtualNetworkTapsUpdateTagsOptions contains the optional parameters for the VirtualNetworkTaps.UpdateTags method. type VirtualNetworkTapsUpdateTagsOptions struct { // placeholder for future optional parameters } // VirtualNetworkUsage - Usage details for subnet. type VirtualNetworkUsage struct { // READ-ONLY; Indicates number of IPs used from the Subnet. CurrentValue *float64 `json:"currentValue,omitempty" azure:"ro"` // READ-ONLY; Subnet identifier. ID *string `json:"id,omitempty" azure:"ro"` // READ-ONLY; Indicates the size of the subnet. Limit *float64 `json:"limit,omitempty" azure:"ro"` // READ-ONLY; The name containing common and localized value for usage. Name *VirtualNetworkUsageName `json:"name,omitempty" azure:"ro"` // READ-ONLY; Usage units. Returns 'Count'. Unit *string `json:"unit,omitempty" azure:"ro"` } // VirtualNetworkUsageName - Usage strings container. type VirtualNetworkUsageName struct { // READ-ONLY; Localized subnet size and usage string. LocalizedValue *string `json:"localizedValue,omitempty" azure:"ro"` // READ-ONLY; Subnet size and usage string. Value *string `json:"value,omitempty" azure:"ro"` } // VirtualNetworksBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworks.BeginCreateOrUpdate method. type VirtualNetworksBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualNetworksBeginDeleteOptions contains the optional parameters for the VirtualNetworks.BeginDelete method. type VirtualNetworksBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualNetworksCheckIPAddressAvailabilityOptions contains the optional parameters for the VirtualNetworks.CheckIPAddressAvailability method. type VirtualNetworksCheckIPAddressAvailabilityOptions struct { // placeholder for future optional parameters } // VirtualNetworksGetOptions contains the optional parameters for the VirtualNetworks.Get method. type VirtualNetworksGetOptions struct { // Expands referenced resources. Expand *string } // VirtualNetworksListAllOptions contains the optional parameters for the VirtualNetworks.ListAll method. type VirtualNetworksListAllOptions struct { // placeholder for future optional parameters } // VirtualNetworksListOptions contains the optional parameters for the VirtualNetworks.List method. type VirtualNetworksListOptions struct { // placeholder for future optional parameters } // VirtualNetworksListUsageOptions contains the optional parameters for the VirtualNetworks.ListUsage method. type VirtualNetworksListUsageOptions struct { // placeholder for future optional parameters } // VirtualNetworksUpdateTagsOptions contains the optional parameters for the VirtualNetworks.UpdateTags method. type VirtualNetworksUpdateTagsOptions struct { // placeholder for future optional parameters } // VirtualRouter Resource. type VirtualRouter struct { Resource // Properties of the Virtual Router. Properties *VirtualRouterPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualRouter. func (v VirtualRouter) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualRouterListResult - Response for ListVirtualRouters API service call. type VirtualRouterListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of Virtual Routers. Value []*VirtualRouter `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualRouterListResult. func (v VirtualRouterListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualRouterPeering - Virtual Router Peering resource. type VirtualRouterPeering struct { SubResource // Name of the virtual router peering that is unique within a virtual router. Name *string `json:"name,omitempty"` // The properties of the Virtual Router Peering. Properties *VirtualRouterPeeringProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` // READ-ONLY; Peering type. Type *string `json:"type,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualRouterPeering. func (v VirtualRouterPeering) MarshalJSON() ([]byte, error) { objectMap := v.SubResource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "name", v.Name) populate(objectMap, "properties", v.Properties) populate(objectMap, "type", v.Type) return json.Marshal(objectMap) } // VirtualRouterPeeringListResult - Response for ListVirtualRouterPeerings API service call. type VirtualRouterPeeringListResult struct { // URL to get the next set of results. NextLink *string `json:"nextLink,omitempty"` // List of VirtualRouterPeerings in a VirtualRouter. Value []*VirtualRouterPeering `json:"value,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualRouterPeeringListResult. func (v VirtualRouterPeeringListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", v.NextLink) populate(objectMap, "value", v.Value) return json.Marshal(objectMap) } // VirtualRouterPeeringProperties - Properties of the rule group. type VirtualRouterPeeringProperties struct { // Peer ASN. PeerAsn *int64 `json:"peerAsn,omitempty"` // Peer IP. PeerIP *string `json:"peerIp,omitempty"` // READ-ONLY; The provisioning state of the resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // VirtualRouterPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualRouterPeerings.BeginCreateOrUpdate method. type VirtualRouterPeeringsBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualRouterPeeringsBeginDeleteOptions contains the optional parameters for the VirtualRouterPeerings.BeginDelete method. type VirtualRouterPeeringsBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualRouterPeeringsGetOptions contains the optional parameters for the VirtualRouterPeerings.Get method. type VirtualRouterPeeringsGetOptions struct { // placeholder for future optional parameters } // VirtualRouterPeeringsListOptions contains the optional parameters for the VirtualRouterPeerings.List method. type VirtualRouterPeeringsListOptions struct { // placeholder for future optional parameters } // VirtualRouterPropertiesFormat - Virtual Router definition. type VirtualRouterPropertiesFormat struct { // The Gateway on which VirtualRouter is hosted. HostedGateway *SubResource `json:"hostedGateway,omitempty"` // The Subnet on which VirtualRouter is hosted. HostedSubnet *SubResource `json:"hostedSubnet,omitempty"` // VirtualRouter ASN. VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` // VirtualRouter IPs. VirtualRouterIPs []*string `json:"virtualRouterIps,omitempty"` // READ-ONLY; List of references to VirtualRouterPeerings. Peerings []*SubResource `json:"peerings,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualRouterPropertiesFormat. func (v VirtualRouterPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "hostedGateway", v.HostedGateway) populate(objectMap, "hostedSubnet", v.HostedSubnet) populate(objectMap, "peerings", v.Peerings) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "virtualRouterAsn", v.VirtualRouterAsn) populate(objectMap, "virtualRouterIps", v.VirtualRouterIPs) return json.Marshal(objectMap) } // VirtualRoutersBeginCreateOrUpdateOptions contains the optional parameters for the VirtualRouters.BeginCreateOrUpdate method. type VirtualRoutersBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualRoutersBeginDeleteOptions contains the optional parameters for the VirtualRouters.BeginDelete method. type VirtualRoutersBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualRoutersGetOptions contains the optional parameters for the VirtualRouters.Get method. type VirtualRoutersGetOptions struct { // Expands referenced resources. Expand *string } // VirtualRoutersListByResourceGroupOptions contains the optional parameters for the VirtualRouters.ListByResourceGroup method. type VirtualRoutersListByResourceGroupOptions struct { // placeholder for future optional parameters } // VirtualRoutersListOptions contains the optional parameters for the VirtualRouters.List method. type VirtualRoutersListOptions struct { // placeholder for future optional parameters } // VirtualWAN Resource. type VirtualWAN struct { Resource // Properties of the virtual WAN. Properties *VirtualWanProperties `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualWAN. func (v VirtualWAN) MarshalJSON() ([]byte, error) { objectMap := v.Resource.marshalInternal() populate(objectMap, "etag", v.Etag) populate(objectMap, "properties", v.Properties) return json.Marshal(objectMap) } // VirtualWanProperties - Parameters for VirtualWAN. type VirtualWanProperties struct { // True if branch to branch traffic is allowed. AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` // True if Vnet to Vnet traffic is allowed. AllowVnetToVnetTraffic *bool `json:"allowVnetToVnetTraffic,omitempty"` // Vpn encryption to be disabled or not. DisableVPNEncryption *bool `json:"disableVpnEncryption,omitempty"` // The type of the VirtualWAN. Type *string `json:"type,omitempty"` // READ-ONLY; The office local breakout category. Office365LocalBreakoutCategory *OfficeTrafficCategory `json:"office365LocalBreakoutCategory,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the virtual WAN resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; List of VpnSites in the VirtualWAN. VPNSites []*SubResource `json:"vpnSites,omitempty" azure:"ro"` // READ-ONLY; List of VirtualHubs in the VirtualWAN. VirtualHubs []*SubResource `json:"virtualHubs,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type VirtualWanProperties. func (v VirtualWanProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "allowBranchToBranchTraffic", v.AllowBranchToBranchTraffic) populate(objectMap, "allowVnetToVnetTraffic", v.AllowVnetToVnetTraffic) populate(objectMap, "disableVpnEncryption", v.DisableVPNEncryption) populate(objectMap, "office365LocalBreakoutCategory", v.Office365LocalBreakoutCategory) populate(objectMap, "provisioningState", v.ProvisioningState) populate(objectMap, "type", v.Type) populate(objectMap, "vpnSites", v.VPNSites) populate(objectMap, "virtualHubs", v.VirtualHubs) return json.Marshal(objectMap) } // VirtualWanSecurityProvider - Collection of SecurityProviders. type VirtualWanSecurityProvider struct { // Name of the security provider. Name *string `json:"name,omitempty"` // Url of the security provider. URL *string `json:"url,omitempty"` // READ-ONLY; Name of the security provider. Type *VirtualWanSecurityProviderType `json:"type,omitempty" azure:"ro"` } // VirtualWanSecurityProviders - Collection of SecurityProviders. type VirtualWanSecurityProviders struct { // List of VirtualWAN security providers. SupportedProviders []*VirtualWanSecurityProvider `json:"supportedProviders,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VirtualWanSecurityProviders. func (v VirtualWanSecurityProviders) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "supportedProviders", v.SupportedProviders) return json.Marshal(objectMap) } // VirtualWanVPNProfileParameters - Virtual Wan Vpn profile parameters Vpn profile generation. type VirtualWanVPNProfileParameters struct { // VPN client authentication method. AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` // VpnServerConfiguration partial resource uri with which VirtualWan is associated to. VPNServerConfigurationResourceID *string `json:"vpnServerConfigurationResourceId,omitempty"` } // VirtualWansBeginCreateOrUpdateOptions contains the optional parameters for the VirtualWans.BeginCreateOrUpdate method. type VirtualWansBeginCreateOrUpdateOptions struct { // placeholder for future optional parameters } // VirtualWansBeginDeleteOptions contains the optional parameters for the VirtualWans.BeginDelete method. type VirtualWansBeginDeleteOptions struct { // placeholder for future optional parameters } // VirtualWansGetOptions contains the optional parameters for the VirtualWans.Get method. type VirtualWansGetOptions struct { // placeholder for future optional parameters } // VirtualWansListByResourceGroupOptions contains the optional parameters for the VirtualWans.ListByResourceGroup method. type VirtualWansListByResourceGroupOptions struct { // placeholder for future optional parameters } // VirtualWansListOptions contains the optional parameters for the VirtualWans.List method. type VirtualWansListOptions struct { // placeholder for future optional parameters } // VirtualWansUpdateTagsOptions contains the optional parameters for the VirtualWans.UpdateTags method. type VirtualWansUpdateTagsOptions struct { // placeholder for future optional parameters } // VnetRoute - List of routes that control routing from VirtualHub into a virtual network connection. type VnetRoute struct { // List of all Static Routes. StaticRoutes []*StaticRoute `json:"staticRoutes,omitempty"` } // MarshalJSON implements the json.Marshaller interface for type VnetRoute. func (v VnetRoute) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "staticRoutes", v.StaticRoutes) return json.Marshal(objectMap) } // WebApplicationFirewallCustomRule - Defines contents of a web application rule. type WebApplicationFirewallCustomRule struct { // REQUIRED; Type of Actions. Action *WebApplicationFirewallAction `json:"action,omitempty"` // REQUIRED; List of match conditions. MatchConditions []*MatchCondition `json:"matchConditions,omitempty"` // REQUIRED; Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. Priority *int32 `json:"priority,omitempty"` // REQUIRED; The rule type. RuleType *WebApplicationFirewallRuleType `json:"ruleType,omitempty"` // The name of the resource that is unique within a policy. This name can be used to access the resource. Name *string `json:"name,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallCustomRule. func (w WebApplicationFirewallCustomRule) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "action", w.Action) populate(objectMap, "etag", w.Etag) populate(objectMap, "matchConditions", w.MatchConditions) populate(objectMap, "name", w.Name) populate(objectMap, "priority", w.Priority) populate(objectMap, "ruleType", w.RuleType) return json.Marshal(objectMap) } // WebApplicationFirewallPoliciesBeginDeleteOptions contains the optional parameters for the WebApplicationFirewallPolicies.BeginDelete method. type WebApplicationFirewallPoliciesBeginDeleteOptions struct { // placeholder for future optional parameters } // WebApplicationFirewallPoliciesCreateOrUpdateOptions contains the optional parameters for the WebApplicationFirewallPolicies.CreateOrUpdate method. type WebApplicationFirewallPoliciesCreateOrUpdateOptions struct { // placeholder for future optional parameters } // WebApplicationFirewallPoliciesGetOptions contains the optional parameters for the WebApplicationFirewallPolicies.Get method. type WebApplicationFirewallPoliciesGetOptions struct { // placeholder for future optional parameters } // WebApplicationFirewallPoliciesListAllOptions contains the optional parameters for the WebApplicationFirewallPolicies.ListAll method. type WebApplicationFirewallPoliciesListAllOptions struct { // placeholder for future optional parameters } // WebApplicationFirewallPoliciesListOptions contains the optional parameters for the WebApplicationFirewallPolicies.List method. type WebApplicationFirewallPoliciesListOptions struct { // placeholder for future optional parameters } // WebApplicationFirewallPolicy - Defines web application firewall policy. type WebApplicationFirewallPolicy struct { Resource // Properties of the web application firewall policy. Properties *WebApplicationFirewallPolicyPropertiesFormat `json:"properties,omitempty"` // READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicy. func (w WebApplicationFirewallPolicy) MarshalJSON() ([]byte, error) { objectMap := w.Resource.marshalInternal() populate(objectMap, "etag", w.Etag) populate(objectMap, "properties", w.Properties) return json.Marshal(objectMap) } // WebApplicationFirewallPolicyListResult - Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy // objects and a URL link to get the next set of results. type WebApplicationFirewallPolicyListResult struct { // READ-ONLY; URL to get the next set of WebApplicationFirewallPolicy objects if there are any. NextLink *string `json:"nextLink,omitempty" azure:"ro"` // READ-ONLY; List of WebApplicationFirewallPolicies within a resource group. Value []*WebApplicationFirewallPolicy `json:"value,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicyListResult. func (w WebApplicationFirewallPolicyListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "nextLink", w.NextLink) populate(objectMap, "value", w.Value) return json.Marshal(objectMap) } // WebApplicationFirewallPolicyPropertiesFormat - Defines web application firewall policy properties. type WebApplicationFirewallPolicyPropertiesFormat struct { // REQUIRED; Describes the managedRules structure. ManagedRules *ManagedRulesDefinition `json:"managedRules,omitempty"` // The custom rules inside the policy. CustomRules []*WebApplicationFirewallCustomRule `json:"customRules,omitempty"` // The PolicySettings for policy. PolicySettings *PolicySettings `json:"policySettings,omitempty"` // READ-ONLY; A collection of references to application gateways. ApplicationGateways []*ApplicationGateway `json:"applicationGateways,omitempty" azure:"ro"` // READ-ONLY; A collection of references to application gateway http listeners. HTTPListeners []*SubResource `json:"httpListeners,omitempty" azure:"ro"` // READ-ONLY; A collection of references to application gateway path rules. PathBasedRules []*SubResource `json:"pathBasedRules,omitempty" azure:"ro"` // READ-ONLY; The provisioning state of the web application firewall policy resource. ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` // READ-ONLY; Resource status of the policy. ResourceState *WebApplicationFirewallPolicyResourceState `json:"resourceState,omitempty" azure:"ro"` } // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicyPropertiesFormat. func (w WebApplicationFirewallPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) populate(objectMap, "applicationGateways", w.ApplicationGateways) populate(objectMap, "customRules", w.CustomRules) populate(objectMap, "httpListeners", w.HTTPListeners) populate(objectMap, "managedRules", w.ManagedRules) populate(objectMap, "pathBasedRules", w.PathBasedRules) populate(objectMap, "policySettings", w.PolicySettings) populate(objectMap, "provisioningState", w.ProvisioningState) populate(objectMap, "resourceState", w.ResourceState) return json.Marshal(objectMap) } // WebCategoriesGetOptions contains the optional parameters for the WebCategories.Get method. type WebCategoriesGetOptions struct { // Expands resourceIds back referenced by the azureWebCategory resource. Expand *string } // WebCategoriesListBySubscriptionOptions contains the optional parameters for the WebCategories.ListBySubscription method. type WebCategoriesListBySubscriptionOptions struct { // placeholder for future optional parameters } func populate(m map[string]interface{}, k string, v interface{}) { if v == nil { return } else if azcore.IsNullValue(v) { m[k] = nil } else if !reflect.ValueOf(v).IsNil() { m[k] = v } } func unpopulate(data json.RawMessage, v interface{}) error { if data == nil { return nil } return json.Unmarshal(data, v) }