1// +build go1.13 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. See License.txt in the project root for license information. 5// Code generated by Microsoft (R) AutoRest Code Generator. 6// Changes may cause incorrect behavior and will be lost if the code is regenerated. 7 8package armnetwork 9 10import ( 11 "encoding/json" 12 "github.com/Azure/azure-sdk-for-go/sdk/azcore" 13 "reflect" 14 "time" 15) 16 17// AADAuthenticationParameters - AAD Vpn authentication type related parameters. 18type AADAuthenticationParameters struct { 19 // AAD Vpn authentication parameter AAD audience. 20 AADAudience *string `json:"aadAudience,omitempty"` 21 22 // AAD Vpn authentication parameter AAD issuer. 23 AADIssuer *string `json:"aadIssuer,omitempty"` 24 25 // AAD Vpn authentication parameter AAD tenant. 26 AADTenant *string `json:"aadTenant,omitempty"` 27} 28 29// AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 30type AddressSpace struct { 31 // A list of address blocks reserved for this virtual network in CIDR notation. 32 AddressPrefixes []*string `json:"addressPrefixes,omitempty"` 33} 34 35// MarshalJSON implements the json.Marshaller interface for type AddressSpace. 36func (a AddressSpace) MarshalJSON() ([]byte, error) { 37 objectMap := make(map[string]interface{}) 38 populate(objectMap, "addressPrefixes", a.AddressPrefixes) 39 return json.Marshal(objectMap) 40} 41 42// ApplicationGateway - Application gateway resource. 43type ApplicationGateway struct { 44 Resource 45 // The identity of the application gateway, if configured. 46 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 47 48 // Properties of the application gateway. 49 Properties *ApplicationGatewayPropertiesFormat `json:"properties,omitempty"` 50 51 // A list of availability zones denoting where the resource needs to come from. 52 Zones []*string `json:"zones,omitempty"` 53 54 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 55 Etag *string `json:"etag,omitempty" azure:"ro"` 56} 57 58// MarshalJSON implements the json.Marshaller interface for type ApplicationGateway. 59func (a ApplicationGateway) MarshalJSON() ([]byte, error) { 60 objectMap := a.Resource.marshalInternal() 61 populate(objectMap, "etag", a.Etag) 62 populate(objectMap, "identity", a.Identity) 63 populate(objectMap, "properties", a.Properties) 64 populate(objectMap, "zones", a.Zones) 65 return json.Marshal(objectMap) 66} 67 68// ApplicationGatewayAuthenticationCertificate - Authentication certificates of an application gateway. 69type ApplicationGatewayAuthenticationCertificate struct { 70 SubResource 71 // Name of the authentication certificate that is unique within an Application Gateway. 72 Name *string `json:"name,omitempty"` 73 74 // Properties of the application gateway authentication certificate. 75 Properties *ApplicationGatewayAuthenticationCertificatePropertiesFormat `json:"properties,omitempty"` 76 77 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 78 Etag *string `json:"etag,omitempty" azure:"ro"` 79 80 // READ-ONLY; Type of the resource. 81 Type *string `json:"type,omitempty" azure:"ro"` 82} 83 84// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAuthenticationCertificate. 85func (a ApplicationGatewayAuthenticationCertificate) MarshalJSON() ([]byte, error) { 86 objectMap := a.SubResource.marshalInternal() 87 populate(objectMap, "etag", a.Etag) 88 populate(objectMap, "name", a.Name) 89 populate(objectMap, "properties", a.Properties) 90 populate(objectMap, "type", a.Type) 91 return json.Marshal(objectMap) 92} 93 94// ApplicationGatewayAuthenticationCertificatePropertiesFormat - Authentication certificates properties of an application gateway. 95type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct { 96 // Certificate public data. 97 Data *string `json:"data,omitempty"` 98 99 // READ-ONLY; The provisioning state of the authentication certificate resource. 100 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 101} 102 103// ApplicationGatewayAutoscaleConfiguration - Application Gateway autoscale configuration. 104type ApplicationGatewayAutoscaleConfiguration struct { 105 // REQUIRED; Lower bound on number of Application Gateway capacity. 106 MinCapacity *int32 `json:"minCapacity,omitempty"` 107 108 // Upper bound on number of Application Gateway capacity. 109 MaxCapacity *int32 `json:"maxCapacity,omitempty"` 110} 111 112// ApplicationGatewayAvailableSSLOptions - Response for ApplicationGatewayAvailableSslOptions API service call. 113type ApplicationGatewayAvailableSSLOptions struct { 114 Resource 115 // Properties of the application gateway available SSL options. 116 Properties *ApplicationGatewayAvailableSSLOptionsPropertiesFormat `json:"properties,omitempty"` 117} 118 119// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLOptions. 120func (a ApplicationGatewayAvailableSSLOptions) MarshalJSON() ([]byte, error) { 121 objectMap := a.Resource.marshalInternal() 122 populate(objectMap, "properties", a.Properties) 123 return json.Marshal(objectMap) 124} 125 126// ApplicationGatewayAvailableSSLOptionsPropertiesFormat - Properties of ApplicationGatewayAvailableSslOptions. 127type ApplicationGatewayAvailableSSLOptionsPropertiesFormat struct { 128 // List of available Ssl cipher suites. 129 AvailableCipherSuites []*ApplicationGatewaySSLCipherSuite `json:"availableCipherSuites,omitempty"` 130 131 // List of available Ssl protocols. 132 AvailableProtocols []*ApplicationGatewaySSLProtocol `json:"availableProtocols,omitempty"` 133 134 // Name of the Ssl predefined policy applied by default to application gateway. 135 DefaultPolicy *ApplicationGatewaySSLPolicyName `json:"defaultPolicy,omitempty"` 136 137 // List of available Ssl predefined policy. 138 PredefinedPolicies []*SubResource `json:"predefinedPolicies,omitempty"` 139} 140 141// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLOptionsPropertiesFormat. 142func (a ApplicationGatewayAvailableSSLOptionsPropertiesFormat) MarshalJSON() ([]byte, error) { 143 objectMap := make(map[string]interface{}) 144 populate(objectMap, "availableCipherSuites", a.AvailableCipherSuites) 145 populate(objectMap, "availableProtocols", a.AvailableProtocols) 146 populate(objectMap, "defaultPolicy", a.DefaultPolicy) 147 populate(objectMap, "predefinedPolicies", a.PredefinedPolicies) 148 return json.Marshal(objectMap) 149} 150 151// ApplicationGatewayAvailableSSLPredefinedPolicies - Response for ApplicationGatewayAvailableSslOptions API service call. 152type ApplicationGatewayAvailableSSLPredefinedPolicies struct { 153 // URL to get the next set of results. 154 NextLink *string `json:"nextLink,omitempty"` 155 156 // List of available Ssl predefined policy. 157 Value []*ApplicationGatewaySSLPredefinedPolicy `json:"value,omitempty"` 158} 159 160// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLPredefinedPolicies. 161func (a ApplicationGatewayAvailableSSLPredefinedPolicies) MarshalJSON() ([]byte, error) { 162 objectMap := make(map[string]interface{}) 163 populate(objectMap, "nextLink", a.NextLink) 164 populate(objectMap, "value", a.Value) 165 return json.Marshal(objectMap) 166} 167 168// ApplicationGatewayAvailableWafRuleSetsResult - Response for ApplicationGatewayAvailableWafRuleSets API service call. 169type ApplicationGatewayAvailableWafRuleSetsResult struct { 170 // The list of application gateway rule sets. 171 Value []*ApplicationGatewayFirewallRuleSet `json:"value,omitempty"` 172} 173 174// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableWafRuleSetsResult. 175func (a ApplicationGatewayAvailableWafRuleSetsResult) MarshalJSON() ([]byte, error) { 176 objectMap := make(map[string]interface{}) 177 populate(objectMap, "value", a.Value) 178 return json.Marshal(objectMap) 179} 180 181// ApplicationGatewayBackendAddress - Backend address of an application gateway. 182type ApplicationGatewayBackendAddress struct { 183 // Fully qualified domain name (FQDN). 184 Fqdn *string `json:"fqdn,omitempty"` 185 186 // IP address. 187 IPAddress *string `json:"ipAddress,omitempty"` 188} 189 190// ApplicationGatewayBackendAddressPool - Backend Address Pool of an application gateway. 191type ApplicationGatewayBackendAddressPool struct { 192 SubResource 193 // Name of the backend address pool that is unique within an Application Gateway. 194 Name *string `json:"name,omitempty"` 195 196 // Properties of the application gateway backend address pool. 197 Properties *ApplicationGatewayBackendAddressPoolPropertiesFormat `json:"properties,omitempty"` 198 199 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 200 Etag *string `json:"etag,omitempty" azure:"ro"` 201 202 // READ-ONLY; Type of the resource. 203 Type *string `json:"type,omitempty" azure:"ro"` 204} 205 206// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendAddressPool. 207func (a ApplicationGatewayBackendAddressPool) MarshalJSON() ([]byte, error) { 208 objectMap := a.SubResource.marshalInternal() 209 populate(objectMap, "etag", a.Etag) 210 populate(objectMap, "name", a.Name) 211 populate(objectMap, "properties", a.Properties) 212 populate(objectMap, "type", a.Type) 213 return json.Marshal(objectMap) 214} 215 216// ApplicationGatewayBackendAddressPoolPropertiesFormat - Properties of Backend Address Pool of an application gateway. 217type ApplicationGatewayBackendAddressPoolPropertiesFormat struct { 218 // Backend addresses. 219 BackendAddresses []*ApplicationGatewayBackendAddress `json:"backendAddresses,omitempty"` 220 221 // READ-ONLY; Collection of references to IPs defined in network interfaces. 222 BackendIPConfigurations []*NetworkInterfaceIPConfiguration `json:"backendIPConfigurations,omitempty" azure:"ro"` 223 224 // READ-ONLY; The provisioning state of the backend address pool resource. 225 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 226} 227 228// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendAddressPoolPropertiesFormat. 229func (a ApplicationGatewayBackendAddressPoolPropertiesFormat) MarshalJSON() ([]byte, error) { 230 objectMap := make(map[string]interface{}) 231 populate(objectMap, "backendAddresses", a.BackendAddresses) 232 populate(objectMap, "backendIPConfigurations", a.BackendIPConfigurations) 233 populate(objectMap, "provisioningState", a.ProvisioningState) 234 return json.Marshal(objectMap) 235} 236 237// ApplicationGatewayBackendHTTPSettings - Backend address pool settings of an application gateway. 238type ApplicationGatewayBackendHTTPSettings struct { 239 SubResource 240 // Name of the backend http settings that is unique within an Application Gateway. 241 Name *string `json:"name,omitempty"` 242 243 // Properties of the application gateway backend HTTP settings. 244 Properties *ApplicationGatewayBackendHTTPSettingsPropertiesFormat `json:"properties,omitempty"` 245 246 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 247 Etag *string `json:"etag,omitempty" azure:"ro"` 248 249 // READ-ONLY; Type of the resource. 250 Type *string `json:"type,omitempty" azure:"ro"` 251} 252 253// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHTTPSettings. 254func (a ApplicationGatewayBackendHTTPSettings) MarshalJSON() ([]byte, error) { 255 objectMap := a.SubResource.marshalInternal() 256 populate(objectMap, "etag", a.Etag) 257 populate(objectMap, "name", a.Name) 258 populate(objectMap, "properties", a.Properties) 259 populate(objectMap, "type", a.Type) 260 return json.Marshal(objectMap) 261} 262 263// ApplicationGatewayBackendHTTPSettingsPropertiesFormat - Properties of Backend address pool settings of an application gateway. 264type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct { 265 // Cookie name to use for the affinity cookie. 266 AffinityCookieName *string `json:"affinityCookieName,omitempty"` 267 268 // Array of references to application gateway authentication certificates. 269 AuthenticationCertificates []*SubResource `json:"authenticationCertificates,omitempty"` 270 271 // Connection draining of the backend http settings resource. 272 ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"` 273 274 // Cookie based affinity. 275 CookieBasedAffinity *ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"` 276 277 // Host header to be sent to the backend servers. 278 HostName *string `json:"hostName,omitempty"` 279 280 // Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null. 281 Path *string `json:"path,omitempty"` 282 283 // Whether to pick host header should be picked from the host name of the backend server. Default value is false. 284 PickHostNameFromBackendAddress *bool `json:"pickHostNameFromBackendAddress,omitempty"` 285 286 // The destination port on the backend. 287 Port *int32 `json:"port,omitempty"` 288 289 // Probe resource of an application gateway. 290 Probe *SubResource `json:"probe,omitempty"` 291 292 // Whether the probe is enabled. Default value is false. 293 ProbeEnabled *bool `json:"probeEnabled,omitempty"` 294 295 // The protocol used to communicate with the backend. 296 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 297 298 // Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 299 // second to 86400 seconds. 300 RequestTimeout *int32 `json:"requestTimeout,omitempty"` 301 302 // Array of references to application gateway trusted root certificates. 303 TrustedRootCertificates []*SubResource `json:"trustedRootCertificates,omitempty"` 304 305 // READ-ONLY; The provisioning state of the backend HTTP settings resource. 306 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 307} 308 309// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHTTPSettingsPropertiesFormat. 310func (a ApplicationGatewayBackendHTTPSettingsPropertiesFormat) MarshalJSON() ([]byte, error) { 311 objectMap := make(map[string]interface{}) 312 populate(objectMap, "affinityCookieName", a.AffinityCookieName) 313 populate(objectMap, "authenticationCertificates", a.AuthenticationCertificates) 314 populate(objectMap, "connectionDraining", a.ConnectionDraining) 315 populate(objectMap, "cookieBasedAffinity", a.CookieBasedAffinity) 316 populate(objectMap, "hostName", a.HostName) 317 populate(objectMap, "path", a.Path) 318 populate(objectMap, "pickHostNameFromBackendAddress", a.PickHostNameFromBackendAddress) 319 populate(objectMap, "port", a.Port) 320 populate(objectMap, "probe", a.Probe) 321 populate(objectMap, "probeEnabled", a.ProbeEnabled) 322 populate(objectMap, "protocol", a.Protocol) 323 populate(objectMap, "provisioningState", a.ProvisioningState) 324 populate(objectMap, "requestTimeout", a.RequestTimeout) 325 populate(objectMap, "trustedRootCertificates", a.TrustedRootCertificates) 326 return json.Marshal(objectMap) 327} 328 329// ApplicationGatewayBackendHealth - Response for ApplicationGatewayBackendHealth API service call. 330type ApplicationGatewayBackendHealth struct { 331 // A list of ApplicationGatewayBackendHealthPool resources. 332 BackendAddressPools []*ApplicationGatewayBackendHealthPool `json:"backendAddressPools,omitempty"` 333} 334 335// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealth. 336func (a ApplicationGatewayBackendHealth) MarshalJSON() ([]byte, error) { 337 objectMap := make(map[string]interface{}) 338 populate(objectMap, "backendAddressPools", a.BackendAddressPools) 339 return json.Marshal(objectMap) 340} 341 342// ApplicationGatewayBackendHealthHTTPSettings - Application gateway BackendHealthHttp settings. 343type ApplicationGatewayBackendHealthHTTPSettings struct { 344 // Reference to an ApplicationGatewayBackendHttpSettings resource. 345 BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettings,omitempty"` 346 347 // List of ApplicationGatewayBackendHealthServer resources. 348 Servers []*ApplicationGatewayBackendHealthServer `json:"servers,omitempty"` 349} 350 351// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthHTTPSettings. 352func (a ApplicationGatewayBackendHealthHTTPSettings) MarshalJSON() ([]byte, error) { 353 objectMap := make(map[string]interface{}) 354 populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) 355 populate(objectMap, "servers", a.Servers) 356 return json.Marshal(objectMap) 357} 358 359// ApplicationGatewayBackendHealthOnDemand - Result of on demand test probe. 360type ApplicationGatewayBackendHealthOnDemand struct { 361 // Reference to an ApplicationGatewayBackendAddressPool resource. 362 BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` 363 364 // Application gateway BackendHealthHttp settings. 365 BackendHealthHTTPSettings *ApplicationGatewayBackendHealthHTTPSettings `json:"backendHealthHttpSettings,omitempty"` 366} 367 368// ApplicationGatewayBackendHealthPool - Application gateway BackendHealth pool. 369type ApplicationGatewayBackendHealthPool struct { 370 // Reference to an ApplicationGatewayBackendAddressPool resource. 371 BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` 372 373 // List of ApplicationGatewayBackendHealthHttpSettings resources. 374 BackendHTTPSettingsCollection []*ApplicationGatewayBackendHealthHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` 375} 376 377// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthPool. 378func (a ApplicationGatewayBackendHealthPool) MarshalJSON() ([]byte, error) { 379 objectMap := make(map[string]interface{}) 380 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 381 populate(objectMap, "backendHttpSettingsCollection", a.BackendHTTPSettingsCollection) 382 return json.Marshal(objectMap) 383} 384 385// ApplicationGatewayBackendHealthServer - Application gateway backendhealth http settings. 386type ApplicationGatewayBackendHealthServer struct { 387 // IP address or FQDN of backend server. 388 Address *string `json:"address,omitempty"` 389 390 // Health of backend server. 391 Health *ApplicationGatewayBackendHealthServerHealth `json:"health,omitempty"` 392 393 // Health Probe Log. 394 HealthProbeLog *string `json:"healthProbeLog,omitempty"` 395 396 // Reference to IP configuration of backend server. 397 IPConfiguration *NetworkInterfaceIPConfiguration `json:"ipConfiguration,omitempty"` 398} 399 400// ApplicationGatewayClientAuthConfiguration - Application gateway client authentication configuration. 401type ApplicationGatewayClientAuthConfiguration struct { 402 // Verify client certificate issuer name on the application gateway. 403 VerifyClientCertIssuerDN *bool `json:"verifyClientCertIssuerDN,omitempty"` 404} 405 406// ApplicationGatewayConnectionDraining - Connection draining allows open connections to a backend server to be active for a specified time after the backend 407// server got removed from the configuration. 408type ApplicationGatewayConnectionDraining struct { 409 // REQUIRED; The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds. 410 DrainTimeoutInSec *int32 `json:"drainTimeoutInSec,omitempty"` 411 412 // REQUIRED; Whether connection draining is enabled or not. 413 Enabled *bool `json:"enabled,omitempty"` 414} 415 416// ApplicationGatewayCustomError - Customer error of an application gateway. 417type ApplicationGatewayCustomError struct { 418 // Error page URL of the application gateway customer error. 419 CustomErrorPageURL *string `json:"customErrorPageUrl,omitempty"` 420 421 // Status code of the application gateway customer error. 422 StatusCode *ApplicationGatewayCustomErrorStatusCode `json:"statusCode,omitempty"` 423} 424 425// ApplicationGatewayFirewallDisabledRuleGroup - Allows to disable rules within a rule group or an entire rule group. 426type ApplicationGatewayFirewallDisabledRuleGroup struct { 427 // REQUIRED; The name of the rule group that will be disabled. 428 RuleGroupName *string `json:"ruleGroupName,omitempty"` 429 430 // The list of rules that will be disabled. If null, all rules of the rule group will be disabled. 431 Rules []*int32 `json:"rules,omitempty"` 432} 433 434// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallDisabledRuleGroup. 435func (a ApplicationGatewayFirewallDisabledRuleGroup) MarshalJSON() ([]byte, error) { 436 objectMap := make(map[string]interface{}) 437 populate(objectMap, "ruleGroupName", a.RuleGroupName) 438 populate(objectMap, "rules", a.Rules) 439 return json.Marshal(objectMap) 440} 441 442// ApplicationGatewayFirewallExclusion - Allow to exclude some variable satisfy the condition for the WAF check. 443type ApplicationGatewayFirewallExclusion struct { 444 // REQUIRED; The variable to be excluded. 445 MatchVariable *string `json:"matchVariable,omitempty"` 446 447 // REQUIRED; When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. 448 Selector *string `json:"selector,omitempty"` 449 450 // REQUIRED; When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. 451 SelectorMatchOperator *string `json:"selectorMatchOperator,omitempty"` 452} 453 454// ApplicationGatewayFirewallRule - A web application firewall rule. 455type ApplicationGatewayFirewallRule struct { 456 // REQUIRED; The identifier of the web application firewall rule. 457 RuleID *int32 `json:"ruleId,omitempty"` 458 459 // The description of the web application firewall rule. 460 Description *string `json:"description,omitempty"` 461} 462 463// ApplicationGatewayFirewallRuleGroup - A web application firewall rule group. 464type ApplicationGatewayFirewallRuleGroup struct { 465 // REQUIRED; The name of the web application firewall rule group. 466 RuleGroupName *string `json:"ruleGroupName,omitempty"` 467 468 // REQUIRED; The rules of the web application firewall rule group. 469 Rules []*ApplicationGatewayFirewallRule `json:"rules,omitempty"` 470 471 // The description of the web application firewall rule group. 472 Description *string `json:"description,omitempty"` 473} 474 475// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleGroup. 476func (a ApplicationGatewayFirewallRuleGroup) MarshalJSON() ([]byte, error) { 477 objectMap := make(map[string]interface{}) 478 populate(objectMap, "description", a.Description) 479 populate(objectMap, "ruleGroupName", a.RuleGroupName) 480 populate(objectMap, "rules", a.Rules) 481 return json.Marshal(objectMap) 482} 483 484// ApplicationGatewayFirewallRuleSet - A web application firewall rule set. 485type ApplicationGatewayFirewallRuleSet struct { 486 Resource 487 // Properties of the application gateway firewall rule set. 488 Properties *ApplicationGatewayFirewallRuleSetPropertiesFormat `json:"properties,omitempty"` 489} 490 491// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleSet. 492func (a ApplicationGatewayFirewallRuleSet) MarshalJSON() ([]byte, error) { 493 objectMap := a.Resource.marshalInternal() 494 populate(objectMap, "properties", a.Properties) 495 return json.Marshal(objectMap) 496} 497 498// ApplicationGatewayFirewallRuleSetPropertiesFormat - Properties of the web application firewall rule set. 499type ApplicationGatewayFirewallRuleSetPropertiesFormat struct { 500 // REQUIRED; The rule groups of the web application firewall rule set. 501 RuleGroups []*ApplicationGatewayFirewallRuleGroup `json:"ruleGroups,omitempty"` 502 503 // REQUIRED; The type of the web application firewall rule set. 504 RuleSetType *string `json:"ruleSetType,omitempty"` 505 506 // REQUIRED; The version of the web application firewall rule set type. 507 RuleSetVersion *string `json:"ruleSetVersion,omitempty"` 508 509 // READ-ONLY; The provisioning state of the web application firewall rule set. 510 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 511} 512 513// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleSetPropertiesFormat. 514func (a ApplicationGatewayFirewallRuleSetPropertiesFormat) MarshalJSON() ([]byte, error) { 515 objectMap := make(map[string]interface{}) 516 populate(objectMap, "provisioningState", a.ProvisioningState) 517 populate(objectMap, "ruleGroups", a.RuleGroups) 518 populate(objectMap, "ruleSetType", a.RuleSetType) 519 populate(objectMap, "ruleSetVersion", a.RuleSetVersion) 520 return json.Marshal(objectMap) 521} 522 523// ApplicationGatewayFrontendIPConfiguration - Frontend IP configuration of an application gateway. 524type ApplicationGatewayFrontendIPConfiguration struct { 525 SubResource 526 // Name of the frontend IP configuration that is unique within an Application Gateway. 527 Name *string `json:"name,omitempty"` 528 529 // Properties of the application gateway frontend IP configuration. 530 Properties *ApplicationGatewayFrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` 531 532 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 533 Etag *string `json:"etag,omitempty" azure:"ro"` 534 535 // READ-ONLY; Type of the resource. 536 Type *string `json:"type,omitempty" azure:"ro"` 537} 538 539// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendIPConfiguration. 540func (a ApplicationGatewayFrontendIPConfiguration) MarshalJSON() ([]byte, error) { 541 objectMap := a.SubResource.marshalInternal() 542 populate(objectMap, "etag", a.Etag) 543 populate(objectMap, "name", a.Name) 544 populate(objectMap, "properties", a.Properties) 545 populate(objectMap, "type", a.Type) 546 return json.Marshal(objectMap) 547} 548 549// ApplicationGatewayFrontendIPConfigurationPropertiesFormat - Properties of Frontend IP configuration of an application gateway. 550type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct { 551 // PrivateIPAddress of the network interface IP Configuration. 552 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 553 554 // The private IP address allocation method. 555 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 556 557 // Reference to the application gateway private link configuration. 558 PrivateLinkConfiguration *SubResource `json:"privateLinkConfiguration,omitempty"` 559 560 // Reference to the PublicIP resource. 561 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 562 563 // Reference to the subnet resource. 564 Subnet *SubResource `json:"subnet,omitempty"` 565 566 // READ-ONLY; The provisioning state of the frontend IP configuration resource. 567 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 568} 569 570// ApplicationGatewayFrontendPort - Frontend port of an application gateway. 571type ApplicationGatewayFrontendPort struct { 572 SubResource 573 // Name of the frontend port that is unique within an Application Gateway. 574 Name *string `json:"name,omitempty"` 575 576 // Properties of the application gateway frontend port. 577 Properties *ApplicationGatewayFrontendPortPropertiesFormat `json:"properties,omitempty"` 578 579 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 580 Etag *string `json:"etag,omitempty" azure:"ro"` 581 582 // READ-ONLY; Type of the resource. 583 Type *string `json:"type,omitempty" azure:"ro"` 584} 585 586// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendPort. 587func (a ApplicationGatewayFrontendPort) MarshalJSON() ([]byte, error) { 588 objectMap := a.SubResource.marshalInternal() 589 populate(objectMap, "etag", a.Etag) 590 populate(objectMap, "name", a.Name) 591 populate(objectMap, "properties", a.Properties) 592 populate(objectMap, "type", a.Type) 593 return json.Marshal(objectMap) 594} 595 596// ApplicationGatewayFrontendPortPropertiesFormat - Properties of Frontend port of an application gateway. 597type ApplicationGatewayFrontendPortPropertiesFormat struct { 598 // Frontend port. 599 Port *int32 `json:"port,omitempty"` 600 601 // READ-ONLY; The provisioning state of the frontend port resource. 602 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 603} 604 605// ApplicationGatewayHTTPListener - Http listener of an application gateway. 606type ApplicationGatewayHTTPListener struct { 607 SubResource 608 // Name of the HTTP listener that is unique within an Application Gateway. 609 Name *string `json:"name,omitempty"` 610 611 // Properties of the application gateway HTTP listener. 612 Properties *ApplicationGatewayHTTPListenerPropertiesFormat `json:"properties,omitempty"` 613 614 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 615 Etag *string `json:"etag,omitempty" azure:"ro"` 616 617 // READ-ONLY; Type of the resource. 618 Type *string `json:"type,omitempty" azure:"ro"` 619} 620 621// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayHTTPListener. 622func (a ApplicationGatewayHTTPListener) MarshalJSON() ([]byte, error) { 623 objectMap := a.SubResource.marshalInternal() 624 populate(objectMap, "etag", a.Etag) 625 populate(objectMap, "name", a.Name) 626 populate(objectMap, "properties", a.Properties) 627 populate(objectMap, "type", a.Type) 628 return json.Marshal(objectMap) 629} 630 631// ApplicationGatewayHTTPListenerPropertiesFormat - Properties of HTTP listener of an application gateway. 632type ApplicationGatewayHTTPListenerPropertiesFormat struct { 633 // Custom error configurations of the HTTP listener. 634 CustomErrorConfigurations []*ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` 635 636 // Reference to the FirewallPolicy resource. 637 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 638 639 // Frontend IP configuration resource of an application gateway. 640 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 641 642 // Frontend port resource of an application gateway. 643 FrontendPort *SubResource `json:"frontendPort,omitempty"` 644 645 // Host name of HTTP listener. 646 HostName *string `json:"hostName,omitempty"` 647 648 // List of Host names for HTTP Listener that allows special wildcard characters as well. 649 HostNames []*string `json:"hostNames,omitempty"` 650 651 // Protocol of the HTTP listener. 652 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 653 654 // Applicable only if protocol is https. Enables SNI for multi-hosting. 655 RequireServerNameIndication *bool `json:"requireServerNameIndication,omitempty"` 656 657 // SSL certificate resource of an application gateway. 658 SSLCertificate *SubResource `json:"sslCertificate,omitempty"` 659 660 // SSL profile resource of the application gateway. 661 SSLProfile *SubResource `json:"sslProfile,omitempty"` 662 663 // READ-ONLY; The provisioning state of the HTTP listener resource. 664 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 665} 666 667// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayHTTPListenerPropertiesFormat. 668func (a ApplicationGatewayHTTPListenerPropertiesFormat) MarshalJSON() ([]byte, error) { 669 objectMap := make(map[string]interface{}) 670 populate(objectMap, "customErrorConfigurations", a.CustomErrorConfigurations) 671 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 672 populate(objectMap, "frontendIPConfiguration", a.FrontendIPConfiguration) 673 populate(objectMap, "frontendPort", a.FrontendPort) 674 populate(objectMap, "hostName", a.HostName) 675 populate(objectMap, "hostNames", a.HostNames) 676 populate(objectMap, "protocol", a.Protocol) 677 populate(objectMap, "provisioningState", a.ProvisioningState) 678 populate(objectMap, "requireServerNameIndication", a.RequireServerNameIndication) 679 populate(objectMap, "sslCertificate", a.SSLCertificate) 680 populate(objectMap, "sslProfile", a.SSLProfile) 681 return json.Marshal(objectMap) 682} 683 684// ApplicationGatewayHeaderConfiguration - Header configuration of the Actions set in Application Gateway. 685type ApplicationGatewayHeaderConfiguration struct { 686 // Header name of the header configuration. 687 HeaderName *string `json:"headerName,omitempty"` 688 689 // Header value of the header configuration. 690 HeaderValue *string `json:"headerValue,omitempty"` 691} 692 693// ApplicationGatewayIPConfiguration - IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 694type ApplicationGatewayIPConfiguration struct { 695 SubResource 696 // Name of the IP configuration that is unique within an Application Gateway. 697 Name *string `json:"name,omitempty"` 698 699 // Properties of the application gateway IP configuration. 700 Properties *ApplicationGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` 701 702 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 703 Etag *string `json:"etag,omitempty" azure:"ro"` 704 705 // READ-ONLY; Type of the resource. 706 Type *string `json:"type,omitempty" azure:"ro"` 707} 708 709// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayIPConfiguration. 710func (a ApplicationGatewayIPConfiguration) MarshalJSON() ([]byte, error) { 711 objectMap := a.SubResource.marshalInternal() 712 populate(objectMap, "etag", a.Etag) 713 populate(objectMap, "name", a.Name) 714 populate(objectMap, "properties", a.Properties) 715 populate(objectMap, "type", a.Type) 716 return json.Marshal(objectMap) 717} 718 719// ApplicationGatewayIPConfigurationPropertiesFormat - Properties of IP configuration of an application gateway. 720type ApplicationGatewayIPConfigurationPropertiesFormat struct { 721 // Reference to the subnet resource. A subnet from where application gateway gets its private address. 722 Subnet *SubResource `json:"subnet,omitempty"` 723 724 // READ-ONLY; The provisioning state of the application gateway IP configuration resource. 725 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 726} 727 728// ApplicationGatewayListResult - Response for ListApplicationGateways API service call. 729type ApplicationGatewayListResult struct { 730 // URL to get the next set of results. 731 NextLink *string `json:"nextLink,omitempty"` 732 733 // List of an application gateways in a resource group. 734 Value []*ApplicationGateway `json:"value,omitempty"` 735} 736 737// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayListResult. 738func (a ApplicationGatewayListResult) MarshalJSON() ([]byte, error) { 739 objectMap := make(map[string]interface{}) 740 populate(objectMap, "nextLink", a.NextLink) 741 populate(objectMap, "value", a.Value) 742 return json.Marshal(objectMap) 743} 744 745// ApplicationGatewayOnDemandProbe - Details of on demand test probe request. 746type ApplicationGatewayOnDemandProbe struct { 747 // Reference to backend pool of application gateway to which probe request will be sent. 748 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 749 750 // Reference to backend http setting of application gateway to be used for test probe. 751 BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` 752 753 // Host name to send the probe to. 754 Host *string `json:"host,omitempty"` 755 756 // Criterion for classifying a healthy probe response. 757 Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` 758 759 // Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. 760 Path *string `json:"path,omitempty"` 761 762 // Whether the host header should be picked from the backend http settings. Default value is false. 763 PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` 764 765 // The protocol used for the probe. 766 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 767 768 // 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 769 // to 86400 seconds. 770 Timeout *int32 `json:"timeout,omitempty"` 771} 772 773// ApplicationGatewayPathRule - Path rule of URL path map of an application gateway. 774type ApplicationGatewayPathRule struct { 775 SubResource 776 // Name of the path rule that is unique within an Application Gateway. 777 Name *string `json:"name,omitempty"` 778 779 // Properties of the application gateway path rule. 780 Properties *ApplicationGatewayPathRulePropertiesFormat `json:"properties,omitempty"` 781 782 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 783 Etag *string `json:"etag,omitempty" azure:"ro"` 784 785 // READ-ONLY; Type of the resource. 786 Type *string `json:"type,omitempty" azure:"ro"` 787} 788 789// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPathRule. 790func (a ApplicationGatewayPathRule) MarshalJSON() ([]byte, error) { 791 objectMap := a.SubResource.marshalInternal() 792 populate(objectMap, "etag", a.Etag) 793 populate(objectMap, "name", a.Name) 794 populate(objectMap, "properties", a.Properties) 795 populate(objectMap, "type", a.Type) 796 return json.Marshal(objectMap) 797} 798 799// ApplicationGatewayPathRulePropertiesFormat - Properties of path rule of an application gateway. 800type ApplicationGatewayPathRulePropertiesFormat struct { 801 // Backend address pool resource of URL path map path rule. 802 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 803 804 // Backend http settings resource of URL path map path rule. 805 BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` 806 807 // Reference to the FirewallPolicy resource. 808 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 809 810 // Path rules of URL path map. 811 Paths []*string `json:"paths,omitempty"` 812 813 // Redirect configuration resource of URL path map path rule. 814 RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` 815 816 // Rewrite rule set resource of URL path map path rule. 817 RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` 818 819 // READ-ONLY; The provisioning state of the path rule resource. 820 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 821} 822 823// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPathRulePropertiesFormat. 824func (a ApplicationGatewayPathRulePropertiesFormat) MarshalJSON() ([]byte, error) { 825 objectMap := make(map[string]interface{}) 826 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 827 populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) 828 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 829 populate(objectMap, "paths", a.Paths) 830 populate(objectMap, "provisioningState", a.ProvisioningState) 831 populate(objectMap, "redirectConfiguration", a.RedirectConfiguration) 832 populate(objectMap, "rewriteRuleSet", a.RewriteRuleSet) 833 return json.Marshal(objectMap) 834} 835 836// ApplicationGatewayPrivateEndpointConnection - Private Endpoint connection on an application gateway. 837type ApplicationGatewayPrivateEndpointConnection struct { 838 SubResource 839 // Name of the private endpoint connection on an application gateway. 840 Name *string `json:"name,omitempty"` 841 842 // Properties of the application gateway private endpoint connection. 843 Properties *ApplicationGatewayPrivateEndpointConnectionProperties `json:"properties,omitempty"` 844 845 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 846 Etag *string `json:"etag,omitempty" azure:"ro"` 847 848 // READ-ONLY; Type of the resource. 849 Type *string `json:"type,omitempty" azure:"ro"` 850} 851 852// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateEndpointConnection. 853func (a ApplicationGatewayPrivateEndpointConnection) MarshalJSON() ([]byte, error) { 854 objectMap := a.SubResource.marshalInternal() 855 populate(objectMap, "etag", a.Etag) 856 populate(objectMap, "name", a.Name) 857 populate(objectMap, "properties", a.Properties) 858 populate(objectMap, "type", a.Type) 859 return json.Marshal(objectMap) 860} 861 862// ApplicationGatewayPrivateEndpointConnectionListResult - Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private 863// endpoint connections for an application gateway. 864type ApplicationGatewayPrivateEndpointConnectionListResult struct { 865 // URL to get the next set of results. 866 NextLink *string `json:"nextLink,omitempty"` 867 868 // List of private endpoint connections on an application gateway. 869 Value []*ApplicationGatewayPrivateEndpointConnection `json:"value,omitempty"` 870} 871 872// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateEndpointConnectionListResult. 873func (a ApplicationGatewayPrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { 874 objectMap := make(map[string]interface{}) 875 populate(objectMap, "nextLink", a.NextLink) 876 populate(objectMap, "value", a.Value) 877 return json.Marshal(objectMap) 878} 879 880// ApplicationGatewayPrivateEndpointConnectionProperties - Properties of Private Link Resource of an application gateway. 881type ApplicationGatewayPrivateEndpointConnectionProperties struct { 882 // A collection of information about the state of the connection between service consumer and provider. 883 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` 884 885 // READ-ONLY; The consumer link id. 886 LinkIdentifier *string `json:"linkIdentifier,omitempty" azure:"ro"` 887 888 // READ-ONLY; The resource of private end point. 889 PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` 890 891 // READ-ONLY; The provisioning state of the application gateway private endpoint connection resource. 892 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 893} 894 895// ApplicationGatewayPrivateEndpointConnectionsBeginDeleteOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.BeginDelete 896// method. 897type ApplicationGatewayPrivateEndpointConnectionsBeginDeleteOptions struct { 898 // placeholder for future optional parameters 899} 900 901// ApplicationGatewayPrivateEndpointConnectionsBeginUpdateOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.BeginUpdate 902// method. 903type ApplicationGatewayPrivateEndpointConnectionsBeginUpdateOptions struct { 904 // placeholder for future optional parameters 905} 906 907// ApplicationGatewayPrivateEndpointConnectionsGetOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.Get method. 908type ApplicationGatewayPrivateEndpointConnectionsGetOptions struct { 909 // placeholder for future optional parameters 910} 911 912// ApplicationGatewayPrivateEndpointConnectionsListOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.List method. 913type ApplicationGatewayPrivateEndpointConnectionsListOptions struct { 914 // placeholder for future optional parameters 915} 916 917// ApplicationGatewayPrivateLinkConfiguration - Private Link Configuration on an application gateway. 918type ApplicationGatewayPrivateLinkConfiguration struct { 919 SubResource 920 // Name of the private link configuration that is unique within an Application Gateway. 921 Name *string `json:"name,omitempty"` 922 923 // Properties of the application gateway private link configuration. 924 Properties *ApplicationGatewayPrivateLinkConfigurationProperties `json:"properties,omitempty"` 925 926 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 927 Etag *string `json:"etag,omitempty" azure:"ro"` 928 929 // READ-ONLY; Type of the resource. 930 Type *string `json:"type,omitempty" azure:"ro"` 931} 932 933// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkConfiguration. 934func (a ApplicationGatewayPrivateLinkConfiguration) MarshalJSON() ([]byte, error) { 935 objectMap := a.SubResource.marshalInternal() 936 populate(objectMap, "etag", a.Etag) 937 populate(objectMap, "name", a.Name) 938 populate(objectMap, "properties", a.Properties) 939 populate(objectMap, "type", a.Type) 940 return json.Marshal(objectMap) 941} 942 943// ApplicationGatewayPrivateLinkConfigurationProperties - Properties of private link configuration on an application gateway. 944type ApplicationGatewayPrivateLinkConfigurationProperties struct { 945 // An array of application gateway private link ip configurations. 946 IPConfigurations []*ApplicationGatewayPrivateLinkIPConfiguration `json:"ipConfigurations,omitempty"` 947 948 // READ-ONLY; The provisioning state of the application gateway private link configuration. 949 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 950} 951 952// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkConfigurationProperties. 953func (a ApplicationGatewayPrivateLinkConfigurationProperties) MarshalJSON() ([]byte, error) { 954 objectMap := make(map[string]interface{}) 955 populate(objectMap, "ipConfigurations", a.IPConfigurations) 956 populate(objectMap, "provisioningState", a.ProvisioningState) 957 return json.Marshal(objectMap) 958} 959 960// ApplicationGatewayPrivateLinkIPConfiguration - The application gateway private link ip configuration. 961type ApplicationGatewayPrivateLinkIPConfiguration struct { 962 SubResource 963 // The name of application gateway private link ip configuration. 964 Name *string `json:"name,omitempty"` 965 966 // Properties of an application gateway private link ip configuration. 967 Properties *ApplicationGatewayPrivateLinkIPConfigurationProperties `json:"properties,omitempty"` 968 969 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 970 Etag *string `json:"etag,omitempty" azure:"ro"` 971 972 // READ-ONLY; The resource type. 973 Type *string `json:"type,omitempty" azure:"ro"` 974} 975 976// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkIPConfiguration. 977func (a ApplicationGatewayPrivateLinkIPConfiguration) MarshalJSON() ([]byte, error) { 978 objectMap := a.SubResource.marshalInternal() 979 populate(objectMap, "etag", a.Etag) 980 populate(objectMap, "name", a.Name) 981 populate(objectMap, "properties", a.Properties) 982 populate(objectMap, "type", a.Type) 983 return json.Marshal(objectMap) 984} 985 986// ApplicationGatewayPrivateLinkIPConfigurationProperties - Properties of an application gateway private link IP configuration. 987type ApplicationGatewayPrivateLinkIPConfigurationProperties struct { 988 // Whether the ip configuration is primary or not. 989 Primary *bool `json:"primary,omitempty"` 990 991 // The private IP address of the IP configuration. 992 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 993 994 // The private IP address allocation method. 995 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 996 997 // Reference to the subnet resource. 998 Subnet *SubResource `json:"subnet,omitempty"` 999 1000 // READ-ONLY; The provisioning state of the application gateway private link IP configuration. 1001 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1002} 1003 1004// ApplicationGatewayPrivateLinkResource - PrivateLink Resource of an application gateway. 1005type ApplicationGatewayPrivateLinkResource struct { 1006 SubResource 1007 // Name of the private link resource that is unique within an Application Gateway. 1008 Name *string `json:"name,omitempty"` 1009 1010 // Properties of the application gateway private link resource. 1011 Properties *ApplicationGatewayPrivateLinkResourceProperties `json:"properties,omitempty"` 1012 1013 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1014 Etag *string `json:"etag,omitempty" azure:"ro"` 1015 1016 // READ-ONLY; Type of the resource. 1017 Type *string `json:"type,omitempty" azure:"ro"` 1018} 1019 1020// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResource. 1021func (a ApplicationGatewayPrivateLinkResource) MarshalJSON() ([]byte, error) { 1022 objectMap := a.SubResource.marshalInternal() 1023 populate(objectMap, "etag", a.Etag) 1024 populate(objectMap, "name", a.Name) 1025 populate(objectMap, "properties", a.Properties) 1026 populate(objectMap, "type", a.Type) 1027 return json.Marshal(objectMap) 1028} 1029 1030// ApplicationGatewayPrivateLinkResourceListResult - Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources 1031// for an application gateway. 1032type ApplicationGatewayPrivateLinkResourceListResult struct { 1033 // URL to get the next set of results. 1034 NextLink *string `json:"nextLink,omitempty"` 1035 1036 // List of private link resources of an application gateway. 1037 Value []*ApplicationGatewayPrivateLinkResource `json:"value,omitempty"` 1038} 1039 1040// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResourceListResult. 1041func (a ApplicationGatewayPrivateLinkResourceListResult) MarshalJSON() ([]byte, error) { 1042 objectMap := make(map[string]interface{}) 1043 populate(objectMap, "nextLink", a.NextLink) 1044 populate(objectMap, "value", a.Value) 1045 return json.Marshal(objectMap) 1046} 1047 1048// ApplicationGatewayPrivateLinkResourceProperties - Properties of a private link resource. 1049type ApplicationGatewayPrivateLinkResourceProperties struct { 1050 // Required DNS zone names of the the private link resource. 1051 RequiredZoneNames []*string `json:"requiredZoneNames,omitempty"` 1052 1053 // READ-ONLY; Group identifier of private link resource. 1054 GroupID *string `json:"groupId,omitempty" azure:"ro"` 1055 1056 // READ-ONLY; Required member names of private link resource. 1057 RequiredMembers []*string `json:"requiredMembers,omitempty" azure:"ro"` 1058} 1059 1060// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResourceProperties. 1061func (a ApplicationGatewayPrivateLinkResourceProperties) MarshalJSON() ([]byte, error) { 1062 objectMap := make(map[string]interface{}) 1063 populate(objectMap, "groupId", a.GroupID) 1064 populate(objectMap, "requiredMembers", a.RequiredMembers) 1065 populate(objectMap, "requiredZoneNames", a.RequiredZoneNames) 1066 return json.Marshal(objectMap) 1067} 1068 1069// ApplicationGatewayPrivateLinkResourcesListOptions contains the optional parameters for the ApplicationGatewayPrivateLinkResources.List method. 1070type ApplicationGatewayPrivateLinkResourcesListOptions struct { 1071 // placeholder for future optional parameters 1072} 1073 1074// ApplicationGatewayProbe - Probe of the application gateway. 1075type ApplicationGatewayProbe struct { 1076 SubResource 1077 // Name of the probe that is unique within an Application Gateway. 1078 Name *string `json:"name,omitempty"` 1079 1080 // Properties of the application gateway probe. 1081 Properties *ApplicationGatewayProbePropertiesFormat `json:"properties,omitempty"` 1082 1083 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1084 Etag *string `json:"etag,omitempty" azure:"ro"` 1085 1086 // READ-ONLY; Type of the resource. 1087 Type *string `json:"type,omitempty" azure:"ro"` 1088} 1089 1090// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayProbe. 1091func (a ApplicationGatewayProbe) MarshalJSON() ([]byte, error) { 1092 objectMap := a.SubResource.marshalInternal() 1093 populate(objectMap, "etag", a.Etag) 1094 populate(objectMap, "name", a.Name) 1095 populate(objectMap, "properties", a.Properties) 1096 populate(objectMap, "type", a.Type) 1097 return json.Marshal(objectMap) 1098} 1099 1100// ApplicationGatewayProbeHealthResponseMatch - Application gateway probe health response match. 1101type ApplicationGatewayProbeHealthResponseMatch struct { 1102 // Body that must be contained in the health response. Default value is empty. 1103 Body *string `json:"body,omitempty"` 1104 1105 // Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399. 1106 StatusCodes []*string `json:"statusCodes,omitempty"` 1107} 1108 1109// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayProbeHealthResponseMatch. 1110func (a ApplicationGatewayProbeHealthResponseMatch) MarshalJSON() ([]byte, error) { 1111 objectMap := make(map[string]interface{}) 1112 populate(objectMap, "body", a.Body) 1113 populate(objectMap, "statusCodes", a.StatusCodes) 1114 return json.Marshal(objectMap) 1115} 1116 1117// ApplicationGatewayProbePropertiesFormat - Properties of probe of an application gateway. 1118type ApplicationGatewayProbePropertiesFormat struct { 1119 // Host name to send the probe to. 1120 Host *string `json:"host,omitempty"` 1121 1122 // The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. 1123 Interval *int32 `json:"interval,omitempty"` 1124 1125 // Criterion for classifying a healthy probe response. 1126 Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` 1127 1128 // Minimum number of servers that are always marked healthy. Default value is 0. 1129 MinServers *int32 `json:"minServers,omitempty"` 1130 1131 // Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. 1132 Path *string `json:"path,omitempty"` 1133 1134 // Whether the host header should be picked from the backend http settings. Default value is false. 1135 PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` 1136 1137 // 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 1138 // be used. This property is valid for Standardv2 and 1139 // WAFv2 only. 1140 Port *int32 `json:"port,omitempty"` 1141 1142 // The protocol used for the probe. 1143 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 1144 1145 // 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 1146 // to 86400 seconds. 1147 Timeout *int32 `json:"timeout,omitempty"` 1148 1149 // The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 1150 // to 20. 1151 UnhealthyThreshold *int32 `json:"unhealthyThreshold,omitempty"` 1152 1153 // READ-ONLY; The provisioning state of the probe resource. 1154 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1155} 1156 1157// ApplicationGatewayPropertiesFormat - Properties of the application gateway. 1158type ApplicationGatewayPropertiesFormat struct { 1159 // Authentication certificates of the application gateway resource. For default limits, see Application Gateway limits 1160 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1161 AuthenticationCertificates []*ApplicationGatewayAuthenticationCertificate `json:"authenticationCertificates,omitempty"` 1162 1163 // Autoscale Configuration. 1164 AutoscaleConfiguration *ApplicationGatewayAutoscaleConfiguration `json:"autoscaleConfiguration,omitempty"` 1165 1166 // Backend address pool of the application gateway resource. For default limits, see Application Gateway limits 1167 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1168 BackendAddressPools []*ApplicationGatewayBackendAddressPool `json:"backendAddressPools,omitempty"` 1169 1170 // Backend http settings of the application gateway resource. For default limits, see Application Gateway limits 1171 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1172 BackendHTTPSettingsCollection []*ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` 1173 1174 // Custom error configurations of the application gateway resource. 1175 CustomErrorConfigurations []*ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` 1176 1177 // Whether FIPS is enabled on the application gateway resource. 1178 EnableFips *bool `json:"enableFips,omitempty"` 1179 1180 // Whether HTTP2 is enabled on the application gateway resource. 1181 EnableHTTP2 *bool `json:"enableHttp2,omitempty"` 1182 1183 // Reference to the FirewallPolicy resource. 1184 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 1185 1186 // If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config. 1187 ForceFirewallPolicyAssociation *bool `json:"forceFirewallPolicyAssociation,omitempty"` 1188 1189 // Frontend IP addresses of the application gateway resource. For default limits, see Application Gateway limits 1190 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1191 FrontendIPConfigurations []*ApplicationGatewayFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` 1192 1193 // 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]. 1194 FrontendPorts []*ApplicationGatewayFrontendPort `json:"frontendPorts,omitempty"` 1195 1196 // 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]. 1197 GatewayIPConfigurations []*ApplicationGatewayIPConfiguration `json:"gatewayIPConfigurations,omitempty"` 1198 1199 // 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]. 1200 HTTPListeners []*ApplicationGatewayHTTPListener `json:"httpListeners,omitempty"` 1201 1202 // PrivateLink configurations on application gateway. 1203 PrivateLinkConfigurations []*ApplicationGatewayPrivateLinkConfiguration `json:"privateLinkConfigurations,omitempty"` 1204 1205 // Probes of the application gateway resource. 1206 Probes []*ApplicationGatewayProbe `json:"probes,omitempty"` 1207 1208 // Redirect configurations of the application gateway resource. For default limits, see Application Gateway limits 1209 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1210 RedirectConfigurations []*ApplicationGatewayRedirectConfiguration `json:"redirectConfigurations,omitempty"` 1211 1212 // Request routing rules of the application gateway resource. 1213 RequestRoutingRules []*ApplicationGatewayRequestRoutingRule `json:"requestRoutingRules,omitempty"` 1214 1215 // Rewrite rules for the application gateway resource. 1216 RewriteRuleSets []*ApplicationGatewayRewriteRuleSet `json:"rewriteRuleSets,omitempty"` 1217 1218 // SKU of the application gateway resource. 1219 SKU *ApplicationGatewaySKU `json:"sku,omitempty"` 1220 1221 // 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] 1222 // . 1223 SSLCertificates []*ApplicationGatewaySSLCertificate `json:"sslCertificates,omitempty"` 1224 1225 // SSL policy of the application gateway resource. 1226 SSLPolicy *ApplicationGatewaySSLPolicy `json:"sslPolicy,omitempty"` 1227 1228 // 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]. 1229 SSLProfiles []*ApplicationGatewaySSLProfile `json:"sslProfiles,omitempty"` 1230 1231 // Trusted client certificates of the application gateway resource. For default limits, see Application Gateway limits 1232 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1233 TrustedClientCertificates []*ApplicationGatewayTrustedClientCertificate `json:"trustedClientCertificates,omitempty"` 1234 1235 // Trusted Root certificates of the application gateway resource. For default limits, see Application Gateway limits 1236 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1237 TrustedRootCertificates []*ApplicationGatewayTrustedRootCertificate `json:"trustedRootCertificates,omitempty"` 1238 1239 // 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]. 1240 URLPathMaps []*ApplicationGatewayURLPathMap `json:"urlPathMaps,omitempty"` 1241 1242 // Web application firewall configuration. 1243 WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration `json:"webApplicationFirewallConfiguration,omitempty"` 1244 1245 // READ-ONLY; Operational state of the application gateway resource. 1246 OperationalState *ApplicationGatewayOperationalState `json:"operationalState,omitempty" azure:"ro"` 1247 1248 // READ-ONLY; Private Endpoint connections on application gateway. 1249 PrivateEndpointConnections []*ApplicationGatewayPrivateEndpointConnection `json:"privateEndpointConnections,omitempty" azure:"ro"` 1250 1251 // READ-ONLY; The provisioning state of the application gateway resource. 1252 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1253 1254 // READ-ONLY; The resource GUID property of the application gateway resource. 1255 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 1256} 1257 1258// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPropertiesFormat. 1259func (a ApplicationGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { 1260 objectMap := make(map[string]interface{}) 1261 populate(objectMap, "authenticationCertificates", a.AuthenticationCertificates) 1262 populate(objectMap, "autoscaleConfiguration", a.AutoscaleConfiguration) 1263 populate(objectMap, "backendAddressPools", a.BackendAddressPools) 1264 populate(objectMap, "backendHttpSettingsCollection", a.BackendHTTPSettingsCollection) 1265 populate(objectMap, "customErrorConfigurations", a.CustomErrorConfigurations) 1266 populate(objectMap, "enableFips", a.EnableFips) 1267 populate(objectMap, "enableHttp2", a.EnableHTTP2) 1268 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 1269 populate(objectMap, "forceFirewallPolicyAssociation", a.ForceFirewallPolicyAssociation) 1270 populate(objectMap, "frontendIPConfigurations", a.FrontendIPConfigurations) 1271 populate(objectMap, "frontendPorts", a.FrontendPorts) 1272 populate(objectMap, "gatewayIPConfigurations", a.GatewayIPConfigurations) 1273 populate(objectMap, "httpListeners", a.HTTPListeners) 1274 populate(objectMap, "operationalState", a.OperationalState) 1275 populate(objectMap, "privateEndpointConnections", a.PrivateEndpointConnections) 1276 populate(objectMap, "privateLinkConfigurations", a.PrivateLinkConfigurations) 1277 populate(objectMap, "probes", a.Probes) 1278 populate(objectMap, "provisioningState", a.ProvisioningState) 1279 populate(objectMap, "redirectConfigurations", a.RedirectConfigurations) 1280 populate(objectMap, "requestRoutingRules", a.RequestRoutingRules) 1281 populate(objectMap, "resourceGuid", a.ResourceGUID) 1282 populate(objectMap, "rewriteRuleSets", a.RewriteRuleSets) 1283 populate(objectMap, "sku", a.SKU) 1284 populate(objectMap, "sslCertificates", a.SSLCertificates) 1285 populate(objectMap, "sslPolicy", a.SSLPolicy) 1286 populate(objectMap, "sslProfiles", a.SSLProfiles) 1287 populate(objectMap, "trustedClientCertificates", a.TrustedClientCertificates) 1288 populate(objectMap, "trustedRootCertificates", a.TrustedRootCertificates) 1289 populate(objectMap, "urlPathMaps", a.URLPathMaps) 1290 populate(objectMap, "webApplicationFirewallConfiguration", a.WebApplicationFirewallConfiguration) 1291 return json.Marshal(objectMap) 1292} 1293 1294// ApplicationGatewayRedirectConfiguration - Redirect configuration of an application gateway. 1295type ApplicationGatewayRedirectConfiguration struct { 1296 SubResource 1297 // Name of the redirect configuration that is unique within an Application Gateway. 1298 Name *string `json:"name,omitempty"` 1299 1300 // Properties of the application gateway redirect configuration. 1301 Properties *ApplicationGatewayRedirectConfigurationPropertiesFormat `json:"properties,omitempty"` 1302 1303 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1304 Etag *string `json:"etag,omitempty" azure:"ro"` 1305 1306 // READ-ONLY; Type of the resource. 1307 Type *string `json:"type,omitempty" azure:"ro"` 1308} 1309 1310// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRedirectConfiguration. 1311func (a ApplicationGatewayRedirectConfiguration) MarshalJSON() ([]byte, error) { 1312 objectMap := a.SubResource.marshalInternal() 1313 populate(objectMap, "etag", a.Etag) 1314 populate(objectMap, "name", a.Name) 1315 populate(objectMap, "properties", a.Properties) 1316 populate(objectMap, "type", a.Type) 1317 return json.Marshal(objectMap) 1318} 1319 1320// ApplicationGatewayRedirectConfigurationPropertiesFormat - Properties of redirect configuration of the application gateway. 1321type ApplicationGatewayRedirectConfigurationPropertiesFormat struct { 1322 // Include path in the redirected url. 1323 IncludePath *bool `json:"includePath,omitempty"` 1324 1325 // Include query string in the redirected url. 1326 IncludeQueryString *bool `json:"includeQueryString,omitempty"` 1327 1328 // Path rules specifying redirect configuration. 1329 PathRules []*SubResource `json:"pathRules,omitempty"` 1330 1331 // HTTP redirection type. 1332 RedirectType *ApplicationGatewayRedirectType `json:"redirectType,omitempty"` 1333 1334 // Request routing specifying redirect configuration. 1335 RequestRoutingRules []*SubResource `json:"requestRoutingRules,omitempty"` 1336 1337 // Reference to a listener to redirect the request to. 1338 TargetListener *SubResource `json:"targetListener,omitempty"` 1339 1340 // Url to redirect the request to. 1341 TargetURL *string `json:"targetUrl,omitempty"` 1342 1343 // Url path maps specifying default redirect configuration. 1344 URLPathMaps []*SubResource `json:"urlPathMaps,omitempty"` 1345} 1346 1347// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRedirectConfigurationPropertiesFormat. 1348func (a ApplicationGatewayRedirectConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 1349 objectMap := make(map[string]interface{}) 1350 populate(objectMap, "includePath", a.IncludePath) 1351 populate(objectMap, "includeQueryString", a.IncludeQueryString) 1352 populate(objectMap, "pathRules", a.PathRules) 1353 populate(objectMap, "redirectType", a.RedirectType) 1354 populate(objectMap, "requestRoutingRules", a.RequestRoutingRules) 1355 populate(objectMap, "targetListener", a.TargetListener) 1356 populate(objectMap, "targetUrl", a.TargetURL) 1357 populate(objectMap, "urlPathMaps", a.URLPathMaps) 1358 return json.Marshal(objectMap) 1359} 1360 1361// ApplicationGatewayRequestRoutingRule - Request routing rule of an application gateway. 1362type ApplicationGatewayRequestRoutingRule struct { 1363 SubResource 1364 // Name of the request routing rule that is unique within an Application Gateway. 1365 Name *string `json:"name,omitempty"` 1366 1367 // Properties of the application gateway request routing rule. 1368 Properties *ApplicationGatewayRequestRoutingRulePropertiesFormat `json:"properties,omitempty"` 1369 1370 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1371 Etag *string `json:"etag,omitempty" azure:"ro"` 1372 1373 // READ-ONLY; Type of the resource. 1374 Type *string `json:"type,omitempty" azure:"ro"` 1375} 1376 1377// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRequestRoutingRule. 1378func (a ApplicationGatewayRequestRoutingRule) MarshalJSON() ([]byte, error) { 1379 objectMap := a.SubResource.marshalInternal() 1380 populate(objectMap, "etag", a.Etag) 1381 populate(objectMap, "name", a.Name) 1382 populate(objectMap, "properties", a.Properties) 1383 populate(objectMap, "type", a.Type) 1384 return json.Marshal(objectMap) 1385} 1386 1387// ApplicationGatewayRequestRoutingRulePropertiesFormat - Properties of request routing rule of the application gateway. 1388type ApplicationGatewayRequestRoutingRulePropertiesFormat struct { 1389 // Backend address pool resource of the application gateway. 1390 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 1391 1392 // Backend http settings resource of the application gateway. 1393 BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` 1394 1395 // Http listener resource of the application gateway. 1396 HTTPListener *SubResource `json:"httpListener,omitempty"` 1397 1398 // Priority of the request routing rule. 1399 Priority *int32 `json:"priority,omitempty"` 1400 1401 // Redirect configuration resource of the application gateway. 1402 RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` 1403 1404 // Rewrite Rule Set resource in Basic rule of the application gateway. 1405 RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` 1406 1407 // Rule type. 1408 RuleType *ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"` 1409 1410 // URL path map resource of the application gateway. 1411 URLPathMap *SubResource `json:"urlPathMap,omitempty"` 1412 1413 // READ-ONLY; The provisioning state of the request routing rule resource. 1414 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1415} 1416 1417// ApplicationGatewayRewriteRule - Rewrite rule of an application gateway. 1418type ApplicationGatewayRewriteRule struct { 1419 // Set of actions to be done as part of the rewrite Rule. 1420 ActionSet *ApplicationGatewayRewriteRuleActionSet `json:"actionSet,omitempty"` 1421 1422 // Conditions based on which the action set execution will be evaluated. 1423 Conditions []*ApplicationGatewayRewriteRuleCondition `json:"conditions,omitempty"` 1424 1425 // Name of the rewrite rule that is unique within an Application Gateway. 1426 Name *string `json:"name,omitempty"` 1427 1428 // Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet. 1429 RuleSequence *int32 `json:"ruleSequence,omitempty"` 1430} 1431 1432// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRule. 1433func (a ApplicationGatewayRewriteRule) MarshalJSON() ([]byte, error) { 1434 objectMap := make(map[string]interface{}) 1435 populate(objectMap, "actionSet", a.ActionSet) 1436 populate(objectMap, "conditions", a.Conditions) 1437 populate(objectMap, "name", a.Name) 1438 populate(objectMap, "ruleSequence", a.RuleSequence) 1439 return json.Marshal(objectMap) 1440} 1441 1442// ApplicationGatewayRewriteRuleActionSet - Set of actions in the Rewrite Rule in Application Gateway. 1443type ApplicationGatewayRewriteRuleActionSet struct { 1444 // Request Header Actions in the Action Set. 1445 RequestHeaderConfigurations []*ApplicationGatewayHeaderConfiguration `json:"requestHeaderConfigurations,omitempty"` 1446 1447 // Response Header Actions in the Action Set. 1448 ResponseHeaderConfigurations []*ApplicationGatewayHeaderConfiguration `json:"responseHeaderConfigurations,omitempty"` 1449 1450 // Url Configuration Action in the Action Set. 1451 URLConfiguration *ApplicationGatewayURLConfiguration `json:"urlConfiguration,omitempty"` 1452} 1453 1454// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleActionSet. 1455func (a ApplicationGatewayRewriteRuleActionSet) MarshalJSON() ([]byte, error) { 1456 objectMap := make(map[string]interface{}) 1457 populate(objectMap, "requestHeaderConfigurations", a.RequestHeaderConfigurations) 1458 populate(objectMap, "responseHeaderConfigurations", a.ResponseHeaderConfigurations) 1459 populate(objectMap, "urlConfiguration", a.URLConfiguration) 1460 return json.Marshal(objectMap) 1461} 1462 1463// ApplicationGatewayRewriteRuleCondition - Set of conditions in the Rewrite Rule in Application Gateway. 1464type ApplicationGatewayRewriteRuleCondition struct { 1465 // Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison. 1466 IgnoreCase *bool `json:"ignoreCase,omitempty"` 1467 1468 // Setting this value as truth will force to check the negation of the condition given by the user. 1469 Negate *bool `json:"negate,omitempty"` 1470 1471 // The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition. 1472 Pattern *string `json:"pattern,omitempty"` 1473 1474 // The condition parameter of the RewriteRuleCondition. 1475 Variable *string `json:"variable,omitempty"` 1476} 1477 1478// ApplicationGatewayRewriteRuleSet - Rewrite rule set of an application gateway. 1479type ApplicationGatewayRewriteRuleSet struct { 1480 SubResource 1481 // Name of the rewrite rule set that is unique within an Application Gateway. 1482 Name *string `json:"name,omitempty"` 1483 1484 // Properties of the application gateway rewrite rule set. 1485 Properties *ApplicationGatewayRewriteRuleSetPropertiesFormat `json:"properties,omitempty"` 1486 1487 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1488 Etag *string `json:"etag,omitempty" azure:"ro"` 1489} 1490 1491// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleSet. 1492func (a ApplicationGatewayRewriteRuleSet) MarshalJSON() ([]byte, error) { 1493 objectMap := a.SubResource.marshalInternal() 1494 populate(objectMap, "etag", a.Etag) 1495 populate(objectMap, "name", a.Name) 1496 populate(objectMap, "properties", a.Properties) 1497 return json.Marshal(objectMap) 1498} 1499 1500// ApplicationGatewayRewriteRuleSetPropertiesFormat - Properties of rewrite rule set of the application gateway. 1501type ApplicationGatewayRewriteRuleSetPropertiesFormat struct { 1502 // Rewrite rules in the rewrite rule set. 1503 RewriteRules []*ApplicationGatewayRewriteRule `json:"rewriteRules,omitempty"` 1504 1505 // READ-ONLY; The provisioning state of the rewrite rule set resource. 1506 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1507} 1508 1509// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleSetPropertiesFormat. 1510func (a ApplicationGatewayRewriteRuleSetPropertiesFormat) MarshalJSON() ([]byte, error) { 1511 objectMap := make(map[string]interface{}) 1512 populate(objectMap, "provisioningState", a.ProvisioningState) 1513 populate(objectMap, "rewriteRules", a.RewriteRules) 1514 return json.Marshal(objectMap) 1515} 1516 1517// ApplicationGatewaySKU - SKU of an application gateway. 1518type ApplicationGatewaySKU struct { 1519 // Capacity (instance count) of an application gateway. 1520 Capacity *int32 `json:"capacity,omitempty"` 1521 1522 // Name of an application gateway SKU. 1523 Name *ApplicationGatewaySKUName `json:"name,omitempty"` 1524 1525 // Tier of an application gateway. 1526 Tier *ApplicationGatewayTier `json:"tier,omitempty"` 1527} 1528 1529// ApplicationGatewaySSLCertificate - SSL certificates of an application gateway. 1530type ApplicationGatewaySSLCertificate struct { 1531 SubResource 1532 // Name of the SSL certificate that is unique within an Application Gateway. 1533 Name *string `json:"name,omitempty"` 1534 1535 // Properties of the application gateway SSL certificate. 1536 Properties *ApplicationGatewaySSLCertificatePropertiesFormat `json:"properties,omitempty"` 1537 1538 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1539 Etag *string `json:"etag,omitempty" azure:"ro"` 1540 1541 // READ-ONLY; Type of the resource. 1542 Type *string `json:"type,omitempty" azure:"ro"` 1543} 1544 1545// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLCertificate. 1546func (a ApplicationGatewaySSLCertificate) MarshalJSON() ([]byte, error) { 1547 objectMap := a.SubResource.marshalInternal() 1548 populate(objectMap, "etag", a.Etag) 1549 populate(objectMap, "name", a.Name) 1550 populate(objectMap, "properties", a.Properties) 1551 populate(objectMap, "type", a.Type) 1552 return json.Marshal(objectMap) 1553} 1554 1555// ApplicationGatewaySSLCertificatePropertiesFormat - Properties of SSL certificates of an application gateway. 1556type ApplicationGatewaySSLCertificatePropertiesFormat struct { 1557 // Base-64 encoded pfx certificate. Only applicable in PUT Request. 1558 Data *string `json:"data,omitempty"` 1559 1560 // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. 1561 KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` 1562 1563 // Password for the pfx file specified in data. Only applicable in PUT request. 1564 Password *string `json:"password,omitempty"` 1565 1566 // READ-ONLY; The provisioning state of the SSL certificate resource. 1567 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1568 1569 // READ-ONLY; Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. 1570 PublicCertData *string `json:"publicCertData,omitempty" azure:"ro"` 1571} 1572 1573// ApplicationGatewaySSLPolicy - Application Gateway Ssl policy. 1574type ApplicationGatewaySSLPolicy struct { 1575 // Ssl cipher suites to be enabled in the specified order to application gateway. 1576 CipherSuites []*ApplicationGatewaySSLCipherSuite `json:"cipherSuites,omitempty"` 1577 1578 // Ssl protocols to be disabled on application gateway. 1579 DisabledSSLProtocols []*ApplicationGatewaySSLProtocol `json:"disabledSslProtocols,omitempty"` 1580 1581 // Minimum version of Ssl protocol to be supported on application gateway. 1582 MinProtocolVersion *ApplicationGatewaySSLProtocol `json:"minProtocolVersion,omitempty"` 1583 1584 // Name of Ssl predefined policy. 1585 PolicyName *ApplicationGatewaySSLPolicyName `json:"policyName,omitempty"` 1586 1587 // Type of Ssl Policy. 1588 PolicyType *ApplicationGatewaySSLPolicyType `json:"policyType,omitempty"` 1589} 1590 1591// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPolicy. 1592func (a ApplicationGatewaySSLPolicy) MarshalJSON() ([]byte, error) { 1593 objectMap := make(map[string]interface{}) 1594 populate(objectMap, "cipherSuites", a.CipherSuites) 1595 populate(objectMap, "disabledSslProtocols", a.DisabledSSLProtocols) 1596 populate(objectMap, "minProtocolVersion", a.MinProtocolVersion) 1597 populate(objectMap, "policyName", a.PolicyName) 1598 populate(objectMap, "policyType", a.PolicyType) 1599 return json.Marshal(objectMap) 1600} 1601 1602// ApplicationGatewaySSLPredefinedPolicy - An Ssl predefined policy. 1603type ApplicationGatewaySSLPredefinedPolicy struct { 1604 SubResource 1605 // Name of the Ssl predefined policy. 1606 Name *string `json:"name,omitempty"` 1607 1608 // Properties of the application gateway SSL predefined policy. 1609 Properties *ApplicationGatewaySSLPredefinedPolicyPropertiesFormat `json:"properties,omitempty"` 1610} 1611 1612// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPredefinedPolicy. 1613func (a ApplicationGatewaySSLPredefinedPolicy) MarshalJSON() ([]byte, error) { 1614 objectMap := a.SubResource.marshalInternal() 1615 populate(objectMap, "name", a.Name) 1616 populate(objectMap, "properties", a.Properties) 1617 return json.Marshal(objectMap) 1618} 1619 1620// ApplicationGatewaySSLPredefinedPolicyPropertiesFormat - Properties of ApplicationGatewaySslPredefinedPolicy. 1621type ApplicationGatewaySSLPredefinedPolicyPropertiesFormat struct { 1622 // Ssl cipher suites to be enabled in the specified order for application gateway. 1623 CipherSuites []*ApplicationGatewaySSLCipherSuite `json:"cipherSuites,omitempty"` 1624 1625 // Minimum version of Ssl protocol to be supported on application gateway. 1626 MinProtocolVersion *ApplicationGatewaySSLProtocol `json:"minProtocolVersion,omitempty"` 1627} 1628 1629// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPredefinedPolicyPropertiesFormat. 1630func (a ApplicationGatewaySSLPredefinedPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 1631 objectMap := make(map[string]interface{}) 1632 populate(objectMap, "cipherSuites", a.CipherSuites) 1633 populate(objectMap, "minProtocolVersion", a.MinProtocolVersion) 1634 return json.Marshal(objectMap) 1635} 1636 1637// ApplicationGatewaySSLProfile - SSL profile of an application gateway. 1638type ApplicationGatewaySSLProfile struct { 1639 SubResource 1640 // Name of the SSL profile that is unique within an Application Gateway. 1641 Name *string `json:"name,omitempty"` 1642 1643 // Properties of the application gateway SSL profile. 1644 Properties *ApplicationGatewaySSLProfilePropertiesFormat `json:"properties,omitempty"` 1645 1646 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1647 Etag *string `json:"etag,omitempty" azure:"ro"` 1648 1649 // READ-ONLY; Type of the resource. 1650 Type *string `json:"type,omitempty" azure:"ro"` 1651} 1652 1653// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLProfile. 1654func (a ApplicationGatewaySSLProfile) MarshalJSON() ([]byte, error) { 1655 objectMap := a.SubResource.marshalInternal() 1656 populate(objectMap, "etag", a.Etag) 1657 populate(objectMap, "name", a.Name) 1658 populate(objectMap, "properties", a.Properties) 1659 populate(objectMap, "type", a.Type) 1660 return json.Marshal(objectMap) 1661} 1662 1663// ApplicationGatewaySSLProfilePropertiesFormat - Properties of SSL profile of an application gateway. 1664type ApplicationGatewaySSLProfilePropertiesFormat struct { 1665 // Client authentication configuration of the application gateway resource. 1666 ClientAuthConfiguration *ApplicationGatewayClientAuthConfiguration `json:"clientAuthConfiguration,omitempty"` 1667 1668 // SSL policy of the application gateway resource. 1669 SSLPolicy *ApplicationGatewaySSLPolicy `json:"sslPolicy,omitempty"` 1670 1671 // Array of references to application gateway trusted client certificates. 1672 TrustedClientCertificates []*SubResource `json:"trustedClientCertificates,omitempty"` 1673 1674 // READ-ONLY; The provisioning state of the HTTP listener resource. 1675 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1676} 1677 1678// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLProfilePropertiesFormat. 1679func (a ApplicationGatewaySSLProfilePropertiesFormat) MarshalJSON() ([]byte, error) { 1680 objectMap := make(map[string]interface{}) 1681 populate(objectMap, "clientAuthConfiguration", a.ClientAuthConfiguration) 1682 populate(objectMap, "provisioningState", a.ProvisioningState) 1683 populate(objectMap, "sslPolicy", a.SSLPolicy) 1684 populate(objectMap, "trustedClientCertificates", a.TrustedClientCertificates) 1685 return json.Marshal(objectMap) 1686} 1687 1688// ApplicationGatewayTrustedClientCertificate - Trusted client certificates of an application gateway. 1689type ApplicationGatewayTrustedClientCertificate struct { 1690 SubResource 1691 // Name of the trusted client certificate that is unique within an Application Gateway. 1692 Name *string `json:"name,omitempty"` 1693 1694 // Properties of the application gateway trusted client certificate. 1695 Properties *ApplicationGatewayTrustedClientCertificatePropertiesFormat `json:"properties,omitempty"` 1696 1697 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1698 Etag *string `json:"etag,omitempty" azure:"ro"` 1699 1700 // READ-ONLY; Type of the resource. 1701 Type *string `json:"type,omitempty" azure:"ro"` 1702} 1703 1704// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedClientCertificate. 1705func (a ApplicationGatewayTrustedClientCertificate) MarshalJSON() ([]byte, error) { 1706 objectMap := a.SubResource.marshalInternal() 1707 populate(objectMap, "etag", a.Etag) 1708 populate(objectMap, "name", a.Name) 1709 populate(objectMap, "properties", a.Properties) 1710 populate(objectMap, "type", a.Type) 1711 return json.Marshal(objectMap) 1712} 1713 1714// ApplicationGatewayTrustedClientCertificatePropertiesFormat - Trusted client certificates properties of an application gateway. 1715type ApplicationGatewayTrustedClientCertificatePropertiesFormat struct { 1716 // Certificate public data. 1717 Data *string `json:"data,omitempty"` 1718 1719 // READ-ONLY; Distinguished name of client certificate issuer. 1720 ClientCertIssuerDN *string `json:"clientCertIssuerDN,omitempty" azure:"ro"` 1721 1722 // READ-ONLY; The provisioning state of the trusted client certificate resource. 1723 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1724 1725 // READ-ONLY; Validated certificate data. 1726 ValidatedCertData *string `json:"validatedCertData,omitempty" azure:"ro"` 1727} 1728 1729// ApplicationGatewayTrustedRootCertificate - Trusted Root certificates of an application gateway. 1730type ApplicationGatewayTrustedRootCertificate struct { 1731 SubResource 1732 // Name of the trusted root certificate that is unique within an Application Gateway. 1733 Name *string `json:"name,omitempty"` 1734 1735 // Properties of the application gateway trusted root certificate. 1736 Properties *ApplicationGatewayTrustedRootCertificatePropertiesFormat `json:"properties,omitempty"` 1737 1738 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1739 Etag *string `json:"etag,omitempty" azure:"ro"` 1740 1741 // READ-ONLY; Type of the resource. 1742 Type *string `json:"type,omitempty" azure:"ro"` 1743} 1744 1745// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedRootCertificate. 1746func (a ApplicationGatewayTrustedRootCertificate) MarshalJSON() ([]byte, error) { 1747 objectMap := a.SubResource.marshalInternal() 1748 populate(objectMap, "etag", a.Etag) 1749 populate(objectMap, "name", a.Name) 1750 populate(objectMap, "properties", a.Properties) 1751 populate(objectMap, "type", a.Type) 1752 return json.Marshal(objectMap) 1753} 1754 1755// ApplicationGatewayTrustedRootCertificatePropertiesFormat - Trusted Root certificates properties of an application gateway. 1756type ApplicationGatewayTrustedRootCertificatePropertiesFormat struct { 1757 // Certificate public data. 1758 Data *string `json:"data,omitempty"` 1759 1760 // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. 1761 KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` 1762 1763 // READ-ONLY; The provisioning state of the trusted root certificate resource. 1764 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1765} 1766 1767// ApplicationGatewayURLConfiguration - Url configuration of the Actions set in Application Gateway. 1768type ApplicationGatewayURLConfiguration struct { 1769 // Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null. 1770 ModifiedPath *string `json:"modifiedPath,omitempty"` 1771 1772 // Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null. 1773 ModifiedQueryString *string `json:"modifiedQueryString,omitempty"` 1774 1775 // 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. 1776 Reroute *bool `json:"reroute,omitempty"` 1777} 1778 1779// ApplicationGatewayURLPathMap - UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 1780type ApplicationGatewayURLPathMap struct { 1781 SubResource 1782 // Name of the URL path map that is unique within an Application Gateway. 1783 Name *string `json:"name,omitempty"` 1784 1785 // Properties of the application gateway URL path map. 1786 Properties *ApplicationGatewayURLPathMapPropertiesFormat `json:"properties,omitempty"` 1787 1788 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1789 Etag *string `json:"etag,omitempty" azure:"ro"` 1790 1791 // READ-ONLY; Type of the resource. 1792 Type *string `json:"type,omitempty" azure:"ro"` 1793} 1794 1795// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayURLPathMap. 1796func (a ApplicationGatewayURLPathMap) MarshalJSON() ([]byte, error) { 1797 objectMap := a.SubResource.marshalInternal() 1798 populate(objectMap, "etag", a.Etag) 1799 populate(objectMap, "name", a.Name) 1800 populate(objectMap, "properties", a.Properties) 1801 populate(objectMap, "type", a.Type) 1802 return json.Marshal(objectMap) 1803} 1804 1805// ApplicationGatewayURLPathMapPropertiesFormat - Properties of UrlPathMap of the application gateway. 1806type ApplicationGatewayURLPathMapPropertiesFormat struct { 1807 // Default backend address pool resource of URL path map. 1808 DefaultBackendAddressPool *SubResource `json:"defaultBackendAddressPool,omitempty"` 1809 1810 // Default backend http settings resource of URL path map. 1811 DefaultBackendHTTPSettings *SubResource `json:"defaultBackendHttpSettings,omitempty"` 1812 1813 // Default redirect configuration resource of URL path map. 1814 DefaultRedirectConfiguration *SubResource `json:"defaultRedirectConfiguration,omitempty"` 1815 1816 // Default Rewrite rule set resource of URL path map. 1817 DefaultRewriteRuleSet *SubResource `json:"defaultRewriteRuleSet,omitempty"` 1818 1819 // Path rule of URL path map resource. 1820 PathRules []*ApplicationGatewayPathRule `json:"pathRules,omitempty"` 1821 1822 // READ-ONLY; The provisioning state of the URL path map resource. 1823 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1824} 1825 1826// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayURLPathMapPropertiesFormat. 1827func (a ApplicationGatewayURLPathMapPropertiesFormat) MarshalJSON() ([]byte, error) { 1828 objectMap := make(map[string]interface{}) 1829 populate(objectMap, "defaultBackendAddressPool", a.DefaultBackendAddressPool) 1830 populate(objectMap, "defaultBackendHttpSettings", a.DefaultBackendHTTPSettings) 1831 populate(objectMap, "defaultRedirectConfiguration", a.DefaultRedirectConfiguration) 1832 populate(objectMap, "defaultRewriteRuleSet", a.DefaultRewriteRuleSet) 1833 populate(objectMap, "pathRules", a.PathRules) 1834 populate(objectMap, "provisioningState", a.ProvisioningState) 1835 return json.Marshal(objectMap) 1836} 1837 1838// ApplicationGatewayWebApplicationFirewallConfiguration - Application gateway web application firewall configuration. 1839type ApplicationGatewayWebApplicationFirewallConfiguration struct { 1840 // REQUIRED; Whether the web application firewall is enabled or not. 1841 Enabled *bool `json:"enabled,omitempty"` 1842 1843 // REQUIRED; Web application firewall mode. 1844 FirewallMode *ApplicationGatewayFirewallMode `json:"firewallMode,omitempty"` 1845 1846 // REQUIRED; The type of the web application firewall rule set. Possible values are: 'OWASP'. 1847 RuleSetType *string `json:"ruleSetType,omitempty"` 1848 1849 // REQUIRED; The version of the rule set type. 1850 RuleSetVersion *string `json:"ruleSetVersion,omitempty"` 1851 1852 // The disabled rule groups. 1853 DisabledRuleGroups []*ApplicationGatewayFirewallDisabledRuleGroup `json:"disabledRuleGroups,omitempty"` 1854 1855 // The exclusion list. 1856 Exclusions []*ApplicationGatewayFirewallExclusion `json:"exclusions,omitempty"` 1857 1858 // Maximum file upload size in Mb for WAF. 1859 FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` 1860 1861 // Maximum request body size for WAF. 1862 MaxRequestBodySize *int32 `json:"maxRequestBodySize,omitempty"` 1863 1864 // Maximum request body size in Kb for WAF. 1865 MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` 1866 1867 // Whether allow WAF to check request Body. 1868 RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` 1869} 1870 1871// MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayWebApplicationFirewallConfiguration. 1872func (a ApplicationGatewayWebApplicationFirewallConfiguration) MarshalJSON() ([]byte, error) { 1873 objectMap := make(map[string]interface{}) 1874 populate(objectMap, "disabledRuleGroups", a.DisabledRuleGroups) 1875 populate(objectMap, "enabled", a.Enabled) 1876 populate(objectMap, "exclusions", a.Exclusions) 1877 populate(objectMap, "fileUploadLimitInMb", a.FileUploadLimitInMb) 1878 populate(objectMap, "firewallMode", a.FirewallMode) 1879 populate(objectMap, "maxRequestBodySize", a.MaxRequestBodySize) 1880 populate(objectMap, "maxRequestBodySizeInKb", a.MaxRequestBodySizeInKb) 1881 populate(objectMap, "requestBodyCheck", a.RequestBodyCheck) 1882 populate(objectMap, "ruleSetType", a.RuleSetType) 1883 populate(objectMap, "ruleSetVersion", a.RuleSetVersion) 1884 return json.Marshal(objectMap) 1885} 1886 1887// ApplicationGatewaysBeginBackendHealthOnDemandOptions contains the optional parameters for the ApplicationGateways.BeginBackendHealthOnDemand method. 1888type ApplicationGatewaysBeginBackendHealthOnDemandOptions struct { 1889 // Expands BackendAddressPool and BackendHttpSettings referenced in backend health. 1890 Expand *string 1891} 1892 1893// ApplicationGatewaysBeginBackendHealthOptions contains the optional parameters for the ApplicationGateways.BeginBackendHealth method. 1894type ApplicationGatewaysBeginBackendHealthOptions struct { 1895 // Expands BackendAddressPool and BackendHttpSettings referenced in backend health. 1896 Expand *string 1897} 1898 1899// ApplicationGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the ApplicationGateways.BeginCreateOrUpdate method. 1900type ApplicationGatewaysBeginCreateOrUpdateOptions struct { 1901 // placeholder for future optional parameters 1902} 1903 1904// ApplicationGatewaysBeginDeleteOptions contains the optional parameters for the ApplicationGateways.BeginDelete method. 1905type ApplicationGatewaysBeginDeleteOptions struct { 1906 // placeholder for future optional parameters 1907} 1908 1909// ApplicationGatewaysBeginStartOptions contains the optional parameters for the ApplicationGateways.BeginStart method. 1910type ApplicationGatewaysBeginStartOptions struct { 1911 // placeholder for future optional parameters 1912} 1913 1914// ApplicationGatewaysBeginStopOptions contains the optional parameters for the ApplicationGateways.BeginStop method. 1915type ApplicationGatewaysBeginStopOptions struct { 1916 // placeholder for future optional parameters 1917} 1918 1919// ApplicationGatewaysGetOptions contains the optional parameters for the ApplicationGateways.Get method. 1920type ApplicationGatewaysGetOptions struct { 1921 // placeholder for future optional parameters 1922} 1923 1924// ApplicationGatewaysGetSSLPredefinedPolicyOptions contains the optional parameters for the ApplicationGateways.GetSSLPredefinedPolicy method. 1925type ApplicationGatewaysGetSSLPredefinedPolicyOptions struct { 1926 // placeholder for future optional parameters 1927} 1928 1929// ApplicationGatewaysListAllOptions contains the optional parameters for the ApplicationGateways.ListAll method. 1930type ApplicationGatewaysListAllOptions struct { 1931 // placeholder for future optional parameters 1932} 1933 1934// ApplicationGatewaysListAvailableRequestHeadersOptions contains the optional parameters for the ApplicationGateways.ListAvailableRequestHeaders method. 1935type ApplicationGatewaysListAvailableRequestHeadersOptions struct { 1936 // placeholder for future optional parameters 1937} 1938 1939// ApplicationGatewaysListAvailableResponseHeadersOptions contains the optional parameters for the ApplicationGateways.ListAvailableResponseHeaders method. 1940type ApplicationGatewaysListAvailableResponseHeadersOptions struct { 1941 // placeholder for future optional parameters 1942} 1943 1944// ApplicationGatewaysListAvailableSSLOptionsOptions contains the optional parameters for the ApplicationGateways.ListAvailableSSLOptions method. 1945type ApplicationGatewaysListAvailableSSLOptionsOptions struct { 1946 // placeholder for future optional parameters 1947} 1948 1949// ApplicationGatewaysListAvailableSSLPredefinedPoliciesOptions contains the optional parameters for the ApplicationGateways.ListAvailableSSLPredefinedPolicies 1950// method. 1951type ApplicationGatewaysListAvailableSSLPredefinedPoliciesOptions struct { 1952 // placeholder for future optional parameters 1953} 1954 1955// ApplicationGatewaysListAvailableServerVariablesOptions contains the optional parameters for the ApplicationGateways.ListAvailableServerVariables method. 1956type ApplicationGatewaysListAvailableServerVariablesOptions struct { 1957 // placeholder for future optional parameters 1958} 1959 1960// ApplicationGatewaysListAvailableWafRuleSetsOptions contains the optional parameters for the ApplicationGateways.ListAvailableWafRuleSets method. 1961type ApplicationGatewaysListAvailableWafRuleSetsOptions struct { 1962 // placeholder for future optional parameters 1963} 1964 1965// ApplicationGatewaysListOptions contains the optional parameters for the ApplicationGateways.List method. 1966type ApplicationGatewaysListOptions struct { 1967 // placeholder for future optional parameters 1968} 1969 1970// ApplicationGatewaysUpdateTagsOptions contains the optional parameters for the ApplicationGateways.UpdateTags method. 1971type ApplicationGatewaysUpdateTagsOptions struct { 1972 // placeholder for future optional parameters 1973} 1974 1975// ApplicationRule - Rule of type application. 1976type ApplicationRule struct { 1977 FirewallPolicyRule 1978 // List of destination IP addresses or Service Tags. 1979 DestinationAddresses []*string `json:"destinationAddresses,omitempty"` 1980 1981 // List of FQDN Tags for this rule. 1982 FqdnTags []*string `json:"fqdnTags,omitempty"` 1983 1984 // Array of Application Protocols. 1985 Protocols []*FirewallPolicyRuleApplicationProtocol `json:"protocols,omitempty"` 1986 1987 // List of source IP addresses for this rule. 1988 SourceAddresses []*string `json:"sourceAddresses,omitempty"` 1989 1990 // List of source IpGroups for this rule. 1991 SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` 1992 1993 // List of FQDNs for this rule. 1994 TargetFqdns []*string `json:"targetFqdns,omitempty"` 1995 1996 // List of Urls for this rule condition. 1997 TargetUrls []*string `json:"targetUrls,omitempty"` 1998 1999 // Terminate TLS connections for this rule. 2000 TerminateTLS *bool `json:"terminateTLS,omitempty"` 2001 2002 // List of destination azure web categories. 2003 WebCategories []*string `json:"webCategories,omitempty"` 2004} 2005 2006// MarshalJSON implements the json.Marshaller interface for type ApplicationRule. 2007func (a ApplicationRule) MarshalJSON() ([]byte, error) { 2008 objectMap := a.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeApplicationRule) 2009 populate(objectMap, "destinationAddresses", a.DestinationAddresses) 2010 populate(objectMap, "fqdnTags", a.FqdnTags) 2011 populate(objectMap, "protocols", a.Protocols) 2012 populate(objectMap, "sourceAddresses", a.SourceAddresses) 2013 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 2014 populate(objectMap, "targetFqdns", a.TargetFqdns) 2015 populate(objectMap, "targetUrls", a.TargetUrls) 2016 populate(objectMap, "terminateTLS", a.TerminateTLS) 2017 populate(objectMap, "webCategories", a.WebCategories) 2018 return json.Marshal(objectMap) 2019} 2020 2021// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationRule. 2022func (a *ApplicationRule) UnmarshalJSON(data []byte) error { 2023 var rawMsg map[string]json.RawMessage 2024 if err := json.Unmarshal(data, &rawMsg); err != nil { 2025 return err 2026 } 2027 for key, val := range rawMsg { 2028 var err error 2029 switch key { 2030 case "destinationAddresses": 2031 err = unpopulate(val, &a.DestinationAddresses) 2032 delete(rawMsg, key) 2033 case "fqdnTags": 2034 err = unpopulate(val, &a.FqdnTags) 2035 delete(rawMsg, key) 2036 case "protocols": 2037 err = unpopulate(val, &a.Protocols) 2038 delete(rawMsg, key) 2039 case "sourceAddresses": 2040 err = unpopulate(val, &a.SourceAddresses) 2041 delete(rawMsg, key) 2042 case "sourceIpGroups": 2043 err = unpopulate(val, &a.SourceIPGroups) 2044 delete(rawMsg, key) 2045 case "targetFqdns": 2046 err = unpopulate(val, &a.TargetFqdns) 2047 delete(rawMsg, key) 2048 case "targetUrls": 2049 err = unpopulate(val, &a.TargetUrls) 2050 delete(rawMsg, key) 2051 case "terminateTLS": 2052 err = unpopulate(val, &a.TerminateTLS) 2053 delete(rawMsg, key) 2054 case "webCategories": 2055 err = unpopulate(val, &a.WebCategories) 2056 delete(rawMsg, key) 2057 } 2058 if err != nil { 2059 return err 2060 } 2061 } 2062 return a.FirewallPolicyRule.unmarshalInternal(rawMsg) 2063} 2064 2065// ApplicationSecurityGroup - An application security group in a resource group. 2066type ApplicationSecurityGroup struct { 2067 Resource 2068 // Properties of the application security group. 2069 Properties *ApplicationSecurityGroupPropertiesFormat `json:"properties,omitempty"` 2070 2071 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2072 Etag *string `json:"etag,omitempty" azure:"ro"` 2073} 2074 2075// MarshalJSON implements the json.Marshaller interface for type ApplicationSecurityGroup. 2076func (a ApplicationSecurityGroup) MarshalJSON() ([]byte, error) { 2077 objectMap := a.Resource.marshalInternal() 2078 populate(objectMap, "etag", a.Etag) 2079 populate(objectMap, "properties", a.Properties) 2080 return json.Marshal(objectMap) 2081} 2082 2083// ApplicationSecurityGroupListResult - A list of application security groups. 2084type ApplicationSecurityGroupListResult struct { 2085 // A list of application security groups. 2086 Value []*ApplicationSecurityGroup `json:"value,omitempty"` 2087 2088 // READ-ONLY; The URL to get the next set of results. 2089 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 2090} 2091 2092// MarshalJSON implements the json.Marshaller interface for type ApplicationSecurityGroupListResult. 2093func (a ApplicationSecurityGroupListResult) MarshalJSON() ([]byte, error) { 2094 objectMap := make(map[string]interface{}) 2095 populate(objectMap, "nextLink", a.NextLink) 2096 populate(objectMap, "value", a.Value) 2097 return json.Marshal(objectMap) 2098} 2099 2100// ApplicationSecurityGroupPropertiesFormat - Application security group properties. 2101type ApplicationSecurityGroupPropertiesFormat struct { 2102 // READ-ONLY; The provisioning state of the application security group resource. 2103 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2104 2105 // READ-ONLY; The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name 2106 // or migrate the resource across subscriptions or resource 2107 // groups. 2108 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 2109} 2110 2111// ApplicationSecurityGroupsBeginCreateOrUpdateOptions contains the optional parameters for the ApplicationSecurityGroups.BeginCreateOrUpdate method. 2112type ApplicationSecurityGroupsBeginCreateOrUpdateOptions struct { 2113 // placeholder for future optional parameters 2114} 2115 2116// ApplicationSecurityGroupsBeginDeleteOptions contains the optional parameters for the ApplicationSecurityGroups.BeginDelete method. 2117type ApplicationSecurityGroupsBeginDeleteOptions struct { 2118 // placeholder for future optional parameters 2119} 2120 2121// ApplicationSecurityGroupsGetOptions contains the optional parameters for the ApplicationSecurityGroups.Get method. 2122type ApplicationSecurityGroupsGetOptions struct { 2123 // placeholder for future optional parameters 2124} 2125 2126// ApplicationSecurityGroupsListAllOptions contains the optional parameters for the ApplicationSecurityGroups.ListAll method. 2127type ApplicationSecurityGroupsListAllOptions struct { 2128 // placeholder for future optional parameters 2129} 2130 2131// ApplicationSecurityGroupsListOptions contains the optional parameters for the ApplicationSecurityGroups.List method. 2132type ApplicationSecurityGroupsListOptions struct { 2133 // placeholder for future optional parameters 2134} 2135 2136// ApplicationSecurityGroupsUpdateTagsOptions contains the optional parameters for the ApplicationSecurityGroups.UpdateTags method. 2137type ApplicationSecurityGroupsUpdateTagsOptions struct { 2138 // placeholder for future optional parameters 2139} 2140 2141// AuthorizationListResult - Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 2142type AuthorizationListResult struct { 2143 // The URL to get the next set of results. 2144 NextLink *string `json:"nextLink,omitempty"` 2145 2146 // The authorizations in an ExpressRoute Circuit. 2147 Value []*ExpressRouteCircuitAuthorization `json:"value,omitempty"` 2148} 2149 2150// MarshalJSON implements the json.Marshaller interface for type AuthorizationListResult. 2151func (a AuthorizationListResult) MarshalJSON() ([]byte, error) { 2152 objectMap := make(map[string]interface{}) 2153 populate(objectMap, "nextLink", a.NextLink) 2154 populate(objectMap, "value", a.Value) 2155 return json.Marshal(objectMap) 2156} 2157 2158// AuthorizationPropertiesFormat - Properties of ExpressRouteCircuitAuthorization. 2159type AuthorizationPropertiesFormat struct { 2160 // The authorization key. 2161 AuthorizationKey *string `json:"authorizationKey,omitempty"` 2162 2163 // The authorization use status. 2164 AuthorizationUseStatus *AuthorizationUseStatus `json:"authorizationUseStatus,omitempty"` 2165 2166 // READ-ONLY; The provisioning state of the authorization resource. 2167 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2168} 2169 2170// AutoApprovedPrivateLinkService - The information of an AutoApprovedPrivateLinkService. 2171type AutoApprovedPrivateLinkService struct { 2172 // The id of the private link service resource. 2173 PrivateLinkService *string `json:"privateLinkService,omitempty"` 2174} 2175 2176// AutoApprovedPrivateLinkServicesResult - An array of private link service id that can be linked to a private end point with auto approved. 2177type AutoApprovedPrivateLinkServicesResult struct { 2178 // An array of auto approved private link service. 2179 Value []*AutoApprovedPrivateLinkService `json:"value,omitempty"` 2180 2181 // READ-ONLY; The URL to get the next set of results. 2182 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 2183} 2184 2185// MarshalJSON implements the json.Marshaller interface for type AutoApprovedPrivateLinkServicesResult. 2186func (a AutoApprovedPrivateLinkServicesResult) MarshalJSON() ([]byte, error) { 2187 objectMap := make(map[string]interface{}) 2188 populate(objectMap, "nextLink", a.NextLink) 2189 populate(objectMap, "value", a.Value) 2190 return json.Marshal(objectMap) 2191} 2192 2193// Availability of the metric. 2194type Availability struct { 2195 // Duration of the availability blob. 2196 BlobDuration *string `json:"blobDuration,omitempty"` 2197 2198 // The retention of the availability. 2199 Retention *string `json:"retention,omitempty"` 2200 2201 // The time grain of the availability. 2202 TimeGrain *string `json:"timeGrain,omitempty"` 2203} 2204 2205// AvailableDelegation - The serviceName of an AvailableDelegation indicates a possible delegation for a subnet. 2206type AvailableDelegation struct { 2207 // The actions permitted to the service upon delegation. 2208 Actions []*string `json:"actions,omitempty"` 2209 2210 // A unique identifier of the AvailableDelegation resource. 2211 ID *string `json:"id,omitempty"` 2212 2213 // The name of the AvailableDelegation resource. 2214 Name *string `json:"name,omitempty"` 2215 2216 // The name of the service and resource. 2217 ServiceName *string `json:"serviceName,omitempty"` 2218 2219 // Resource type. 2220 Type *string `json:"type,omitempty"` 2221} 2222 2223// MarshalJSON implements the json.Marshaller interface for type AvailableDelegation. 2224func (a AvailableDelegation) MarshalJSON() ([]byte, error) { 2225 objectMap := make(map[string]interface{}) 2226 populate(objectMap, "actions", a.Actions) 2227 populate(objectMap, "id", a.ID) 2228 populate(objectMap, "name", a.Name) 2229 populate(objectMap, "serviceName", a.ServiceName) 2230 populate(objectMap, "type", a.Type) 2231 return json.Marshal(objectMap) 2232} 2233 2234// AvailableDelegationsListOptions contains the optional parameters for the AvailableDelegations.List method. 2235type AvailableDelegationsListOptions struct { 2236 // placeholder for future optional parameters 2237} 2238 2239// AvailableDelegationsResult - An array of available delegations. 2240type AvailableDelegationsResult struct { 2241 // An array of available delegations. 2242 Value []*AvailableDelegation `json:"value,omitempty"` 2243 2244 // READ-ONLY; The URL to get the next set of results. 2245 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 2246} 2247 2248// MarshalJSON implements the json.Marshaller interface for type AvailableDelegationsResult. 2249func (a AvailableDelegationsResult) MarshalJSON() ([]byte, error) { 2250 objectMap := make(map[string]interface{}) 2251 populate(objectMap, "nextLink", a.NextLink) 2252 populate(objectMap, "value", a.Value) 2253 return json.Marshal(objectMap) 2254} 2255 2256// AvailableEndpointServicesListOptions contains the optional parameters for the AvailableEndpointServices.List method. 2257type AvailableEndpointServicesListOptions struct { 2258 // placeholder for future optional parameters 2259} 2260 2261// AvailablePrivateEndpointType - The information of an AvailablePrivateEndpointType. 2262type AvailablePrivateEndpointType struct { 2263 // Display name of the resource. 2264 DisplayName *string `json:"displayName,omitempty"` 2265 2266 // A unique identifier of the AvailablePrivateEndpoint Type resource. 2267 ID *string `json:"id,omitempty"` 2268 2269 // The name of the service and resource. 2270 Name *string `json:"name,omitempty"` 2271 2272 // The name of the service and resource. 2273 ResourceName *string `json:"resourceName,omitempty"` 2274 2275 // Resource type. 2276 Type *string `json:"type,omitempty"` 2277} 2278 2279// AvailablePrivateEndpointTypesListByResourceGroupOptions contains the optional parameters for the AvailablePrivateEndpointTypes.ListByResourceGroup method. 2280type AvailablePrivateEndpointTypesListByResourceGroupOptions struct { 2281 // placeholder for future optional parameters 2282} 2283 2284// AvailablePrivateEndpointTypesListOptions contains the optional parameters for the AvailablePrivateEndpointTypes.List method. 2285type AvailablePrivateEndpointTypesListOptions struct { 2286 // placeholder for future optional parameters 2287} 2288 2289// AvailablePrivateEndpointTypesResult - An array of available PrivateEndpoint types. 2290type AvailablePrivateEndpointTypesResult struct { 2291 // An array of available privateEndpoint type. 2292 Value []*AvailablePrivateEndpointType `json:"value,omitempty"` 2293 2294 // READ-ONLY; The URL to get the next set of results. 2295 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 2296} 2297 2298// MarshalJSON implements the json.Marshaller interface for type AvailablePrivateEndpointTypesResult. 2299func (a AvailablePrivateEndpointTypesResult) MarshalJSON() ([]byte, error) { 2300 objectMap := make(map[string]interface{}) 2301 populate(objectMap, "nextLink", a.NextLink) 2302 populate(objectMap, "value", a.Value) 2303 return json.Marshal(objectMap) 2304} 2305 2306// AvailableProvidersList - List of available countries with details. 2307type AvailableProvidersList struct { 2308 // REQUIRED; List of available countries. 2309 Countries []*AvailableProvidersListCountry `json:"countries,omitempty"` 2310} 2311 2312// MarshalJSON implements the json.Marshaller interface for type AvailableProvidersList. 2313func (a AvailableProvidersList) MarshalJSON() ([]byte, error) { 2314 objectMap := make(map[string]interface{}) 2315 populate(objectMap, "countries", a.Countries) 2316 return json.Marshal(objectMap) 2317} 2318 2319// AvailableProvidersListCity - City or town details. 2320type AvailableProvidersListCity struct { 2321 // The city or town name. 2322 CityName *string `json:"cityName,omitempty"` 2323 2324 // A list of Internet service providers. 2325 Providers []*string `json:"providers,omitempty"` 2326} 2327 2328// MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListCity. 2329func (a AvailableProvidersListCity) MarshalJSON() ([]byte, error) { 2330 objectMap := make(map[string]interface{}) 2331 populate(objectMap, "cityName", a.CityName) 2332 populate(objectMap, "providers", a.Providers) 2333 return json.Marshal(objectMap) 2334} 2335 2336// AvailableProvidersListCountry - Country details. 2337type AvailableProvidersListCountry struct { 2338 // The country name. 2339 CountryName *string `json:"countryName,omitempty"` 2340 2341 // A list of Internet service providers. 2342 Providers []*string `json:"providers,omitempty"` 2343 2344 // List of available states in the country. 2345 States []*AvailableProvidersListState `json:"states,omitempty"` 2346} 2347 2348// MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListCountry. 2349func (a AvailableProvidersListCountry) MarshalJSON() ([]byte, error) { 2350 objectMap := make(map[string]interface{}) 2351 populate(objectMap, "countryName", a.CountryName) 2352 populate(objectMap, "providers", a.Providers) 2353 populate(objectMap, "states", a.States) 2354 return json.Marshal(objectMap) 2355} 2356 2357// AvailableProvidersListParameters - Constraints that determine the list of available Internet service providers. 2358type AvailableProvidersListParameters struct { 2359 // A list of Azure regions. 2360 AzureLocations []*string `json:"azureLocations,omitempty"` 2361 2362 // The city or town for available providers list. 2363 City *string `json:"city,omitempty"` 2364 2365 // The country for available providers list. 2366 Country *string `json:"country,omitempty"` 2367 2368 // The state for available providers list. 2369 State *string `json:"state,omitempty"` 2370} 2371 2372// MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListParameters. 2373func (a AvailableProvidersListParameters) MarshalJSON() ([]byte, error) { 2374 objectMap := make(map[string]interface{}) 2375 populate(objectMap, "azureLocations", a.AzureLocations) 2376 populate(objectMap, "city", a.City) 2377 populate(objectMap, "country", a.Country) 2378 populate(objectMap, "state", a.State) 2379 return json.Marshal(objectMap) 2380} 2381 2382// AvailableProvidersListState - State details. 2383type AvailableProvidersListState struct { 2384 // List of available cities or towns in the state. 2385 Cities []*AvailableProvidersListCity `json:"cities,omitempty"` 2386 2387 // A list of Internet service providers. 2388 Providers []*string `json:"providers,omitempty"` 2389 2390 // The state name. 2391 StateName *string `json:"stateName,omitempty"` 2392} 2393 2394// MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListState. 2395func (a AvailableProvidersListState) MarshalJSON() ([]byte, error) { 2396 objectMap := make(map[string]interface{}) 2397 populate(objectMap, "cities", a.Cities) 2398 populate(objectMap, "providers", a.Providers) 2399 populate(objectMap, "stateName", a.StateName) 2400 return json.Marshal(objectMap) 2401} 2402 2403// AvailableResourceGroupDelegationsListOptions contains the optional parameters for the AvailableResourceGroupDelegations.List method. 2404type AvailableResourceGroupDelegationsListOptions struct { 2405 // placeholder for future optional parameters 2406} 2407 2408// AvailableServiceAlias - The available service alias. 2409type AvailableServiceAlias struct { 2410 // The ID of the service alias. 2411 ID *string `json:"id,omitempty"` 2412 2413 // The name of the service alias. 2414 Name *string `json:"name,omitempty"` 2415 2416 // The resource name of the service alias. 2417 ResourceName *string `json:"resourceName,omitempty"` 2418 2419 // The type of the resource. 2420 Type *string `json:"type,omitempty"` 2421} 2422 2423// AvailableServiceAliasesListByResourceGroupOptions contains the optional parameters for the AvailableServiceAliases.ListByResourceGroup method. 2424type AvailableServiceAliasesListByResourceGroupOptions struct { 2425 // placeholder for future optional parameters 2426} 2427 2428// AvailableServiceAliasesListOptions contains the optional parameters for the AvailableServiceAliases.List method. 2429type AvailableServiceAliasesListOptions struct { 2430 // placeholder for future optional parameters 2431} 2432 2433// AvailableServiceAliasesResult - An array of available service aliases. 2434type AvailableServiceAliasesResult struct { 2435 // An array of available service aliases. 2436 Value []*AvailableServiceAlias `json:"value,omitempty"` 2437 2438 // READ-ONLY; The URL to get the next set of results. 2439 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 2440} 2441 2442// MarshalJSON implements the json.Marshaller interface for type AvailableServiceAliasesResult. 2443func (a AvailableServiceAliasesResult) MarshalJSON() ([]byte, error) { 2444 objectMap := make(map[string]interface{}) 2445 populate(objectMap, "nextLink", a.NextLink) 2446 populate(objectMap, "value", a.Value) 2447 return json.Marshal(objectMap) 2448} 2449 2450// AzureAsyncOperationResult - The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in 2451// progress, or has failed. Note that this status is distinct from the HTTP 2452// status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status 2453// code for the successful request. If the 2454// asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure. 2455type AzureAsyncOperationResult struct { 2456 // Details of the error occurred during specified asynchronous operation. 2457 Error *Error `json:"error,omitempty"` 2458 2459 // Status of the Azure async operation. 2460 Status *NetworkOperationStatus `json:"status,omitempty"` 2461} 2462 2463// AzureFirewall - Azure Firewall resource. 2464type AzureFirewall struct { 2465 Resource 2466 // Properties of the azure firewall. 2467 Properties *AzureFirewallPropertiesFormat `json:"properties,omitempty"` 2468 2469 // A list of availability zones denoting where the resource needs to come from. 2470 Zones []*string `json:"zones,omitempty"` 2471 2472 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2473 Etag *string `json:"etag,omitempty" azure:"ro"` 2474} 2475 2476// MarshalJSON implements the json.Marshaller interface for type AzureFirewall. 2477func (a AzureFirewall) MarshalJSON() ([]byte, error) { 2478 objectMap := a.Resource.marshalInternal() 2479 populate(objectMap, "etag", a.Etag) 2480 populate(objectMap, "properties", a.Properties) 2481 populate(objectMap, "zones", a.Zones) 2482 return json.Marshal(objectMap) 2483} 2484 2485// AzureFirewallApplicationRule - Properties of an application rule. 2486type AzureFirewallApplicationRule struct { 2487 // Description of the rule. 2488 Description *string `json:"description,omitempty"` 2489 2490 // List of FQDN Tags for this rule. 2491 FqdnTags []*string `json:"fqdnTags,omitempty"` 2492 2493 // Name of the application rule. 2494 Name *string `json:"name,omitempty"` 2495 2496 // Array of ApplicationRuleProtocols. 2497 Protocols []*AzureFirewallApplicationRuleProtocol `json:"protocols,omitempty"` 2498 2499 // List of source IP addresses for this rule. 2500 SourceAddresses []*string `json:"sourceAddresses,omitempty"` 2501 2502 // List of source IpGroups for this rule. 2503 SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` 2504 2505 // List of FQDNs for this rule. 2506 TargetFqdns []*string `json:"targetFqdns,omitempty"` 2507} 2508 2509// MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRule. 2510func (a AzureFirewallApplicationRule) MarshalJSON() ([]byte, error) { 2511 objectMap := make(map[string]interface{}) 2512 populate(objectMap, "description", a.Description) 2513 populate(objectMap, "fqdnTags", a.FqdnTags) 2514 populate(objectMap, "name", a.Name) 2515 populate(objectMap, "protocols", a.Protocols) 2516 populate(objectMap, "sourceAddresses", a.SourceAddresses) 2517 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 2518 populate(objectMap, "targetFqdns", a.TargetFqdns) 2519 return json.Marshal(objectMap) 2520} 2521 2522// AzureFirewallApplicationRuleCollection - Application rule collection resource. 2523type AzureFirewallApplicationRuleCollection struct { 2524 SubResource 2525 // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. 2526 Name *string `json:"name,omitempty"` 2527 2528 // Properties of the azure firewall application rule collection. 2529 Properties *AzureFirewallApplicationRuleCollectionPropertiesFormat `json:"properties,omitempty"` 2530 2531 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2532 Etag *string `json:"etag,omitempty" azure:"ro"` 2533} 2534 2535// MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRuleCollection. 2536func (a AzureFirewallApplicationRuleCollection) MarshalJSON() ([]byte, error) { 2537 objectMap := a.SubResource.marshalInternal() 2538 populate(objectMap, "etag", a.Etag) 2539 populate(objectMap, "name", a.Name) 2540 populate(objectMap, "properties", a.Properties) 2541 return json.Marshal(objectMap) 2542} 2543 2544// AzureFirewallApplicationRuleCollectionPropertiesFormat - Properties of the application rule collection. 2545type AzureFirewallApplicationRuleCollectionPropertiesFormat struct { 2546 // The action type of a rule collection. 2547 Action *AzureFirewallRCAction `json:"action,omitempty"` 2548 2549 // Priority of the application rule collection resource. 2550 Priority *int32 `json:"priority,omitempty"` 2551 2552 // Collection of rules used by a application rule collection. 2553 Rules []*AzureFirewallApplicationRule `json:"rules,omitempty"` 2554 2555 // READ-ONLY; The provisioning state of the application rule collection resource. 2556 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2557} 2558 2559// MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRuleCollectionPropertiesFormat. 2560func (a AzureFirewallApplicationRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { 2561 objectMap := make(map[string]interface{}) 2562 populate(objectMap, "action", a.Action) 2563 populate(objectMap, "priority", a.Priority) 2564 populate(objectMap, "provisioningState", a.ProvisioningState) 2565 populate(objectMap, "rules", a.Rules) 2566 return json.Marshal(objectMap) 2567} 2568 2569// AzureFirewallApplicationRuleProtocol - Properties of the application rule protocol. 2570type AzureFirewallApplicationRuleProtocol struct { 2571 // Port number for the protocol, cannot be greater than 64000. This field is optional. 2572 Port *int32 `json:"port,omitempty"` 2573 2574 // Protocol type. 2575 ProtocolType *AzureFirewallApplicationRuleProtocolType `json:"protocolType,omitempty"` 2576} 2577 2578// AzureFirewallFqdnTag - Azure Firewall FQDN Tag Resource. 2579type AzureFirewallFqdnTag struct { 2580 Resource 2581 // Properties of the azure firewall FQDN tag. 2582 Properties *AzureFirewallFqdnTagPropertiesFormat `json:"properties,omitempty"` 2583 2584 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2585 Etag *string `json:"etag,omitempty" azure:"ro"` 2586} 2587 2588// MarshalJSON implements the json.Marshaller interface for type AzureFirewallFqdnTag. 2589func (a AzureFirewallFqdnTag) MarshalJSON() ([]byte, error) { 2590 objectMap := a.Resource.marshalInternal() 2591 populate(objectMap, "etag", a.Etag) 2592 populate(objectMap, "properties", a.Properties) 2593 return json.Marshal(objectMap) 2594} 2595 2596// AzureFirewallFqdnTagListResult - Response for ListAzureFirewallFqdnTags API service call. 2597type AzureFirewallFqdnTagListResult struct { 2598 // URL to get the next set of results. 2599 NextLink *string `json:"nextLink,omitempty"` 2600 2601 // List of Azure Firewall FQDN Tags in a resource group. 2602 Value []*AzureFirewallFqdnTag `json:"value,omitempty"` 2603} 2604 2605// MarshalJSON implements the json.Marshaller interface for type AzureFirewallFqdnTagListResult. 2606func (a AzureFirewallFqdnTagListResult) MarshalJSON() ([]byte, error) { 2607 objectMap := make(map[string]interface{}) 2608 populate(objectMap, "nextLink", a.NextLink) 2609 populate(objectMap, "value", a.Value) 2610 return json.Marshal(objectMap) 2611} 2612 2613// AzureFirewallFqdnTagPropertiesFormat - Azure Firewall FQDN Tag Properties. 2614type AzureFirewallFqdnTagPropertiesFormat struct { 2615 // READ-ONLY; The name of this FQDN Tag. 2616 FqdnTagName *string `json:"fqdnTagName,omitempty" azure:"ro"` 2617 2618 // READ-ONLY; The provisioning state of the Azure firewall FQDN tag resource. 2619 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2620} 2621 2622// AzureFirewallFqdnTagsListAllOptions contains the optional parameters for the AzureFirewallFqdnTags.ListAll method. 2623type AzureFirewallFqdnTagsListAllOptions struct { 2624 // placeholder for future optional parameters 2625} 2626 2627// AzureFirewallIPConfiguration - IP configuration of an Azure Firewall. 2628type AzureFirewallIPConfiguration struct { 2629 SubResource 2630 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 2631 Name *string `json:"name,omitempty"` 2632 2633 // Properties of the azure firewall IP configuration. 2634 Properties *AzureFirewallIPConfigurationPropertiesFormat `json:"properties,omitempty"` 2635 2636 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2637 Etag *string `json:"etag,omitempty" azure:"ro"` 2638 2639 // READ-ONLY; Type of the resource. 2640 Type *string `json:"type,omitempty" azure:"ro"` 2641} 2642 2643// MarshalJSON implements the json.Marshaller interface for type AzureFirewallIPConfiguration. 2644func (a AzureFirewallIPConfiguration) MarshalJSON() ([]byte, error) { 2645 objectMap := a.SubResource.marshalInternal() 2646 populate(objectMap, "etag", a.Etag) 2647 populate(objectMap, "name", a.Name) 2648 populate(objectMap, "properties", a.Properties) 2649 populate(objectMap, "type", a.Type) 2650 return json.Marshal(objectMap) 2651} 2652 2653// AzureFirewallIPConfigurationPropertiesFormat - Properties of IP configuration of an Azure Firewall. 2654type AzureFirewallIPConfigurationPropertiesFormat struct { 2655 // Reference to the PublicIP resource. This field is a mandatory input if subnet is not null. 2656 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 2657 2658 // Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. 2659 Subnet *SubResource `json:"subnet,omitempty"` 2660 2661 // READ-ONLY; The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes. 2662 PrivateIPAddress *string `json:"privateIPAddress,omitempty" azure:"ro"` 2663 2664 // READ-ONLY; The provisioning state of the Azure firewall IP configuration resource. 2665 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2666} 2667 2668// AzureFirewallIPGroups - IpGroups associated with azure firewall. 2669type AzureFirewallIPGroups struct { 2670 // READ-ONLY; The iteration number. 2671 ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` 2672 2673 // READ-ONLY; Resource ID. 2674 ID *string `json:"id,omitempty" azure:"ro"` 2675} 2676 2677// AzureFirewallListResult - Response for ListAzureFirewalls API service call. 2678type AzureFirewallListResult struct { 2679 // URL to get the next set of results. 2680 NextLink *string `json:"nextLink,omitempty"` 2681 2682 // List of Azure Firewalls in a resource group. 2683 Value []*AzureFirewall `json:"value,omitempty"` 2684} 2685 2686// MarshalJSON implements the json.Marshaller interface for type AzureFirewallListResult. 2687func (a AzureFirewallListResult) MarshalJSON() ([]byte, error) { 2688 objectMap := make(map[string]interface{}) 2689 populate(objectMap, "nextLink", a.NextLink) 2690 populate(objectMap, "value", a.Value) 2691 return json.Marshal(objectMap) 2692} 2693 2694// AzureFirewallNatRCAction - AzureFirewall NAT Rule Collection Action. 2695type AzureFirewallNatRCAction struct { 2696 // The type of action. 2697 Type *AzureFirewallNatRCActionType `json:"type,omitempty"` 2698} 2699 2700// AzureFirewallNatRule - Properties of a NAT rule. 2701type AzureFirewallNatRule struct { 2702 // Description of the rule. 2703 Description *string `json:"description,omitempty"` 2704 2705 // List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags. 2706 DestinationAddresses []*string `json:"destinationAddresses,omitempty"` 2707 2708 // List of destination ports. 2709 DestinationPorts []*string `json:"destinationPorts,omitempty"` 2710 2711 // Name of the NAT rule. 2712 Name *string `json:"name,omitempty"` 2713 2714 // Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. 2715 Protocols []*AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` 2716 2717 // List of source IP addresses for this rule. 2718 SourceAddresses []*string `json:"sourceAddresses,omitempty"` 2719 2720 // List of source IpGroups for this rule. 2721 SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` 2722 2723 // The translated address for this NAT rule. 2724 TranslatedAddress *string `json:"translatedAddress,omitempty"` 2725 2726 // The translated FQDN for this NAT rule. 2727 TranslatedFqdn *string `json:"translatedFqdn,omitempty"` 2728 2729 // The translated port for this NAT rule. 2730 TranslatedPort *string `json:"translatedPort,omitempty"` 2731} 2732 2733// MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRule. 2734func (a AzureFirewallNatRule) MarshalJSON() ([]byte, error) { 2735 objectMap := make(map[string]interface{}) 2736 populate(objectMap, "description", a.Description) 2737 populate(objectMap, "destinationAddresses", a.DestinationAddresses) 2738 populate(objectMap, "destinationPorts", a.DestinationPorts) 2739 populate(objectMap, "name", a.Name) 2740 populate(objectMap, "protocols", a.Protocols) 2741 populate(objectMap, "sourceAddresses", a.SourceAddresses) 2742 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 2743 populate(objectMap, "translatedAddress", a.TranslatedAddress) 2744 populate(objectMap, "translatedFqdn", a.TranslatedFqdn) 2745 populate(objectMap, "translatedPort", a.TranslatedPort) 2746 return json.Marshal(objectMap) 2747} 2748 2749// AzureFirewallNatRuleCollection - NAT rule collection resource. 2750type AzureFirewallNatRuleCollection struct { 2751 SubResource 2752 // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. 2753 Name *string `json:"name,omitempty"` 2754 2755 // Properties of the azure firewall NAT rule collection. 2756 Properties *AzureFirewallNatRuleCollectionProperties `json:"properties,omitempty"` 2757 2758 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2759 Etag *string `json:"etag,omitempty" azure:"ro"` 2760} 2761 2762// MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRuleCollection. 2763func (a AzureFirewallNatRuleCollection) MarshalJSON() ([]byte, error) { 2764 objectMap := a.SubResource.marshalInternal() 2765 populate(objectMap, "etag", a.Etag) 2766 populate(objectMap, "name", a.Name) 2767 populate(objectMap, "properties", a.Properties) 2768 return json.Marshal(objectMap) 2769} 2770 2771// AzureFirewallNatRuleCollectionProperties - Properties of the NAT rule collection. 2772type AzureFirewallNatRuleCollectionProperties struct { 2773 // The action type of a NAT rule collection. 2774 Action *AzureFirewallNatRCAction `json:"action,omitempty"` 2775 2776 // Priority of the NAT rule collection resource. 2777 Priority *int32 `json:"priority,omitempty"` 2778 2779 // Collection of rules used by a NAT rule collection. 2780 Rules []*AzureFirewallNatRule `json:"rules,omitempty"` 2781 2782 // READ-ONLY; The provisioning state of the NAT rule collection resource. 2783 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2784} 2785 2786// MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRuleCollectionProperties. 2787func (a AzureFirewallNatRuleCollectionProperties) MarshalJSON() ([]byte, error) { 2788 objectMap := make(map[string]interface{}) 2789 populate(objectMap, "action", a.Action) 2790 populate(objectMap, "priority", a.Priority) 2791 populate(objectMap, "provisioningState", a.ProvisioningState) 2792 populate(objectMap, "rules", a.Rules) 2793 return json.Marshal(objectMap) 2794} 2795 2796// AzureFirewallNetworkRule - Properties of the network rule. 2797type AzureFirewallNetworkRule struct { 2798 // Description of the rule. 2799 Description *string `json:"description,omitempty"` 2800 2801 // List of destination IP addresses. 2802 DestinationAddresses []*string `json:"destinationAddresses,omitempty"` 2803 2804 // List of destination FQDNs. 2805 DestinationFqdns []*string `json:"destinationFqdns,omitempty"` 2806 2807 // List of destination IpGroups for this rule. 2808 DestinationIPGroups []*string `json:"destinationIpGroups,omitempty"` 2809 2810 // List of destination ports. 2811 DestinationPorts []*string `json:"destinationPorts,omitempty"` 2812 2813 // Name of the network rule. 2814 Name *string `json:"name,omitempty"` 2815 2816 // Array of AzureFirewallNetworkRuleProtocols. 2817 Protocols []*AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` 2818 2819 // List of source IP addresses for this rule. 2820 SourceAddresses []*string `json:"sourceAddresses,omitempty"` 2821 2822 // List of source IpGroups for this rule. 2823 SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` 2824} 2825 2826// MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRule. 2827func (a AzureFirewallNetworkRule) MarshalJSON() ([]byte, error) { 2828 objectMap := make(map[string]interface{}) 2829 populate(objectMap, "description", a.Description) 2830 populate(objectMap, "destinationAddresses", a.DestinationAddresses) 2831 populate(objectMap, "destinationFqdns", a.DestinationFqdns) 2832 populate(objectMap, "destinationIpGroups", a.DestinationIPGroups) 2833 populate(objectMap, "destinationPorts", a.DestinationPorts) 2834 populate(objectMap, "name", a.Name) 2835 populate(objectMap, "protocols", a.Protocols) 2836 populate(objectMap, "sourceAddresses", a.SourceAddresses) 2837 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 2838 return json.Marshal(objectMap) 2839} 2840 2841// AzureFirewallNetworkRuleCollection - Network rule collection resource. 2842type AzureFirewallNetworkRuleCollection struct { 2843 SubResource 2844 // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. 2845 Name *string `json:"name,omitempty"` 2846 2847 // Properties of the azure firewall network rule collection. 2848 Properties *AzureFirewallNetworkRuleCollectionPropertiesFormat `json:"properties,omitempty"` 2849 2850 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2851 Etag *string `json:"etag,omitempty" azure:"ro"` 2852} 2853 2854// MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRuleCollection. 2855func (a AzureFirewallNetworkRuleCollection) MarshalJSON() ([]byte, error) { 2856 objectMap := a.SubResource.marshalInternal() 2857 populate(objectMap, "etag", a.Etag) 2858 populate(objectMap, "name", a.Name) 2859 populate(objectMap, "properties", a.Properties) 2860 return json.Marshal(objectMap) 2861} 2862 2863// AzureFirewallNetworkRuleCollectionPropertiesFormat - Properties of the network rule collection. 2864type AzureFirewallNetworkRuleCollectionPropertiesFormat struct { 2865 // The action type of a rule collection. 2866 Action *AzureFirewallRCAction `json:"action,omitempty"` 2867 2868 // Priority of the network rule collection resource. 2869 Priority *int32 `json:"priority,omitempty"` 2870 2871 // Collection of rules used by a network rule collection. 2872 Rules []*AzureFirewallNetworkRule `json:"rules,omitempty"` 2873 2874 // READ-ONLY; The provisioning state of the network rule collection resource. 2875 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2876} 2877 2878// MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRuleCollectionPropertiesFormat. 2879func (a AzureFirewallNetworkRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { 2880 objectMap := make(map[string]interface{}) 2881 populate(objectMap, "action", a.Action) 2882 populate(objectMap, "priority", a.Priority) 2883 populate(objectMap, "provisioningState", a.ProvisioningState) 2884 populate(objectMap, "rules", a.Rules) 2885 return json.Marshal(objectMap) 2886} 2887 2888// AzureFirewallPropertiesFormat - Properties of the Azure Firewall. 2889type AzureFirewallPropertiesFormat struct { 2890 // The additional properties used to further config this azure firewall. 2891 AdditionalProperties map[string]*string `json:"additionalProperties,omitempty"` 2892 2893 // Collection of application rule collections used by Azure Firewall. 2894 ApplicationRuleCollections []*AzureFirewallApplicationRuleCollection `json:"applicationRuleCollections,omitempty"` 2895 2896 // The firewallPolicy associated with this azure firewall. 2897 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 2898 2899 // IP addresses associated with AzureFirewall. 2900 HubIPAddresses *HubIPAddresses `json:"hubIPAddresses,omitempty"` 2901 2902 // IP configuration of the Azure Firewall resource. 2903 IPConfigurations []*AzureFirewallIPConfiguration `json:"ipConfigurations,omitempty"` 2904 2905 // IP configuration of the Azure Firewall used for management traffic. 2906 ManagementIPConfiguration *AzureFirewallIPConfiguration `json:"managementIpConfiguration,omitempty"` 2907 2908 // Collection of NAT rule collections used by Azure Firewall. 2909 NatRuleCollections []*AzureFirewallNatRuleCollection `json:"natRuleCollections,omitempty"` 2910 2911 // Collection of network rule collections used by Azure Firewall. 2912 NetworkRuleCollections []*AzureFirewallNetworkRuleCollection `json:"networkRuleCollections,omitempty"` 2913 2914 // The Azure Firewall Resource SKU. 2915 SKU *AzureFirewallSKU `json:"sku,omitempty"` 2916 2917 // The operation mode for Threat Intelligence. 2918 ThreatIntelMode *AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` 2919 2920 // The virtualHub to which the firewall belongs. 2921 VirtualHub *SubResource `json:"virtualHub,omitempty"` 2922 2923 // READ-ONLY; IpGroups associated with AzureFirewall. 2924 IPGroups []*AzureFirewallIPGroups `json:"ipGroups,omitempty" azure:"ro"` 2925 2926 // READ-ONLY; The provisioning state of the Azure firewall resource. 2927 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2928} 2929 2930// MarshalJSON implements the json.Marshaller interface for type AzureFirewallPropertiesFormat. 2931func (a AzureFirewallPropertiesFormat) MarshalJSON() ([]byte, error) { 2932 objectMap := make(map[string]interface{}) 2933 populate(objectMap, "additionalProperties", a.AdditionalProperties) 2934 populate(objectMap, "applicationRuleCollections", a.ApplicationRuleCollections) 2935 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 2936 populate(objectMap, "hubIPAddresses", a.HubIPAddresses) 2937 populate(objectMap, "ipConfigurations", a.IPConfigurations) 2938 populate(objectMap, "ipGroups", a.IPGroups) 2939 populate(objectMap, "managementIpConfiguration", a.ManagementIPConfiguration) 2940 populate(objectMap, "natRuleCollections", a.NatRuleCollections) 2941 populate(objectMap, "networkRuleCollections", a.NetworkRuleCollections) 2942 populate(objectMap, "provisioningState", a.ProvisioningState) 2943 populate(objectMap, "sku", a.SKU) 2944 populate(objectMap, "threatIntelMode", a.ThreatIntelMode) 2945 populate(objectMap, "virtualHub", a.VirtualHub) 2946 return json.Marshal(objectMap) 2947} 2948 2949// AzureFirewallPublicIPAddress - Public IP Address associated with azure firewall. 2950type AzureFirewallPublicIPAddress struct { 2951 // Public IP Address value. 2952 Address *string `json:"address,omitempty"` 2953} 2954 2955// AzureFirewallRCAction - Properties of the AzureFirewallRCAction. 2956type AzureFirewallRCAction struct { 2957 // The type of action. 2958 Type *AzureFirewallRCActionType `json:"type,omitempty"` 2959} 2960 2961// AzureFirewallSKU - SKU of an Azure Firewall. 2962type AzureFirewallSKU struct { 2963 // Name of an Azure Firewall SKU. 2964 Name *AzureFirewallSKUName `json:"name,omitempty"` 2965 2966 // Tier of an Azure Firewall. 2967 Tier *AzureFirewallSKUTier `json:"tier,omitempty"` 2968} 2969 2970// AzureFirewallsBeginCreateOrUpdateOptions contains the optional parameters for the AzureFirewalls.BeginCreateOrUpdate method. 2971type AzureFirewallsBeginCreateOrUpdateOptions struct { 2972 // placeholder for future optional parameters 2973} 2974 2975// AzureFirewallsBeginDeleteOptions contains the optional parameters for the AzureFirewalls.BeginDelete method. 2976type AzureFirewallsBeginDeleteOptions struct { 2977 // placeholder for future optional parameters 2978} 2979 2980// AzureFirewallsBeginUpdateTagsOptions contains the optional parameters for the AzureFirewalls.BeginUpdateTags method. 2981type AzureFirewallsBeginUpdateTagsOptions struct { 2982 // placeholder for future optional parameters 2983} 2984 2985// AzureFirewallsGetOptions contains the optional parameters for the AzureFirewalls.Get method. 2986type AzureFirewallsGetOptions struct { 2987 // placeholder for future optional parameters 2988} 2989 2990// AzureFirewallsListAllOptions contains the optional parameters for the AzureFirewalls.ListAll method. 2991type AzureFirewallsListAllOptions struct { 2992 // placeholder for future optional parameters 2993} 2994 2995// AzureFirewallsListOptions contains the optional parameters for the AzureFirewalls.List method. 2996type AzureFirewallsListOptions struct { 2997 // placeholder for future optional parameters 2998} 2999 3000// AzureReachabilityReport - Azure reachability report details. 3001type AzureReachabilityReport struct { 3002 // REQUIRED; The aggregation level of Azure reachability report. Can be Country, State or City. 3003 AggregationLevel *string `json:"aggregationLevel,omitempty"` 3004 3005 // REQUIRED; Parameters that define a geographic location. 3006 ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` 3007 3008 // REQUIRED; List of Azure reachability report items. 3009 ReachabilityReport []*AzureReachabilityReportItem `json:"reachabilityReport,omitempty"` 3010} 3011 3012// MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReport. 3013func (a AzureReachabilityReport) MarshalJSON() ([]byte, error) { 3014 objectMap := make(map[string]interface{}) 3015 populate(objectMap, "aggregationLevel", a.AggregationLevel) 3016 populate(objectMap, "providerLocation", a.ProviderLocation) 3017 populate(objectMap, "reachabilityReport", a.ReachabilityReport) 3018 return json.Marshal(objectMap) 3019} 3020 3021// AzureReachabilityReportItem - Azure reachability report details for a given provider location. 3022type AzureReachabilityReportItem struct { 3023 // The Azure region. 3024 AzureLocation *string `json:"azureLocation,omitempty"` 3025 3026 // List of latency details for each of the time series. 3027 Latencies []*AzureReachabilityReportLatencyInfo `json:"latencies,omitempty"` 3028 3029 // The Internet service provider. 3030 Provider *string `json:"provider,omitempty"` 3031} 3032 3033// MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportItem. 3034func (a AzureReachabilityReportItem) MarshalJSON() ([]byte, error) { 3035 objectMap := make(map[string]interface{}) 3036 populate(objectMap, "azureLocation", a.AzureLocation) 3037 populate(objectMap, "latencies", a.Latencies) 3038 populate(objectMap, "provider", a.Provider) 3039 return json.Marshal(objectMap) 3040} 3041 3042// AzureReachabilityReportLatencyInfo - Details on latency for a time series. 3043type AzureReachabilityReportLatencyInfo struct { 3044 // The relative latency score between 1 and 100, higher values indicating a faster connection. 3045 Score *int32 `json:"score,omitempty"` 3046 3047 // The time stamp. 3048 TimeStamp *time.Time `json:"timeStamp,omitempty"` 3049} 3050 3051// MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportLatencyInfo. 3052func (a AzureReachabilityReportLatencyInfo) MarshalJSON() ([]byte, error) { 3053 objectMap := make(map[string]interface{}) 3054 populate(objectMap, "score", a.Score) 3055 populate(objectMap, "timeStamp", (*timeRFC3339)(a.TimeStamp)) 3056 return json.Marshal(objectMap) 3057} 3058 3059// UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportLatencyInfo. 3060func (a *AzureReachabilityReportLatencyInfo) UnmarshalJSON(data []byte) error { 3061 var rawMsg map[string]json.RawMessage 3062 if err := json.Unmarshal(data, &rawMsg); err != nil { 3063 return err 3064 } 3065 for key, val := range rawMsg { 3066 var err error 3067 switch key { 3068 case "score": 3069 err = unpopulate(val, &a.Score) 3070 delete(rawMsg, key) 3071 case "timeStamp": 3072 var aux timeRFC3339 3073 err = unpopulate(val, &aux) 3074 a.TimeStamp = (*time.Time)(&aux) 3075 delete(rawMsg, key) 3076 } 3077 if err != nil { 3078 return err 3079 } 3080 } 3081 return nil 3082} 3083 3084// AzureReachabilityReportLocation - Parameters that define a geographic location. 3085type AzureReachabilityReportLocation struct { 3086 // REQUIRED; The name of the country. 3087 Country *string `json:"country,omitempty"` 3088 3089 // The name of the city or town. 3090 City *string `json:"city,omitempty"` 3091 3092 // The name of the state. 3093 State *string `json:"state,omitempty"` 3094} 3095 3096// AzureReachabilityReportParameters - Geographic and time constraints for Azure reachability report. 3097type AzureReachabilityReportParameters struct { 3098 // REQUIRED; The end time for the Azure reachability report. 3099 EndTime *time.Time `json:"endTime,omitempty"` 3100 3101 // REQUIRED; Parameters that define a geographic location. 3102 ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` 3103 3104 // REQUIRED; The start time for the Azure reachability report. 3105 StartTime *time.Time `json:"startTime,omitempty"` 3106 3107 // Optional Azure regions to scope the query to. 3108 AzureLocations []*string `json:"azureLocations,omitempty"` 3109 3110 // List of Internet service providers. 3111 Providers []*string `json:"providers,omitempty"` 3112} 3113 3114// MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportParameters. 3115func (a AzureReachabilityReportParameters) MarshalJSON() ([]byte, error) { 3116 objectMap := make(map[string]interface{}) 3117 populate(objectMap, "azureLocations", a.AzureLocations) 3118 populate(objectMap, "endTime", (*timeRFC3339)(a.EndTime)) 3119 populate(objectMap, "providerLocation", a.ProviderLocation) 3120 populate(objectMap, "providers", a.Providers) 3121 populate(objectMap, "startTime", (*timeRFC3339)(a.StartTime)) 3122 return json.Marshal(objectMap) 3123} 3124 3125// UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportParameters. 3126func (a *AzureReachabilityReportParameters) UnmarshalJSON(data []byte) error { 3127 var rawMsg map[string]json.RawMessage 3128 if err := json.Unmarshal(data, &rawMsg); err != nil { 3129 return err 3130 } 3131 for key, val := range rawMsg { 3132 var err error 3133 switch key { 3134 case "azureLocations": 3135 err = unpopulate(val, &a.AzureLocations) 3136 delete(rawMsg, key) 3137 case "endTime": 3138 var aux timeRFC3339 3139 err = unpopulate(val, &aux) 3140 a.EndTime = (*time.Time)(&aux) 3141 delete(rawMsg, key) 3142 case "providerLocation": 3143 err = unpopulate(val, &a.ProviderLocation) 3144 delete(rawMsg, key) 3145 case "providers": 3146 err = unpopulate(val, &a.Providers) 3147 delete(rawMsg, key) 3148 case "startTime": 3149 var aux timeRFC3339 3150 err = unpopulate(val, &aux) 3151 a.StartTime = (*time.Time)(&aux) 3152 delete(rawMsg, key) 3153 } 3154 if err != nil { 3155 return err 3156 } 3157 } 3158 return nil 3159} 3160 3161// AzureWebCategory - Azure Web Category Resource. 3162type AzureWebCategory struct { 3163 // Resource ID. 3164 ID *string `json:"id,omitempty"` 3165 3166 // Properties of the Azure Web Category. 3167 Properties *AzureWebCategoryPropertiesFormat `json:"properties,omitempty"` 3168 3169 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 3170 Etag *string `json:"etag,omitempty" azure:"ro"` 3171 3172 // READ-ONLY; Resource name. 3173 Name *string `json:"name,omitempty" azure:"ro"` 3174 3175 // READ-ONLY; Resource type. 3176 Type *string `json:"type,omitempty" azure:"ro"` 3177} 3178 3179// AzureWebCategoryListResult - Response for ListAzureWebCategories API service call. 3180type AzureWebCategoryListResult struct { 3181 // URL to get the next set of results. 3182 NextLink *string `json:"nextLink,omitempty"` 3183 3184 // List of Azure Web Categories for a given Subscription. 3185 Value []*AzureWebCategory `json:"value,omitempty"` 3186} 3187 3188// MarshalJSON implements the json.Marshaller interface for type AzureWebCategoryListResult. 3189func (a AzureWebCategoryListResult) MarshalJSON() ([]byte, error) { 3190 objectMap := make(map[string]interface{}) 3191 populate(objectMap, "nextLink", a.NextLink) 3192 populate(objectMap, "value", a.Value) 3193 return json.Marshal(objectMap) 3194} 3195 3196// AzureWebCategoryPropertiesFormat - Azure Web Category Properties. 3197type AzureWebCategoryPropertiesFormat struct { 3198 // READ-ONLY; The name of the group that the category belongs to. 3199 Group *string `json:"group,omitempty" azure:"ro"` 3200} 3201 3202// BGPCommunity - Contains bgp community information offered in Service Community resources. 3203type BGPCommunity struct { 3204 // The name of the bgp community. e.g. Skype. 3205 CommunityName *string `json:"communityName,omitempty"` 3206 3207 // The prefixes that the bgp community contains. 3208 CommunityPrefixes []*string `json:"communityPrefixes,omitempty"` 3209 3210 // The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 3211 CommunityValue *string `json:"communityValue,omitempty"` 3212 3213 // Customer is authorized to use bgp community or not. 3214 IsAuthorizedToUse *bool `json:"isAuthorizedToUse,omitempty"` 3215 3216 // The service group of the bgp community contains. 3217 ServiceGroup *string `json:"serviceGroup,omitempty"` 3218 3219 // The region which the service support. e.g. For O365, region is Global. 3220 ServiceSupportedRegion *string `json:"serviceSupportedRegion,omitempty"` 3221} 3222 3223// MarshalJSON implements the json.Marshaller interface for type BGPCommunity. 3224func (b BGPCommunity) MarshalJSON() ([]byte, error) { 3225 objectMap := make(map[string]interface{}) 3226 populate(objectMap, "communityName", b.CommunityName) 3227 populate(objectMap, "communityPrefixes", b.CommunityPrefixes) 3228 populate(objectMap, "communityValue", b.CommunityValue) 3229 populate(objectMap, "isAuthorizedToUse", b.IsAuthorizedToUse) 3230 populate(objectMap, "serviceGroup", b.ServiceGroup) 3231 populate(objectMap, "serviceSupportedRegion", b.ServiceSupportedRegion) 3232 return json.Marshal(objectMap) 3233} 3234 3235// BackendAddressPool - Pool of backend IP addresses. 3236type BackendAddressPool struct { 3237 SubResource 3238 // 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. 3239 Name *string `json:"name,omitempty"` 3240 3241 // Properties of load balancer backend address pool. 3242 Properties *BackendAddressPoolPropertiesFormat `json:"properties,omitempty"` 3243 3244 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 3245 Etag *string `json:"etag,omitempty" azure:"ro"` 3246 3247 // READ-ONLY; Type of the resource. 3248 Type *string `json:"type,omitempty" azure:"ro"` 3249} 3250 3251// MarshalJSON implements the json.Marshaller interface for type BackendAddressPool. 3252func (b BackendAddressPool) MarshalJSON() ([]byte, error) { 3253 objectMap := b.SubResource.marshalInternal() 3254 populate(objectMap, "etag", b.Etag) 3255 populate(objectMap, "name", b.Name) 3256 populate(objectMap, "properties", b.Properties) 3257 populate(objectMap, "type", b.Type) 3258 return json.Marshal(objectMap) 3259} 3260 3261// BackendAddressPoolPropertiesFormat - Properties of the backend address pool. 3262type BackendAddressPoolPropertiesFormat struct { 3263 // An array of backend addresses. 3264 LoadBalancerBackendAddresses []*LoadBalancerBackendAddress `json:"loadBalancerBackendAddresses,omitempty"` 3265 3266 // The location of the backend address pool. 3267 Location *string `json:"location,omitempty"` 3268 3269 // An array of gateway load balancer tunnel interfaces. 3270 TunnelInterfaces []*GatewayLoadBalancerTunnelInterface `json:"tunnelInterfaces,omitempty"` 3271 3272 // READ-ONLY; An array of references to IP addresses defined in network interfaces. 3273 BackendIPConfigurations []*NetworkInterfaceIPConfiguration `json:"backendIPConfigurations,omitempty" azure:"ro"` 3274 3275 // READ-ONLY; An array of references to load balancing rules that use this backend address pool. 3276 LoadBalancingRules []*SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` 3277 3278 // READ-ONLY; A reference to an outbound rule that uses this backend address pool. 3279 OutboundRule *SubResource `json:"outboundRule,omitempty" azure:"ro"` 3280 3281 // READ-ONLY; An array of references to outbound rules that use this backend address pool. 3282 OutboundRules []*SubResource `json:"outboundRules,omitempty" azure:"ro"` 3283 3284 // READ-ONLY; The provisioning state of the backend address pool resource. 3285 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 3286} 3287 3288// MarshalJSON implements the json.Marshaller interface for type BackendAddressPoolPropertiesFormat. 3289func (b BackendAddressPoolPropertiesFormat) MarshalJSON() ([]byte, error) { 3290 objectMap := make(map[string]interface{}) 3291 populate(objectMap, "backendIPConfigurations", b.BackendIPConfigurations) 3292 populate(objectMap, "loadBalancerBackendAddresses", b.LoadBalancerBackendAddresses) 3293 populate(objectMap, "loadBalancingRules", b.LoadBalancingRules) 3294 populate(objectMap, "location", b.Location) 3295 populate(objectMap, "outboundRule", b.OutboundRule) 3296 populate(objectMap, "outboundRules", b.OutboundRules) 3297 populate(objectMap, "provisioningState", b.ProvisioningState) 3298 populate(objectMap, "tunnelInterfaces", b.TunnelInterfaces) 3299 return json.Marshal(objectMap) 3300} 3301 3302// BastionActiveSession - The session detail for a target. 3303type BastionActiveSession struct { 3304 // READ-ONLY; The protocol used to connect to the target. 3305 Protocol *BastionConnectProtocol `json:"protocol,omitempty" azure:"ro"` 3306 3307 // READ-ONLY; The type of the resource. 3308 ResourceType *string `json:"resourceType,omitempty" azure:"ro"` 3309 3310 // READ-ONLY; Duration in mins the session has been active. 3311 SessionDurationInMins *float32 `json:"sessionDurationInMins,omitempty" azure:"ro"` 3312 3313 // READ-ONLY; A unique id for the session. 3314 SessionID *string `json:"sessionId,omitempty" azure:"ro"` 3315 3316 // READ-ONLY; The time when the session started. 3317 StartTime map[string]interface{} `json:"startTime,omitempty" azure:"ro"` 3318 3319 // READ-ONLY; The host name of the target. 3320 TargetHostName *string `json:"targetHostName,omitempty" azure:"ro"` 3321 3322 // READ-ONLY; The IP Address of the target. 3323 TargetIPAddress *string `json:"targetIpAddress,omitempty" azure:"ro"` 3324 3325 // READ-ONLY; The resource group of the target. 3326 TargetResourceGroup *string `json:"targetResourceGroup,omitempty" azure:"ro"` 3327 3328 // READ-ONLY; The resource id of the target. 3329 TargetResourceID *string `json:"targetResourceId,omitempty" azure:"ro"` 3330 3331 // READ-ONLY; The subscription id for the target virtual machine. 3332 TargetSubscriptionID *string `json:"targetSubscriptionId,omitempty" azure:"ro"` 3333 3334 // READ-ONLY; The user name who is active on this session. 3335 UserName *string `json:"userName,omitempty" azure:"ro"` 3336} 3337 3338// BastionActiveSessionListResult - Response for GetActiveSessions. 3339type BastionActiveSessionListResult struct { 3340 // The URL to get the next set of results. 3341 NextLink *string `json:"nextLink,omitempty"` 3342 3343 // List of active sessions on the bastion. 3344 Value []*BastionActiveSession `json:"value,omitempty"` 3345} 3346 3347// MarshalJSON implements the json.Marshaller interface for type BastionActiveSessionListResult. 3348func (b BastionActiveSessionListResult) MarshalJSON() ([]byte, error) { 3349 objectMap := make(map[string]interface{}) 3350 populate(objectMap, "nextLink", b.NextLink) 3351 populate(objectMap, "value", b.Value) 3352 return json.Marshal(objectMap) 3353} 3354 3355// BastionHost - Bastion Host resource. 3356type BastionHost struct { 3357 Resource 3358 // Represents the bastion host resource. 3359 Properties *BastionHostPropertiesFormat `json:"properties,omitempty"` 3360 3361 // The sku of this Bastion Host. 3362 SKU *SKU `json:"sku,omitempty"` 3363 3364 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 3365 Etag *string `json:"etag,omitempty" azure:"ro"` 3366} 3367 3368// MarshalJSON implements the json.Marshaller interface for type BastionHost. 3369func (b BastionHost) MarshalJSON() ([]byte, error) { 3370 objectMap := b.Resource.marshalInternal() 3371 populate(objectMap, "etag", b.Etag) 3372 populate(objectMap, "properties", b.Properties) 3373 populate(objectMap, "sku", b.SKU) 3374 return json.Marshal(objectMap) 3375} 3376 3377// BastionHostIPConfiguration - IP configuration of an Bastion Host. 3378type BastionHostIPConfiguration struct { 3379 SubResource 3380 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 3381 Name *string `json:"name,omitempty"` 3382 3383 // Represents the ip configuration associated with the resource. 3384 Properties *BastionHostIPConfigurationPropertiesFormat `json:"properties,omitempty"` 3385 3386 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 3387 Etag *string `json:"etag,omitempty" azure:"ro"` 3388 3389 // READ-ONLY; Ip configuration type. 3390 Type *string `json:"type,omitempty" azure:"ro"` 3391} 3392 3393// MarshalJSON implements the json.Marshaller interface for type BastionHostIPConfiguration. 3394func (b BastionHostIPConfiguration) MarshalJSON() ([]byte, error) { 3395 objectMap := b.SubResource.marshalInternal() 3396 populate(objectMap, "etag", b.Etag) 3397 populate(objectMap, "name", b.Name) 3398 populate(objectMap, "properties", b.Properties) 3399 populate(objectMap, "type", b.Type) 3400 return json.Marshal(objectMap) 3401} 3402 3403// BastionHostIPConfigurationPropertiesFormat - Properties of IP configuration of an Bastion Host. 3404type BastionHostIPConfigurationPropertiesFormat struct { 3405 // REQUIRED; Reference of the PublicIP resource. 3406 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 3407 3408 // REQUIRED; Reference of the subnet resource. 3409 Subnet *SubResource `json:"subnet,omitempty"` 3410 3411 // Private IP allocation method. 3412 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 3413 3414 // READ-ONLY; The provisioning state of the bastion host IP configuration resource. 3415 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 3416} 3417 3418// BastionHostListResult - Response for ListBastionHosts API service call. 3419type BastionHostListResult struct { 3420 // URL to get the next set of results. 3421 NextLink *string `json:"nextLink,omitempty"` 3422 3423 // List of Bastion Hosts in a resource group. 3424 Value []*BastionHost `json:"value,omitempty"` 3425} 3426 3427// MarshalJSON implements the json.Marshaller interface for type BastionHostListResult. 3428func (b BastionHostListResult) MarshalJSON() ([]byte, error) { 3429 objectMap := make(map[string]interface{}) 3430 populate(objectMap, "nextLink", b.NextLink) 3431 populate(objectMap, "value", b.Value) 3432 return json.Marshal(objectMap) 3433} 3434 3435// BastionHostPropertiesFormat - Properties of the Bastion Host. 3436type BastionHostPropertiesFormat struct { 3437 // FQDN for the endpoint on which bastion host is accessible. 3438 DNSName *string `json:"dnsName,omitempty"` 3439 3440 // IP configuration of the Bastion Host resource. 3441 IPConfigurations []*BastionHostIPConfiguration `json:"ipConfigurations,omitempty"` 3442 3443 // READ-ONLY; The provisioning state of the bastion host resource. 3444 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 3445} 3446 3447// MarshalJSON implements the json.Marshaller interface for type BastionHostPropertiesFormat. 3448func (b BastionHostPropertiesFormat) MarshalJSON() ([]byte, error) { 3449 objectMap := make(map[string]interface{}) 3450 populate(objectMap, "dnsName", b.DNSName) 3451 populate(objectMap, "ipConfigurations", b.IPConfigurations) 3452 populate(objectMap, "provisioningState", b.ProvisioningState) 3453 return json.Marshal(objectMap) 3454} 3455 3456// BastionHostsBeginCreateOrUpdateOptions contains the optional parameters for the BastionHosts.BeginCreateOrUpdate method. 3457type BastionHostsBeginCreateOrUpdateOptions struct { 3458 // placeholder for future optional parameters 3459} 3460 3461// BastionHostsBeginDeleteOptions contains the optional parameters for the BastionHosts.BeginDelete method. 3462type BastionHostsBeginDeleteOptions struct { 3463 // placeholder for future optional parameters 3464} 3465 3466// BastionHostsGetOptions contains the optional parameters for the BastionHosts.Get method. 3467type BastionHostsGetOptions struct { 3468 // placeholder for future optional parameters 3469} 3470 3471// BastionHostsListByResourceGroupOptions contains the optional parameters for the BastionHosts.ListByResourceGroup method. 3472type BastionHostsListByResourceGroupOptions struct { 3473 // placeholder for future optional parameters 3474} 3475 3476// BastionHostsListOptions contains the optional parameters for the BastionHosts.List method. 3477type BastionHostsListOptions struct { 3478 // placeholder for future optional parameters 3479} 3480 3481// BastionSessionDeleteResult - Response for DisconnectActiveSessions. 3482type BastionSessionDeleteResult struct { 3483 // The URL to get the next set of results. 3484 NextLink *string `json:"nextLink,omitempty"` 3485 3486 // List of sessions with their corresponding state. 3487 Value []*BastionSessionState `json:"value,omitempty"` 3488} 3489 3490// MarshalJSON implements the json.Marshaller interface for type BastionSessionDeleteResult. 3491func (b BastionSessionDeleteResult) MarshalJSON() ([]byte, error) { 3492 objectMap := make(map[string]interface{}) 3493 populate(objectMap, "nextLink", b.NextLink) 3494 populate(objectMap, "value", b.Value) 3495 return json.Marshal(objectMap) 3496} 3497 3498// BastionSessionState - The session state detail for a target. 3499type BastionSessionState struct { 3500 // READ-ONLY; Used for extra information. 3501 Message *string `json:"message,omitempty" azure:"ro"` 3502 3503 // READ-ONLY; A unique id for the session. 3504 SessionID *string `json:"sessionId,omitempty" azure:"ro"` 3505 3506 // READ-ONLY; The state of the session. Disconnected/Failed/NotFound. 3507 State *string `json:"state,omitempty" azure:"ro"` 3508} 3509 3510// BastionShareableLink - Bastion Shareable Link. 3511type BastionShareableLink struct { 3512 // REQUIRED; Reference of the virtual machine resource. 3513 VM *VM `json:"vm,omitempty"` 3514 3515 // READ-ONLY; The unique Bastion Shareable Link to the virtual machine. 3516 Bsl *string `json:"bsl,omitempty" azure:"ro"` 3517 3518 // READ-ONLY; The time when the link was created. 3519 CreatedAt *string `json:"createdAt,omitempty" azure:"ro"` 3520 3521 // READ-ONLY; Optional field indicating the warning or error message related to the vm in case of partial failure. 3522 Message *string `json:"message,omitempty" azure:"ro"` 3523} 3524 3525// BastionShareableLinkListRequest - Post request for all the Bastion Shareable Link endpoints. 3526type BastionShareableLinkListRequest struct { 3527 // List of VM references. 3528 VMs []*BastionShareableLink `json:"vms,omitempty"` 3529} 3530 3531// MarshalJSON implements the json.Marshaller interface for type BastionShareableLinkListRequest. 3532func (b BastionShareableLinkListRequest) MarshalJSON() ([]byte, error) { 3533 objectMap := make(map[string]interface{}) 3534 populate(objectMap, "vms", b.VMs) 3535 return json.Marshal(objectMap) 3536} 3537 3538// BastionShareableLinkListResult - Response for all the Bastion Shareable Link endpoints. 3539type BastionShareableLinkListResult struct { 3540 // The URL to get the next set of results. 3541 NextLink *string `json:"nextLink,omitempty"` 3542 3543 // List of Bastion Shareable Links for the request. 3544 Value []*BastionShareableLink `json:"value,omitempty"` 3545} 3546 3547// MarshalJSON implements the json.Marshaller interface for type BastionShareableLinkListResult. 3548func (b BastionShareableLinkListResult) MarshalJSON() ([]byte, error) { 3549 objectMap := make(map[string]interface{}) 3550 populate(objectMap, "nextLink", b.NextLink) 3551 populate(objectMap, "value", b.Value) 3552 return json.Marshal(objectMap) 3553} 3554 3555// BgpConnection - Virtual Appliance Site resource. 3556type BgpConnection struct { 3557 SubResource 3558 // Name of the connection. 3559 Name *string `json:"name,omitempty"` 3560 3561 // The properties of the Bgp connections. 3562 Properties *BgpConnectionProperties `json:"properties,omitempty"` 3563 3564 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 3565 Etag *string `json:"etag,omitempty" azure:"ro"` 3566 3567 // READ-ONLY; Connection type. 3568 Type *string `json:"type,omitempty" azure:"ro"` 3569} 3570 3571// MarshalJSON implements the json.Marshaller interface for type BgpConnection. 3572func (b BgpConnection) MarshalJSON() ([]byte, error) { 3573 objectMap := b.SubResource.marshalInternal() 3574 populate(objectMap, "etag", b.Etag) 3575 populate(objectMap, "name", b.Name) 3576 populate(objectMap, "properties", b.Properties) 3577 populate(objectMap, "type", b.Type) 3578 return json.Marshal(objectMap) 3579} 3580 3581// BgpConnectionProperties - Properties of the bgp connection. 3582type BgpConnectionProperties struct { 3583 // Peer ASN. 3584 PeerAsn *int64 `json:"peerAsn,omitempty"` 3585 3586 // Peer IP. 3587 PeerIP *string `json:"peerIp,omitempty"` 3588 3589 // READ-ONLY; The current state of the VirtualHub to Peer. 3590 ConnectionState *HubBgpConnectionStatus `json:"connectionState,omitempty" azure:"ro"` 3591 3592 // READ-ONLY; The provisioning state of the resource. 3593 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 3594} 3595 3596// BgpPeerStatus - BGP peer status details. 3597type BgpPeerStatus struct { 3598 // READ-ONLY; The autonomous system number of the remote BGP peer. 3599 Asn *int64 `json:"asn,omitempty" azure:"ro"` 3600 3601 // READ-ONLY; For how long the peering has been up. 3602 ConnectedDuration *string `json:"connectedDuration,omitempty" azure:"ro"` 3603 3604 // READ-ONLY; The virtual network gateway's local address. 3605 LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` 3606 3607 // READ-ONLY; The number of BGP messages received. 3608 MessagesReceived *int64 `json:"messagesReceived,omitempty" azure:"ro"` 3609 3610 // READ-ONLY; The number of BGP messages sent. 3611 MessagesSent *int64 `json:"messagesSent,omitempty" azure:"ro"` 3612 3613 // READ-ONLY; The remote BGP peer. 3614 Neighbor *string `json:"neighbor,omitempty" azure:"ro"` 3615 3616 // READ-ONLY; The number of routes learned from this peer. 3617 RoutesReceived *int64 `json:"routesReceived,omitempty" azure:"ro"` 3618 3619 // READ-ONLY; The BGP peer state. 3620 State *BgpPeerState `json:"state,omitempty" azure:"ro"` 3621} 3622 3623// BgpPeerStatusListResult - Response for list BGP peer status API service call. 3624type BgpPeerStatusListResult struct { 3625 // List of BGP peers. 3626 Value []*BgpPeerStatus `json:"value,omitempty"` 3627} 3628 3629// MarshalJSON implements the json.Marshaller interface for type BgpPeerStatusListResult. 3630func (b BgpPeerStatusListResult) MarshalJSON() ([]byte, error) { 3631 objectMap := make(map[string]interface{}) 3632 populate(objectMap, "value", b.Value) 3633 return json.Marshal(objectMap) 3634} 3635 3636// BgpServiceCommunitiesListOptions contains the optional parameters for the BgpServiceCommunities.List method. 3637type BgpServiceCommunitiesListOptions struct { 3638 // placeholder for future optional parameters 3639} 3640 3641// BgpServiceCommunity - Service Community Properties. 3642type BgpServiceCommunity struct { 3643 Resource 3644 // Properties of the BGP service community. 3645 Properties *BgpServiceCommunityPropertiesFormat `json:"properties,omitempty"` 3646} 3647 3648// MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunity. 3649func (b BgpServiceCommunity) MarshalJSON() ([]byte, error) { 3650 objectMap := b.Resource.marshalInternal() 3651 populate(objectMap, "properties", b.Properties) 3652 return json.Marshal(objectMap) 3653} 3654 3655// BgpServiceCommunityListResult - Response for the ListServiceCommunity API service call. 3656type BgpServiceCommunityListResult struct { 3657 // The URL to get the next set of results. 3658 NextLink *string `json:"nextLink,omitempty"` 3659 3660 // A list of service community resources. 3661 Value []*BgpServiceCommunity `json:"value,omitempty"` 3662} 3663 3664// MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunityListResult. 3665func (b BgpServiceCommunityListResult) MarshalJSON() ([]byte, error) { 3666 objectMap := make(map[string]interface{}) 3667 populate(objectMap, "nextLink", b.NextLink) 3668 populate(objectMap, "value", b.Value) 3669 return json.Marshal(objectMap) 3670} 3671 3672// BgpServiceCommunityPropertiesFormat - Properties of Service Community. 3673type BgpServiceCommunityPropertiesFormat struct { 3674 // A list of bgp communities. 3675 BgpCommunities []*BGPCommunity `json:"bgpCommunities,omitempty"` 3676 3677 // The name of the bgp community. e.g. Skype. 3678 ServiceName *string `json:"serviceName,omitempty"` 3679} 3680 3681// MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunityPropertiesFormat. 3682func (b BgpServiceCommunityPropertiesFormat) MarshalJSON() ([]byte, error) { 3683 objectMap := make(map[string]interface{}) 3684 populate(objectMap, "bgpCommunities", b.BgpCommunities) 3685 populate(objectMap, "serviceName", b.ServiceName) 3686 return json.Marshal(objectMap) 3687} 3688 3689// BgpSettings - BGP settings details. 3690type BgpSettings struct { 3691 // The BGP speaker's ASN. 3692 Asn *int64 `json:"asn,omitempty"` 3693 3694 // The BGP peering address and BGP identifier of this BGP speaker. 3695 BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` 3696 3697 // BGP peering address with IP configuration ID for virtual network gateway. 3698 BgpPeeringAddresses []*IPConfigurationBgpPeeringAddress `json:"bgpPeeringAddresses,omitempty"` 3699 3700 // The weight added to routes learned from this BGP speaker. 3701 PeerWeight *int32 `json:"peerWeight,omitempty"` 3702} 3703 3704// MarshalJSON implements the json.Marshaller interface for type BgpSettings. 3705func (b BgpSettings) MarshalJSON() ([]byte, error) { 3706 objectMap := make(map[string]interface{}) 3707 populate(objectMap, "asn", b.Asn) 3708 populate(objectMap, "bgpPeeringAddress", b.BgpPeeringAddress) 3709 populate(objectMap, "bgpPeeringAddresses", b.BgpPeeringAddresses) 3710 populate(objectMap, "peerWeight", b.PeerWeight) 3711 return json.Marshal(objectMap) 3712} 3713 3714// BreakOutCategoryPolicies - Network Virtual Appliance Sku Properties. 3715type BreakOutCategoryPolicies struct { 3716 // Flag to control breakout of o365 allow category. 3717 Allow *bool `json:"allow,omitempty"` 3718 3719 // Flag to control breakout of o365 default category. 3720 Default *bool `json:"default,omitempty"` 3721 3722 // Flag to control breakout of o365 optimize category. 3723 Optimize *bool `json:"optimize,omitempty"` 3724} 3725 3726// CheckPrivateLinkServiceVisibilityRequest - Request body of the CheckPrivateLinkServiceVisibility API service call. 3727type CheckPrivateLinkServiceVisibilityRequest struct { 3728 // The alias of the private link service. 3729 PrivateLinkServiceAlias *string `json:"privateLinkServiceAlias,omitempty"` 3730} 3731 3732// CloudError - An error response from the service. 3733// Implements the error and azcore.HTTPResponse interfaces. 3734type CloudError struct { 3735 raw string 3736 // Cloud error body. 3737 InnerError *CloudErrorBody `json:"error,omitempty"` 3738} 3739 3740// Error implements the error interface for type CloudError. 3741// The contents of the error text are not contractual and subject to change. 3742func (e CloudError) Error() string { 3743 return e.raw 3744} 3745 3746// CloudErrorBody - An error response from the service. 3747type CloudErrorBody struct { 3748 // An identifier for the error. Codes are invariant and are intended to be consumed programmatically. 3749 Code *string `json:"code,omitempty"` 3750 3751 // A list of additional details about the error. 3752 Details []*CloudErrorBody `json:"details,omitempty"` 3753 3754 // A message describing the error, intended to be suitable for display in a user interface. 3755 Message *string `json:"message,omitempty"` 3756 3757 // The target of the particular error. For example, the name of the property in error. 3758 Target *string `json:"target,omitempty"` 3759} 3760 3761// MarshalJSON implements the json.Marshaller interface for type CloudErrorBody. 3762func (c CloudErrorBody) MarshalJSON() ([]byte, error) { 3763 objectMap := make(map[string]interface{}) 3764 populate(objectMap, "code", c.Code) 3765 populate(objectMap, "details", c.Details) 3766 populate(objectMap, "message", c.Message) 3767 populate(objectMap, "target", c.Target) 3768 return json.Marshal(objectMap) 3769} 3770 3771type Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties struct { 3772 // READ-ONLY; The client id of user assigned identity. 3773 ClientID *string `json:"clientId,omitempty" azure:"ro"` 3774 3775 // READ-ONLY; The principal id of user assigned identity. 3776 PrincipalID *string `json:"principalId,omitempty" azure:"ro"` 3777} 3778 3779// ConnectionMonitor - Parameters that define the operation to create a connection monitor. 3780type ConnectionMonitor struct { 3781 // REQUIRED; Properties of the connection monitor. 3782 Properties *ConnectionMonitorParameters `json:"properties,omitempty"` 3783 3784 // Connection monitor location. 3785 Location *string `json:"location,omitempty"` 3786 3787 // Connection monitor tags. 3788 Tags map[string]*string `json:"tags,omitempty"` 3789} 3790 3791// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitor. 3792func (c ConnectionMonitor) MarshalJSON() ([]byte, error) { 3793 objectMap := make(map[string]interface{}) 3794 populate(objectMap, "location", c.Location) 3795 populate(objectMap, "properties", c.Properties) 3796 populate(objectMap, "tags", c.Tags) 3797 return json.Marshal(objectMap) 3798} 3799 3800// ConnectionMonitorDestination - Describes the destination of connection monitor. 3801type ConnectionMonitorDestination struct { 3802 // Address of the connection monitor destination (IP or domain name). 3803 Address *string `json:"address,omitempty"` 3804 3805 // The destination port used by connection monitor. 3806 Port *int32 `json:"port,omitempty"` 3807 3808 // The ID of the resource used as the destination by connection monitor. 3809 ResourceID *string `json:"resourceId,omitempty"` 3810} 3811 3812// ConnectionMonitorEndpoint - Describes the connection monitor endpoint. 3813type ConnectionMonitorEndpoint struct { 3814 // REQUIRED; The name of the connection monitor endpoint. 3815 Name *string `json:"name,omitempty"` 3816 3817 // Address of the connection monitor endpoint (IP or domain name). 3818 Address *string `json:"address,omitempty"` 3819 3820 // Test coverage for the endpoint. 3821 CoverageLevel *CoverageLevel `json:"coverageLevel,omitempty"` 3822 3823 // Filter for sub-items within the endpoint. 3824 Filter *ConnectionMonitorEndpointFilter `json:"filter,omitempty"` 3825 3826 // Resource ID of the connection monitor endpoint. 3827 ResourceID *string `json:"resourceId,omitempty"` 3828 3829 // Endpoint scope. 3830 Scope *ConnectionMonitorEndpointScope `json:"scope,omitempty"` 3831 3832 // The endpoint type. 3833 Type *EndpointType `json:"type,omitempty"` 3834} 3835 3836// ConnectionMonitorEndpointFilter - Describes the connection monitor endpoint filter. 3837type ConnectionMonitorEndpointFilter struct { 3838 // List of items in the filter. 3839 Items []*ConnectionMonitorEndpointFilterItem `json:"items,omitempty"` 3840 3841 // The behavior of the endpoint filter. Currently only 'Include' is supported. 3842 Type *ConnectionMonitorEndpointFilterType `json:"type,omitempty"` 3843} 3844 3845// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointFilter. 3846func (c ConnectionMonitorEndpointFilter) MarshalJSON() ([]byte, error) { 3847 objectMap := make(map[string]interface{}) 3848 populate(objectMap, "items", c.Items) 3849 populate(objectMap, "type", c.Type) 3850 return json.Marshal(objectMap) 3851} 3852 3853// ConnectionMonitorEndpointFilterItem - Describes the connection monitor endpoint filter item. 3854type ConnectionMonitorEndpointFilterItem struct { 3855 // The address of the filter item. 3856 Address *string `json:"address,omitempty"` 3857 3858 // The type of item included in the filter. Currently only 'AgentAddress' is supported. 3859 Type *ConnectionMonitorEndpointFilterItemType `json:"type,omitempty"` 3860} 3861 3862// ConnectionMonitorEndpointScope - Describes the connection monitor endpoint scope. 3863type ConnectionMonitorEndpointScope struct { 3864 // List of items which needs to be excluded from the endpoint scope. 3865 Exclude []*ConnectionMonitorEndpointScopeItem `json:"exclude,omitempty"` 3866 3867 // List of items which needs to be included to the endpoint scope. 3868 Include []*ConnectionMonitorEndpointScopeItem `json:"include,omitempty"` 3869} 3870 3871// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointScope. 3872func (c ConnectionMonitorEndpointScope) MarshalJSON() ([]byte, error) { 3873 objectMap := make(map[string]interface{}) 3874 populate(objectMap, "exclude", c.Exclude) 3875 populate(objectMap, "include", c.Include) 3876 return json.Marshal(objectMap) 3877} 3878 3879// ConnectionMonitorEndpointScopeItem - Describes the connection monitor endpoint scope item. 3880type ConnectionMonitorEndpointScopeItem struct { 3881 // The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address. 3882 Address *string `json:"address,omitempty"` 3883} 3884 3885// ConnectionMonitorHTTPConfiguration - Describes the HTTP configuration. 3886type ConnectionMonitorHTTPConfiguration struct { 3887 // The HTTP method to use. 3888 Method *HTTPConfigurationMethod `json:"method,omitempty"` 3889 3890 // The path component of the URI. For instance, "/dir1/dir2". 3891 Path *string `json:"path,omitempty"` 3892 3893 // The port to connect to. 3894 Port *int32 `json:"port,omitempty"` 3895 3896 // Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit. 3897 PreferHTTPS *bool `json:"preferHTTPS,omitempty"` 3898 3899 // The HTTP headers to transmit with the request. 3900 RequestHeaders []*HTTPHeader `json:"requestHeaders,omitempty"` 3901 3902 // HTTP status codes to consider successful. For instance, "2xx,301-304,418". 3903 ValidStatusCodeRanges []*string `json:"validStatusCodeRanges,omitempty"` 3904} 3905 3906// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorHTTPConfiguration. 3907func (c ConnectionMonitorHTTPConfiguration) MarshalJSON() ([]byte, error) { 3908 objectMap := make(map[string]interface{}) 3909 populate(objectMap, "method", c.Method) 3910 populate(objectMap, "path", c.Path) 3911 populate(objectMap, "port", c.Port) 3912 populate(objectMap, "preferHTTPS", c.PreferHTTPS) 3913 populate(objectMap, "requestHeaders", c.RequestHeaders) 3914 populate(objectMap, "validStatusCodeRanges", c.ValidStatusCodeRanges) 3915 return json.Marshal(objectMap) 3916} 3917 3918// ConnectionMonitorIcmpConfiguration - Describes the ICMP configuration. 3919type ConnectionMonitorIcmpConfiguration struct { 3920 // Value indicating whether path evaluation with trace route should be disabled. 3921 DisableTraceRoute *bool `json:"disableTraceRoute,omitempty"` 3922} 3923 3924// ConnectionMonitorListResult - List of connection monitors. 3925type ConnectionMonitorListResult struct { 3926 // Information about connection monitors. 3927 Value []*ConnectionMonitorResult `json:"value,omitempty"` 3928} 3929 3930// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorListResult. 3931func (c ConnectionMonitorListResult) MarshalJSON() ([]byte, error) { 3932 objectMap := make(map[string]interface{}) 3933 populate(objectMap, "value", c.Value) 3934 return json.Marshal(objectMap) 3935} 3936 3937// ConnectionMonitorOutput - Describes a connection monitor output destination. 3938type ConnectionMonitorOutput struct { 3939 // Connection monitor output destination type. Currently, only "Workspace" is supported. 3940 Type *OutputType `json:"type,omitempty"` 3941 3942 // Describes the settings for producing output into a log analytics workspace. 3943 WorkspaceSettings *ConnectionMonitorWorkspaceSettings `json:"workspaceSettings,omitempty"` 3944} 3945 3946// ConnectionMonitorParameters - Parameters that define the operation to create a connection monitor. 3947type ConnectionMonitorParameters struct { 3948 // Determines if the connection monitor will start automatically once created. 3949 AutoStart *bool `json:"autoStart,omitempty"` 3950 3951 // Describes the destination of connection monitor. 3952 Destination *ConnectionMonitorDestination `json:"destination,omitempty"` 3953 3954 // List of connection monitor endpoints. 3955 Endpoints []*ConnectionMonitorEndpoint `json:"endpoints,omitempty"` 3956 3957 // Monitoring interval in seconds. 3958 MonitoringIntervalInSeconds *int32 `json:"monitoringIntervalInSeconds,omitempty"` 3959 3960 // Optional notes to be associated with the connection monitor. 3961 Notes *string `json:"notes,omitempty"` 3962 3963 // List of connection monitor outputs. 3964 Outputs []*ConnectionMonitorOutput `json:"outputs,omitempty"` 3965 3966 // Describes the source of connection monitor. 3967 Source *ConnectionMonitorSource `json:"source,omitempty"` 3968 3969 // List of connection monitor test configurations. 3970 TestConfigurations []*ConnectionMonitorTestConfiguration `json:"testConfigurations,omitempty"` 3971 3972 // List of connection monitor test groups. 3973 TestGroups []*ConnectionMonitorTestGroup `json:"testGroups,omitempty"` 3974} 3975 3976// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorParameters. 3977func (c ConnectionMonitorParameters) MarshalJSON() ([]byte, error) { 3978 objectMap := c.marshalInternal() 3979 return json.Marshal(objectMap) 3980} 3981 3982// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorParameters. 3983func (c *ConnectionMonitorParameters) UnmarshalJSON(data []byte) error { 3984 var rawMsg map[string]json.RawMessage 3985 if err := json.Unmarshal(data, &rawMsg); err != nil { 3986 return err 3987 } 3988 return c.unmarshalInternal(rawMsg) 3989} 3990 3991func (c ConnectionMonitorParameters) marshalInternal() map[string]interface{} { 3992 objectMap := make(map[string]interface{}) 3993 populate(objectMap, "autoStart", c.AutoStart) 3994 populate(objectMap, "destination", c.Destination) 3995 populate(objectMap, "endpoints", c.Endpoints) 3996 populate(objectMap, "monitoringIntervalInSeconds", c.MonitoringIntervalInSeconds) 3997 populate(objectMap, "notes", c.Notes) 3998 populate(objectMap, "outputs", c.Outputs) 3999 populate(objectMap, "source", c.Source) 4000 populate(objectMap, "testConfigurations", c.TestConfigurations) 4001 populate(objectMap, "testGroups", c.TestGroups) 4002 return objectMap 4003} 4004 4005func (c *ConnectionMonitorParameters) unmarshalInternal(rawMsg map[string]json.RawMessage) error { 4006 for key, val := range rawMsg { 4007 var err error 4008 switch key { 4009 case "autoStart": 4010 err = unpopulate(val, &c.AutoStart) 4011 delete(rawMsg, key) 4012 case "destination": 4013 err = unpopulate(val, &c.Destination) 4014 delete(rawMsg, key) 4015 case "endpoints": 4016 err = unpopulate(val, &c.Endpoints) 4017 delete(rawMsg, key) 4018 case "monitoringIntervalInSeconds": 4019 err = unpopulate(val, &c.MonitoringIntervalInSeconds) 4020 delete(rawMsg, key) 4021 case "notes": 4022 err = unpopulate(val, &c.Notes) 4023 delete(rawMsg, key) 4024 case "outputs": 4025 err = unpopulate(val, &c.Outputs) 4026 delete(rawMsg, key) 4027 case "source": 4028 err = unpopulate(val, &c.Source) 4029 delete(rawMsg, key) 4030 case "testConfigurations": 4031 err = unpopulate(val, &c.TestConfigurations) 4032 delete(rawMsg, key) 4033 case "testGroups": 4034 err = unpopulate(val, &c.TestGroups) 4035 delete(rawMsg, key) 4036 } 4037 if err != nil { 4038 return err 4039 } 4040 } 4041 return nil 4042} 4043 4044// ConnectionMonitorQueryResult - List of connection states snapshots. 4045type ConnectionMonitorQueryResult struct { 4046 // Status of connection monitor source. 4047 SourceStatus *ConnectionMonitorSourceStatus `json:"sourceStatus,omitempty"` 4048 4049 // Information about connection states. 4050 States []*ConnectionStateSnapshot `json:"states,omitempty"` 4051} 4052 4053// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorQueryResult. 4054func (c ConnectionMonitorQueryResult) MarshalJSON() ([]byte, error) { 4055 objectMap := make(map[string]interface{}) 4056 populate(objectMap, "sourceStatus", c.SourceStatus) 4057 populate(objectMap, "states", c.States) 4058 return json.Marshal(objectMap) 4059} 4060 4061// ConnectionMonitorResult - Information about the connection monitor. 4062type ConnectionMonitorResult struct { 4063 // Connection monitor location. 4064 Location *string `json:"location,omitempty"` 4065 4066 // Properties of the connection monitor result. 4067 Properties *ConnectionMonitorResultProperties `json:"properties,omitempty"` 4068 4069 // Connection monitor tags. 4070 Tags map[string]*string `json:"tags,omitempty"` 4071 4072 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4073 Etag *string `json:"etag,omitempty" azure:"ro"` 4074 4075 // READ-ONLY; ID of the connection monitor. 4076 ID *string `json:"id,omitempty" azure:"ro"` 4077 4078 // READ-ONLY; Name of the connection monitor. 4079 Name *string `json:"name,omitempty" azure:"ro"` 4080 4081 // READ-ONLY; Connection monitor type. 4082 Type *string `json:"type,omitempty" azure:"ro"` 4083} 4084 4085// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorResult. 4086func (c ConnectionMonitorResult) MarshalJSON() ([]byte, error) { 4087 objectMap := make(map[string]interface{}) 4088 populate(objectMap, "etag", c.Etag) 4089 populate(objectMap, "id", c.ID) 4090 populate(objectMap, "location", c.Location) 4091 populate(objectMap, "name", c.Name) 4092 populate(objectMap, "properties", c.Properties) 4093 populate(objectMap, "tags", c.Tags) 4094 populate(objectMap, "type", c.Type) 4095 return json.Marshal(objectMap) 4096} 4097 4098// ConnectionMonitorResultProperties - Describes the properties of a connection monitor. 4099type ConnectionMonitorResultProperties struct { 4100 ConnectionMonitorParameters 4101 // READ-ONLY; Type of connection monitor. 4102 ConnectionMonitorType *ConnectionMonitorType `json:"connectionMonitorType,omitempty" azure:"ro"` 4103 4104 // READ-ONLY; The monitoring status of the connection monitor. 4105 MonitoringStatus *string `json:"monitoringStatus,omitempty" azure:"ro"` 4106 4107 // READ-ONLY; The provisioning state of the connection monitor. 4108 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4109 4110 // READ-ONLY; The date and time when the connection monitor was started. 4111 StartTime *time.Time `json:"startTime,omitempty" azure:"ro"` 4112} 4113 4114// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorResultProperties. 4115func (c ConnectionMonitorResultProperties) MarshalJSON() ([]byte, error) { 4116 objectMap := c.ConnectionMonitorParameters.marshalInternal() 4117 populate(objectMap, "connectionMonitorType", c.ConnectionMonitorType) 4118 populate(objectMap, "monitoringStatus", c.MonitoringStatus) 4119 populate(objectMap, "provisioningState", c.ProvisioningState) 4120 populate(objectMap, "startTime", (*timeRFC3339)(c.StartTime)) 4121 return json.Marshal(objectMap) 4122} 4123 4124// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorResultProperties. 4125func (c *ConnectionMonitorResultProperties) UnmarshalJSON(data []byte) error { 4126 var rawMsg map[string]json.RawMessage 4127 if err := json.Unmarshal(data, &rawMsg); err != nil { 4128 return err 4129 } 4130 for key, val := range rawMsg { 4131 var err error 4132 switch key { 4133 case "connectionMonitorType": 4134 err = unpopulate(val, &c.ConnectionMonitorType) 4135 delete(rawMsg, key) 4136 case "monitoringStatus": 4137 err = unpopulate(val, &c.MonitoringStatus) 4138 delete(rawMsg, key) 4139 case "provisioningState": 4140 err = unpopulate(val, &c.ProvisioningState) 4141 delete(rawMsg, key) 4142 case "startTime": 4143 var aux timeRFC3339 4144 err = unpopulate(val, &aux) 4145 c.StartTime = (*time.Time)(&aux) 4146 delete(rawMsg, key) 4147 } 4148 if err != nil { 4149 return err 4150 } 4151 } 4152 return c.ConnectionMonitorParameters.unmarshalInternal(rawMsg) 4153} 4154 4155// ConnectionMonitorSource - Describes the source of connection monitor. 4156type ConnectionMonitorSource struct { 4157 // REQUIRED; The ID of the resource used as the source by connection monitor. 4158 ResourceID *string `json:"resourceId,omitempty"` 4159 4160 // The source port used by connection monitor. 4161 Port *int32 `json:"port,omitempty"` 4162} 4163 4164// ConnectionMonitorSuccessThreshold - Describes the threshold for declaring a test successful. 4165type ConnectionMonitorSuccessThreshold struct { 4166 // The maximum percentage of failed checks permitted for a test to evaluate as successful. 4167 ChecksFailedPercent *int32 `json:"checksFailedPercent,omitempty"` 4168 4169 // The maximum round-trip time in milliseconds permitted for a test to evaluate as successful. 4170 RoundTripTimeMs *float32 `json:"roundTripTimeMs,omitempty"` 4171} 4172 4173// ConnectionMonitorTCPConfiguration - Describes the TCP configuration. 4174type ConnectionMonitorTCPConfiguration struct { 4175 // Destination port behavior. 4176 DestinationPortBehavior *DestinationPortBehavior `json:"destinationPortBehavior,omitempty"` 4177 4178 // Value indicating whether path evaluation with trace route should be disabled. 4179 DisableTraceRoute *bool `json:"disableTraceRoute,omitempty"` 4180 4181 // The port to connect to. 4182 Port *int32 `json:"port,omitempty"` 4183} 4184 4185// ConnectionMonitorTestConfiguration - Describes a connection monitor test configuration. 4186type ConnectionMonitorTestConfiguration struct { 4187 // REQUIRED; The name of the connection monitor test configuration. 4188 Name *string `json:"name,omitempty"` 4189 4190 // REQUIRED; The protocol to use in test evaluation. 4191 Protocol *ConnectionMonitorTestConfigurationProtocol `json:"protocol,omitempty"` 4192 4193 // The parameters used to perform test evaluation over HTTP. 4194 HTTPConfiguration *ConnectionMonitorHTTPConfiguration `json:"httpConfiguration,omitempty"` 4195 4196 // The parameters used to perform test evaluation over ICMP. 4197 IcmpConfiguration *ConnectionMonitorIcmpConfiguration `json:"icmpConfiguration,omitempty"` 4198 4199 // The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters. 4200 PreferredIPVersion *PreferredIPVersion `json:"preferredIPVersion,omitempty"` 4201 4202 // The threshold for declaring a test successful. 4203 SuccessThreshold *ConnectionMonitorSuccessThreshold `json:"successThreshold,omitempty"` 4204 4205 // The parameters used to perform test evaluation over TCP. 4206 TCPConfiguration *ConnectionMonitorTCPConfiguration `json:"tcpConfiguration,omitempty"` 4207 4208 // The frequency of test evaluation, in seconds. 4209 TestFrequencySec *int32 `json:"testFrequencySec,omitempty"` 4210} 4211 4212// ConnectionMonitorTestGroup - Describes the connection monitor test group. 4213type ConnectionMonitorTestGroup struct { 4214 // REQUIRED; List of destination endpoint names. 4215 Destinations []*string `json:"destinations,omitempty"` 4216 4217 // REQUIRED; The name of the connection monitor test group. 4218 Name *string `json:"name,omitempty"` 4219 4220 // REQUIRED; List of source endpoint names. 4221 Sources []*string `json:"sources,omitempty"` 4222 4223 // REQUIRED; List of test configuration names. 4224 TestConfigurations []*string `json:"testConfigurations,omitempty"` 4225 4226 // Value indicating whether test group is disabled. 4227 Disable *bool `json:"disable,omitempty"` 4228} 4229 4230// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorTestGroup. 4231func (c ConnectionMonitorTestGroup) MarshalJSON() ([]byte, error) { 4232 objectMap := make(map[string]interface{}) 4233 populate(objectMap, "destinations", c.Destinations) 4234 populate(objectMap, "disable", c.Disable) 4235 populate(objectMap, "name", c.Name) 4236 populate(objectMap, "sources", c.Sources) 4237 populate(objectMap, "testConfigurations", c.TestConfigurations) 4238 return json.Marshal(objectMap) 4239} 4240 4241// ConnectionMonitorWorkspaceSettings - Describes the settings for producing output into a log analytics workspace. 4242type ConnectionMonitorWorkspaceSettings struct { 4243 // Log analytics workspace resource ID. 4244 WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` 4245} 4246 4247// ConnectionMonitorsBeginCreateOrUpdateOptions contains the optional parameters for the ConnectionMonitors.BeginCreateOrUpdate method. 4248type ConnectionMonitorsBeginCreateOrUpdateOptions struct { 4249 // Value indicating whether connection monitor V1 should be migrated to V2 format. 4250 Migrate *string 4251} 4252 4253// ConnectionMonitorsBeginDeleteOptions contains the optional parameters for the ConnectionMonitors.BeginDelete method. 4254type ConnectionMonitorsBeginDeleteOptions struct { 4255 // placeholder for future optional parameters 4256} 4257 4258// ConnectionMonitorsBeginQueryOptions contains the optional parameters for the ConnectionMonitors.BeginQuery method. 4259type ConnectionMonitorsBeginQueryOptions struct { 4260 // placeholder for future optional parameters 4261} 4262 4263// ConnectionMonitorsBeginStartOptions contains the optional parameters for the ConnectionMonitors.BeginStart method. 4264type ConnectionMonitorsBeginStartOptions struct { 4265 // placeholder for future optional parameters 4266} 4267 4268// ConnectionMonitorsBeginStopOptions contains the optional parameters for the ConnectionMonitors.BeginStop method. 4269type ConnectionMonitorsBeginStopOptions struct { 4270 // placeholder for future optional parameters 4271} 4272 4273// ConnectionMonitorsGetOptions contains the optional parameters for the ConnectionMonitors.Get method. 4274type ConnectionMonitorsGetOptions struct { 4275 // placeholder for future optional parameters 4276} 4277 4278// ConnectionMonitorsListOptions contains the optional parameters for the ConnectionMonitors.List method. 4279type ConnectionMonitorsListOptions struct { 4280 // placeholder for future optional parameters 4281} 4282 4283// ConnectionMonitorsUpdateTagsOptions contains the optional parameters for the ConnectionMonitors.UpdateTags method. 4284type ConnectionMonitorsUpdateTagsOptions struct { 4285 // placeholder for future optional parameters 4286} 4287 4288// ConnectionResetSharedKey - The virtual network connection reset shared key. 4289type ConnectionResetSharedKey struct { 4290 // REQUIRED; The virtual network connection reset shared key length, should between 1 and 128. 4291 KeyLength *int32 `json:"keyLength,omitempty"` 4292} 4293 4294// ConnectionSharedKey - Response for GetConnectionSharedKey API service call. 4295type ConnectionSharedKey struct { 4296 SubResource 4297 // REQUIRED; The virtual network connection shared key value. 4298 Value *string `json:"value,omitempty"` 4299} 4300 4301// MarshalJSON implements the json.Marshaller interface for type ConnectionSharedKey. 4302func (c ConnectionSharedKey) MarshalJSON() ([]byte, error) { 4303 objectMap := c.SubResource.marshalInternal() 4304 populate(objectMap, "value", c.Value) 4305 return json.Marshal(objectMap) 4306} 4307 4308// ConnectionStateSnapshot - Connection state snapshot. 4309type ConnectionStateSnapshot struct { 4310 // Average latency in ms. 4311 AvgLatencyInMs *int64 `json:"avgLatencyInMs,omitempty"` 4312 4313 // The connection state. 4314 ConnectionState *ConnectionState `json:"connectionState,omitempty"` 4315 4316 // The end time of the connection snapshot. 4317 EndTime *time.Time `json:"endTime,omitempty"` 4318 4319 // Connectivity analysis evaluation state. 4320 EvaluationState *EvaluationState `json:"evaluationState,omitempty"` 4321 4322 // Maximum latency in ms. 4323 MaxLatencyInMs *int64 `json:"maxLatencyInMs,omitempty"` 4324 4325 // Minimum latency in ms. 4326 MinLatencyInMs *int64 `json:"minLatencyInMs,omitempty"` 4327 4328 // The number of failed probes. 4329 ProbesFailed *int64 `json:"probesFailed,omitempty"` 4330 4331 // The number of sent probes. 4332 ProbesSent *int64 `json:"probesSent,omitempty"` 4333 4334 // The start time of the connection snapshot. 4335 StartTime *time.Time `json:"startTime,omitempty"` 4336 4337 // READ-ONLY; List of hops between the source and the destination. 4338 Hops []*ConnectivityHop `json:"hops,omitempty" azure:"ro"` 4339} 4340 4341// MarshalJSON implements the json.Marshaller interface for type ConnectionStateSnapshot. 4342func (c ConnectionStateSnapshot) MarshalJSON() ([]byte, error) { 4343 objectMap := make(map[string]interface{}) 4344 populate(objectMap, "avgLatencyInMs", c.AvgLatencyInMs) 4345 populate(objectMap, "connectionState", c.ConnectionState) 4346 populate(objectMap, "endTime", (*timeRFC3339)(c.EndTime)) 4347 populate(objectMap, "evaluationState", c.EvaluationState) 4348 populate(objectMap, "hops", c.Hops) 4349 populate(objectMap, "maxLatencyInMs", c.MaxLatencyInMs) 4350 populate(objectMap, "minLatencyInMs", c.MinLatencyInMs) 4351 populate(objectMap, "probesFailed", c.ProbesFailed) 4352 populate(objectMap, "probesSent", c.ProbesSent) 4353 populate(objectMap, "startTime", (*timeRFC3339)(c.StartTime)) 4354 return json.Marshal(objectMap) 4355} 4356 4357// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionStateSnapshot. 4358func (c *ConnectionStateSnapshot) UnmarshalJSON(data []byte) error { 4359 var rawMsg map[string]json.RawMessage 4360 if err := json.Unmarshal(data, &rawMsg); err != nil { 4361 return err 4362 } 4363 for key, val := range rawMsg { 4364 var err error 4365 switch key { 4366 case "avgLatencyInMs": 4367 err = unpopulate(val, &c.AvgLatencyInMs) 4368 delete(rawMsg, key) 4369 case "connectionState": 4370 err = unpopulate(val, &c.ConnectionState) 4371 delete(rawMsg, key) 4372 case "endTime": 4373 var aux timeRFC3339 4374 err = unpopulate(val, &aux) 4375 c.EndTime = (*time.Time)(&aux) 4376 delete(rawMsg, key) 4377 case "evaluationState": 4378 err = unpopulate(val, &c.EvaluationState) 4379 delete(rawMsg, key) 4380 case "hops": 4381 err = unpopulate(val, &c.Hops) 4382 delete(rawMsg, key) 4383 case "maxLatencyInMs": 4384 err = unpopulate(val, &c.MaxLatencyInMs) 4385 delete(rawMsg, key) 4386 case "minLatencyInMs": 4387 err = unpopulate(val, &c.MinLatencyInMs) 4388 delete(rawMsg, key) 4389 case "probesFailed": 4390 err = unpopulate(val, &c.ProbesFailed) 4391 delete(rawMsg, key) 4392 case "probesSent": 4393 err = unpopulate(val, &c.ProbesSent) 4394 delete(rawMsg, key) 4395 case "startTime": 4396 var aux timeRFC3339 4397 err = unpopulate(val, &aux) 4398 c.StartTime = (*time.Time)(&aux) 4399 delete(rawMsg, key) 4400 } 4401 if err != nil { 4402 return err 4403 } 4404 } 4405 return nil 4406} 4407 4408// ConnectivityDestination - Parameters that define destination of connection. 4409type ConnectivityDestination struct { 4410 // The IP address or URI the resource to which a connection attempt will be made. 4411 Address *string `json:"address,omitempty"` 4412 4413 // Port on which check connectivity will be performed. 4414 Port *int32 `json:"port,omitempty"` 4415 4416 // The ID of the resource to which a connection attempt will be made. 4417 ResourceID *string `json:"resourceId,omitempty"` 4418} 4419 4420// ConnectivityHop - Information about a hop between the source and the destination. 4421type ConnectivityHop struct { 4422 // READ-ONLY; The IP address of the hop. 4423 Address *string `json:"address,omitempty" azure:"ro"` 4424 4425 // READ-ONLY; The ID of the hop. 4426 ID *string `json:"id,omitempty" azure:"ro"` 4427 4428 // READ-ONLY; List of issues. 4429 Issues []*ConnectivityIssue `json:"issues,omitempty" azure:"ro"` 4430 4431 // READ-ONLY; List of hop links. 4432 Links []*HopLink `json:"links,omitempty" azure:"ro"` 4433 4434 // READ-ONLY; List of next hop identifiers. 4435 NextHopIDs []*string `json:"nextHopIds,omitempty" azure:"ro"` 4436 4437 // READ-ONLY; List of previous hop identifiers. 4438 PreviousHopIDs []*string `json:"previousHopIds,omitempty" azure:"ro"` 4439 4440 // READ-ONLY; List of previous hop links. 4441 PreviousLinks []*HopLink `json:"previousLinks,omitempty" azure:"ro"` 4442 4443 // READ-ONLY; The ID of the resource corresponding to this hop. 4444 ResourceID *string `json:"resourceId,omitempty" azure:"ro"` 4445 4446 // READ-ONLY; The type of the hop. 4447 Type *string `json:"type,omitempty" azure:"ro"` 4448} 4449 4450// MarshalJSON implements the json.Marshaller interface for type ConnectivityHop. 4451func (c ConnectivityHop) MarshalJSON() ([]byte, error) { 4452 objectMap := make(map[string]interface{}) 4453 populate(objectMap, "address", c.Address) 4454 populate(objectMap, "id", c.ID) 4455 populate(objectMap, "issues", c.Issues) 4456 populate(objectMap, "links", c.Links) 4457 populate(objectMap, "nextHopIds", c.NextHopIDs) 4458 populate(objectMap, "previousHopIds", c.PreviousHopIDs) 4459 populate(objectMap, "previousLinks", c.PreviousLinks) 4460 populate(objectMap, "resourceId", c.ResourceID) 4461 populate(objectMap, "type", c.Type) 4462 return json.Marshal(objectMap) 4463} 4464 4465// ConnectivityInformation - Information on the connectivity status. 4466type ConnectivityInformation struct { 4467 // READ-ONLY; Average latency in milliseconds. 4468 AvgLatencyInMs *int32 `json:"avgLatencyInMs,omitempty" azure:"ro"` 4469 4470 // READ-ONLY; The connection status. 4471 ConnectionStatus *ConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 4472 4473 // READ-ONLY; List of hops between the source and the destination. 4474 Hops []*ConnectivityHop `json:"hops,omitempty" azure:"ro"` 4475 4476 // READ-ONLY; Maximum latency in milliseconds. 4477 MaxLatencyInMs *int32 `json:"maxLatencyInMs,omitempty" azure:"ro"` 4478 4479 // READ-ONLY; Minimum latency in milliseconds. 4480 MinLatencyInMs *int32 `json:"minLatencyInMs,omitempty" azure:"ro"` 4481 4482 // READ-ONLY; Number of failed probes. 4483 ProbesFailed *int32 `json:"probesFailed,omitempty" azure:"ro"` 4484 4485 // READ-ONLY; Total number of probes sent. 4486 ProbesSent *int32 `json:"probesSent,omitempty" azure:"ro"` 4487} 4488 4489// MarshalJSON implements the json.Marshaller interface for type ConnectivityInformation. 4490func (c ConnectivityInformation) MarshalJSON() ([]byte, error) { 4491 objectMap := make(map[string]interface{}) 4492 populate(objectMap, "avgLatencyInMs", c.AvgLatencyInMs) 4493 populate(objectMap, "connectionStatus", c.ConnectionStatus) 4494 populate(objectMap, "hops", c.Hops) 4495 populate(objectMap, "maxLatencyInMs", c.MaxLatencyInMs) 4496 populate(objectMap, "minLatencyInMs", c.MinLatencyInMs) 4497 populate(objectMap, "probesFailed", c.ProbesFailed) 4498 populate(objectMap, "probesSent", c.ProbesSent) 4499 return json.Marshal(objectMap) 4500} 4501 4502// ConnectivityIssue - Information about an issue encountered in the process of checking for connectivity. 4503type ConnectivityIssue struct { 4504 // READ-ONLY; Provides additional context on the issue. 4505 Context []map[string]*string `json:"context,omitempty" azure:"ro"` 4506 4507 // READ-ONLY; The origin of the issue. 4508 Origin *Origin `json:"origin,omitempty" azure:"ro"` 4509 4510 // READ-ONLY; The severity of the issue. 4511 Severity *Severity `json:"severity,omitempty" azure:"ro"` 4512 4513 // READ-ONLY; The type of issue. 4514 Type *IssueType `json:"type,omitempty" azure:"ro"` 4515} 4516 4517// MarshalJSON implements the json.Marshaller interface for type ConnectivityIssue. 4518func (c ConnectivityIssue) MarshalJSON() ([]byte, error) { 4519 objectMap := make(map[string]interface{}) 4520 populate(objectMap, "context", c.Context) 4521 populate(objectMap, "origin", c.Origin) 4522 populate(objectMap, "severity", c.Severity) 4523 populate(objectMap, "type", c.Type) 4524 return json.Marshal(objectMap) 4525} 4526 4527// ConnectivityParameters - Parameters that determine how the connectivity check will be performed. 4528type ConnectivityParameters struct { 4529 // REQUIRED; The destination of connection. 4530 Destination *ConnectivityDestination `json:"destination,omitempty"` 4531 4532 // REQUIRED; The source of the connection. 4533 Source *ConnectivitySource `json:"source,omitempty"` 4534 4535 // Preferred IP version of the connection. 4536 PreferredIPVersion *IPVersion `json:"preferredIPVersion,omitempty"` 4537 4538 // Network protocol. 4539 Protocol *Protocol `json:"protocol,omitempty"` 4540 4541 // Configuration of the protocol. 4542 ProtocolConfiguration *ProtocolConfiguration `json:"protocolConfiguration,omitempty"` 4543} 4544 4545// ConnectivitySource - Parameters that define the source of the connection. 4546type ConnectivitySource struct { 4547 // REQUIRED; The ID of the resource from which a connectivity check will be initiated. 4548 ResourceID *string `json:"resourceId,omitempty"` 4549 4550 // The source port from which a connectivity check will be performed. 4551 Port *int32 `json:"port,omitempty"` 4552} 4553 4554// Container - Reference to container resource in remote resource provider. 4555type Container struct { 4556 SubResource 4557} 4558 4559// ContainerNetworkInterface - Container network interface child resource. 4560type ContainerNetworkInterface struct { 4561 SubResource 4562 // The name of the resource. This name can be used to access the resource. 4563 Name *string `json:"name,omitempty"` 4564 4565 // Container network interface properties. 4566 Properties *ContainerNetworkInterfacePropertiesFormat `json:"properties,omitempty"` 4567 4568 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4569 Etag *string `json:"etag,omitempty" azure:"ro"` 4570 4571 // READ-ONLY; Sub Resource type. 4572 Type *string `json:"type,omitempty" azure:"ro"` 4573} 4574 4575// MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterface. 4576func (c ContainerNetworkInterface) MarshalJSON() ([]byte, error) { 4577 objectMap := c.SubResource.marshalInternal() 4578 populate(objectMap, "etag", c.Etag) 4579 populate(objectMap, "name", c.Name) 4580 populate(objectMap, "properties", c.Properties) 4581 populate(objectMap, "type", c.Type) 4582 return json.Marshal(objectMap) 4583} 4584 4585// ContainerNetworkInterfaceConfiguration - Container network interface configuration child resource. 4586type ContainerNetworkInterfaceConfiguration struct { 4587 SubResource 4588 // The name of the resource. This name can be used to access the resource. 4589 Name *string `json:"name,omitempty"` 4590 4591 // Container network interface configuration properties. 4592 Properties *ContainerNetworkInterfaceConfigurationPropertiesFormat `json:"properties,omitempty"` 4593 4594 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4595 Etag *string `json:"etag,omitempty" azure:"ro"` 4596 4597 // READ-ONLY; Sub Resource type. 4598 Type *string `json:"type,omitempty" azure:"ro"` 4599} 4600 4601// MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceConfiguration. 4602func (c ContainerNetworkInterfaceConfiguration) MarshalJSON() ([]byte, error) { 4603 objectMap := c.SubResource.marshalInternal() 4604 populate(objectMap, "etag", c.Etag) 4605 populate(objectMap, "name", c.Name) 4606 populate(objectMap, "properties", c.Properties) 4607 populate(objectMap, "type", c.Type) 4608 return json.Marshal(objectMap) 4609} 4610 4611// ContainerNetworkInterfaceConfigurationPropertiesFormat - Container network interface configuration properties. 4612type ContainerNetworkInterfaceConfigurationPropertiesFormat struct { 4613 // A list of container network interfaces created from this container network interface configuration. 4614 ContainerNetworkInterfaces []*SubResource `json:"containerNetworkInterfaces,omitempty"` 4615 4616 // A list of ip configurations of the container network interface configuration. 4617 IPConfigurations []*IPConfigurationProfile `json:"ipConfigurations,omitempty"` 4618 4619 // READ-ONLY; The provisioning state of the container network interface configuration resource. 4620 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4621} 4622 4623// MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceConfigurationPropertiesFormat. 4624func (c ContainerNetworkInterfaceConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 4625 objectMap := make(map[string]interface{}) 4626 populate(objectMap, "containerNetworkInterfaces", c.ContainerNetworkInterfaces) 4627 populate(objectMap, "ipConfigurations", c.IPConfigurations) 4628 populate(objectMap, "provisioningState", c.ProvisioningState) 4629 return json.Marshal(objectMap) 4630} 4631 4632// ContainerNetworkInterfaceIPConfiguration - The ip configuration for a container network interface. 4633type ContainerNetworkInterfaceIPConfiguration struct { 4634 // The name of the resource. This name can be used to access the resource. 4635 Name *string `json:"name,omitempty"` 4636 4637 // Properties of the container network interface IP configuration. 4638 Properties *ContainerNetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` 4639 4640 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4641 Etag *string `json:"etag,omitempty" azure:"ro"` 4642 4643 // READ-ONLY; Sub Resource type. 4644 Type *string `json:"type,omitempty" azure:"ro"` 4645} 4646 4647// ContainerNetworkInterfaceIPConfigurationPropertiesFormat - Properties of the container network interface IP configuration. 4648type ContainerNetworkInterfaceIPConfigurationPropertiesFormat struct { 4649 // READ-ONLY; The provisioning state of the container network interface IP configuration resource. 4650 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4651} 4652 4653// ContainerNetworkInterfacePropertiesFormat - Properties of container network interface. 4654type ContainerNetworkInterfacePropertiesFormat struct { 4655 // Reference to the container to which this container network interface is attached. 4656 Container *Container `json:"container,omitempty"` 4657 4658 // READ-ONLY; Container network interface configuration from which this container network interface is created. 4659 ContainerNetworkInterfaceConfiguration *ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfiguration,omitempty" azure:"ro"` 4660 4661 // READ-ONLY; Reference to the ip configuration on this container nic. 4662 IPConfigurations []*ContainerNetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` 4663 4664 // READ-ONLY; The provisioning state of the container network interface resource. 4665 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4666} 4667 4668// MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfacePropertiesFormat. 4669func (c ContainerNetworkInterfacePropertiesFormat) MarshalJSON() ([]byte, error) { 4670 objectMap := make(map[string]interface{}) 4671 populate(objectMap, "container", c.Container) 4672 populate(objectMap, "containerNetworkInterfaceConfiguration", c.ContainerNetworkInterfaceConfiguration) 4673 populate(objectMap, "ipConfigurations", c.IPConfigurations) 4674 populate(objectMap, "provisioningState", c.ProvisioningState) 4675 return json.Marshal(objectMap) 4676} 4677 4678// CustomDNSConfigPropertiesFormat - Contains custom Dns resolution configuration from customer. 4679type CustomDNSConfigPropertiesFormat struct { 4680 // Fqdn that resolves to private endpoint ip address. 4681 Fqdn *string `json:"fqdn,omitempty"` 4682 4683 // A list of private ip addresses of the private endpoint. 4684 IPAddresses []*string `json:"ipAddresses,omitempty"` 4685} 4686 4687// MarshalJSON implements the json.Marshaller interface for type CustomDNSConfigPropertiesFormat. 4688func (c CustomDNSConfigPropertiesFormat) MarshalJSON() ([]byte, error) { 4689 objectMap := make(map[string]interface{}) 4690 populate(objectMap, "fqdn", c.Fqdn) 4691 populate(objectMap, "ipAddresses", c.IPAddresses) 4692 return json.Marshal(objectMap) 4693} 4694 4695// CustomIPPrefix - Custom IP prefix resource. 4696type CustomIPPrefix struct { 4697 Resource 4698 // The extended location of the custom IP prefix. 4699 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 4700 4701 // Custom IP prefix properties. 4702 Properties *CustomIPPrefixPropertiesFormat `json:"properties,omitempty"` 4703 4704 // A list of availability zones denoting the IP allocated for the resource needs to come from. 4705 Zones []*string `json:"zones,omitempty"` 4706 4707 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4708 Etag *string `json:"etag,omitempty" azure:"ro"` 4709} 4710 4711// MarshalJSON implements the json.Marshaller interface for type CustomIPPrefix. 4712func (c CustomIPPrefix) MarshalJSON() ([]byte, error) { 4713 objectMap := c.Resource.marshalInternal() 4714 populate(objectMap, "etag", c.Etag) 4715 populate(objectMap, "extendedLocation", c.ExtendedLocation) 4716 populate(objectMap, "properties", c.Properties) 4717 populate(objectMap, "zones", c.Zones) 4718 return json.Marshal(objectMap) 4719} 4720 4721// CustomIPPrefixListResult - Response for ListCustomIpPrefixes API service call. 4722type CustomIPPrefixListResult struct { 4723 // The URL to get the next set of results. 4724 NextLink *string `json:"nextLink,omitempty"` 4725 4726 // A list of Custom IP prefixes that exists in a resource group. 4727 Value []*CustomIPPrefix `json:"value,omitempty"` 4728} 4729 4730// MarshalJSON implements the json.Marshaller interface for type CustomIPPrefixListResult. 4731func (c CustomIPPrefixListResult) MarshalJSON() ([]byte, error) { 4732 objectMap := make(map[string]interface{}) 4733 populate(objectMap, "nextLink", c.NextLink) 4734 populate(objectMap, "value", c.Value) 4735 return json.Marshal(objectMap) 4736} 4737 4738// CustomIPPrefixPropertiesFormat - Custom IP prefix properties. 4739type CustomIPPrefixPropertiesFormat struct { 4740 // Authorization message for WAN validation. 4741 AuthorizationMessage *string `json:"authorizationMessage,omitempty"` 4742 4743 // The prefix range in CIDR notation. Should include the start address and the prefix length. 4744 Cidr *string `json:"cidr,omitempty"` 4745 4746 // The commissioned state of the Custom IP Prefix. 4747 CommissionedState *CommissionedState `json:"commissionedState,omitempty"` 4748 4749 // The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix. 4750 CustomIPPrefixParent *CustomIPPrefix `json:"customIpPrefixParent,omitempty"` 4751 4752 // Signed message for WAN validation. 4753 SignedMessage *string `json:"signedMessage,omitempty"` 4754 4755 // READ-ONLY; The list of all Children for IPv6 /48 CustomIpPrefix. 4756 ChildCustomIPPrefixes []*CustomIPPrefix `json:"childCustomIpPrefixes,omitempty" azure:"ro"` 4757 4758 // READ-ONLY; The reason why resource is in failed state. 4759 FailedReason *string `json:"failedReason,omitempty" azure:"ro"` 4760 4761 // READ-ONLY; The provisioning state of the custom IP prefix resource. 4762 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4763 4764 // READ-ONLY; The list of all referenced PublicIpPrefixes. 4765 PublicIPPrefixes []*SubResource `json:"publicIpPrefixes,omitempty" azure:"ro"` 4766 4767 // READ-ONLY; The resource GUID property of the custom IP prefix resource. 4768 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 4769} 4770 4771// MarshalJSON implements the json.Marshaller interface for type CustomIPPrefixPropertiesFormat. 4772func (c CustomIPPrefixPropertiesFormat) MarshalJSON() ([]byte, error) { 4773 objectMap := make(map[string]interface{}) 4774 populate(objectMap, "authorizationMessage", c.AuthorizationMessage) 4775 populate(objectMap, "childCustomIpPrefixes", c.ChildCustomIPPrefixes) 4776 populate(objectMap, "cidr", c.Cidr) 4777 populate(objectMap, "commissionedState", c.CommissionedState) 4778 populate(objectMap, "customIpPrefixParent", c.CustomIPPrefixParent) 4779 populate(objectMap, "failedReason", c.FailedReason) 4780 populate(objectMap, "provisioningState", c.ProvisioningState) 4781 populate(objectMap, "publicIpPrefixes", c.PublicIPPrefixes) 4782 populate(objectMap, "resourceGuid", c.ResourceGUID) 4783 populate(objectMap, "signedMessage", c.SignedMessage) 4784 return json.Marshal(objectMap) 4785} 4786 4787// CustomIPPrefixesBeginCreateOrUpdateOptions contains the optional parameters for the CustomIPPrefixes.BeginCreateOrUpdate method. 4788type CustomIPPrefixesBeginCreateOrUpdateOptions struct { 4789 // placeholder for future optional parameters 4790} 4791 4792// CustomIPPrefixesBeginDeleteOptions contains the optional parameters for the CustomIPPrefixes.BeginDelete method. 4793type CustomIPPrefixesBeginDeleteOptions struct { 4794 // placeholder for future optional parameters 4795} 4796 4797// CustomIPPrefixesGetOptions contains the optional parameters for the CustomIPPrefixes.Get method. 4798type CustomIPPrefixesGetOptions struct { 4799 // Expands referenced resources. 4800 Expand *string 4801} 4802 4803// CustomIPPrefixesListAllOptions contains the optional parameters for the CustomIPPrefixes.ListAll method. 4804type CustomIPPrefixesListAllOptions struct { 4805 // placeholder for future optional parameters 4806} 4807 4808// CustomIPPrefixesListOptions contains the optional parameters for the CustomIPPrefixes.List method. 4809type CustomIPPrefixesListOptions struct { 4810 // placeholder for future optional parameters 4811} 4812 4813// CustomIPPrefixesUpdateTagsOptions contains the optional parameters for the CustomIPPrefixes.UpdateTags method. 4814type CustomIPPrefixesUpdateTagsOptions struct { 4815 // placeholder for future optional parameters 4816} 4817 4818// DNSNameAvailabilityResult - Response for the CheckDnsNameAvailability API service call. 4819type DNSNameAvailabilityResult struct { 4820 // Domain availability (True/False). 4821 Available *bool `json:"available,omitempty"` 4822} 4823 4824// DNSSettings - DNS Proxy Settings in Firewall Policy. 4825type DNSSettings struct { 4826 // Enable DNS Proxy on Firewalls attached to the Firewall Policy. 4827 EnableProxy *bool `json:"enableProxy,omitempty"` 4828 4829 // FQDNs in Network Rules are supported when set to true. 4830 RequireProxyForNetworkRules *bool `json:"requireProxyForNetworkRules,omitempty"` 4831 4832 // List of Custom DNS Servers. 4833 Servers []*string `json:"servers,omitempty"` 4834} 4835 4836// MarshalJSON implements the json.Marshaller interface for type DNSSettings. 4837func (d DNSSettings) MarshalJSON() ([]byte, error) { 4838 objectMap := make(map[string]interface{}) 4839 populate(objectMap, "enableProxy", d.EnableProxy) 4840 populate(objectMap, "requireProxyForNetworkRules", d.RequireProxyForNetworkRules) 4841 populate(objectMap, "servers", d.Servers) 4842 return json.Marshal(objectMap) 4843} 4844 4845// DdosCustomPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the DdosCustomPolicies.BeginCreateOrUpdate method. 4846type DdosCustomPoliciesBeginCreateOrUpdateOptions struct { 4847 // placeholder for future optional parameters 4848} 4849 4850// DdosCustomPoliciesBeginDeleteOptions contains the optional parameters for the DdosCustomPolicies.BeginDelete method. 4851type DdosCustomPoliciesBeginDeleteOptions struct { 4852 // placeholder for future optional parameters 4853} 4854 4855// DdosCustomPoliciesGetOptions contains the optional parameters for the DdosCustomPolicies.Get method. 4856type DdosCustomPoliciesGetOptions struct { 4857 // placeholder for future optional parameters 4858} 4859 4860// DdosCustomPoliciesUpdateTagsOptions contains the optional parameters for the DdosCustomPolicies.UpdateTags method. 4861type DdosCustomPoliciesUpdateTagsOptions struct { 4862 // placeholder for future optional parameters 4863} 4864 4865// DdosCustomPolicy - A DDoS custom policy in a resource group. 4866type DdosCustomPolicy struct { 4867 Resource 4868 // Properties of the DDoS custom policy. 4869 Properties *DdosCustomPolicyPropertiesFormat `json:"properties,omitempty"` 4870 4871 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4872 Etag *string `json:"etag,omitempty" azure:"ro"` 4873} 4874 4875// MarshalJSON implements the json.Marshaller interface for type DdosCustomPolicy. 4876func (d DdosCustomPolicy) MarshalJSON() ([]byte, error) { 4877 objectMap := d.Resource.marshalInternal() 4878 populate(objectMap, "etag", d.Etag) 4879 populate(objectMap, "properties", d.Properties) 4880 return json.Marshal(objectMap) 4881} 4882 4883// DdosCustomPolicyPropertiesFormat - DDoS custom policy properties. 4884type DdosCustomPolicyPropertiesFormat struct { 4885 // The protocol-specific DDoS policy customization parameters. 4886 ProtocolCustomSettings []*ProtocolCustomSettingsFormat `json:"protocolCustomSettings,omitempty"` 4887 4888 // READ-ONLY; The provisioning state of the DDoS custom policy resource. 4889 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4890 4891 // READ-ONLY; The list of public IPs associated with the DDoS custom policy resource. This list is read-only. 4892 PublicIPAddresses []*SubResource `json:"publicIPAddresses,omitempty" azure:"ro"` 4893 4894 // 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 4895 // the resource across subscriptions or resource groups. 4896 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 4897} 4898 4899// MarshalJSON implements the json.Marshaller interface for type DdosCustomPolicyPropertiesFormat. 4900func (d DdosCustomPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 4901 objectMap := make(map[string]interface{}) 4902 populate(objectMap, "protocolCustomSettings", d.ProtocolCustomSettings) 4903 populate(objectMap, "provisioningState", d.ProvisioningState) 4904 populate(objectMap, "publicIPAddresses", d.PublicIPAddresses) 4905 populate(objectMap, "resourceGuid", d.ResourceGUID) 4906 return json.Marshal(objectMap) 4907} 4908 4909// DdosProtectionPlan - A DDoS protection plan in a resource group. 4910type DdosProtectionPlan struct { 4911 // Resource location. 4912 Location *string `json:"location,omitempty"` 4913 4914 // Properties of the DDoS protection plan. 4915 Properties *DdosProtectionPlanPropertiesFormat `json:"properties,omitempty"` 4916 4917 // Resource tags. 4918 Tags map[string]*string `json:"tags,omitempty"` 4919 4920 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4921 Etag *string `json:"etag,omitempty" azure:"ro"` 4922 4923 // READ-ONLY; Resource ID. 4924 ID *string `json:"id,omitempty" azure:"ro"` 4925 4926 // READ-ONLY; Resource name. 4927 Name *string `json:"name,omitempty" azure:"ro"` 4928 4929 // READ-ONLY; Resource type. 4930 Type *string `json:"type,omitempty" azure:"ro"` 4931} 4932 4933// MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlan. 4934func (d DdosProtectionPlan) MarshalJSON() ([]byte, error) { 4935 objectMap := make(map[string]interface{}) 4936 populate(objectMap, "etag", d.Etag) 4937 populate(objectMap, "id", d.ID) 4938 populate(objectMap, "location", d.Location) 4939 populate(objectMap, "name", d.Name) 4940 populate(objectMap, "properties", d.Properties) 4941 populate(objectMap, "tags", d.Tags) 4942 populate(objectMap, "type", d.Type) 4943 return json.Marshal(objectMap) 4944} 4945 4946// DdosProtectionPlanListResult - A list of DDoS protection plans. 4947type DdosProtectionPlanListResult struct { 4948 // A list of DDoS protection plans. 4949 Value []*DdosProtectionPlan `json:"value,omitempty"` 4950 4951 // READ-ONLY; The URL to get the next set of results. 4952 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4953} 4954 4955// MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlanListResult. 4956func (d DdosProtectionPlanListResult) MarshalJSON() ([]byte, error) { 4957 objectMap := make(map[string]interface{}) 4958 populate(objectMap, "nextLink", d.NextLink) 4959 populate(objectMap, "value", d.Value) 4960 return json.Marshal(objectMap) 4961} 4962 4963// DdosProtectionPlanPropertiesFormat - DDoS protection plan properties. 4964type DdosProtectionPlanPropertiesFormat struct { 4965 // READ-ONLY; The provisioning state of the DDoS protection plan resource. 4966 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4967 4968 // 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 4969 // migrate the resource across subscriptions or resource groups. 4970 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 4971 4972 // READ-ONLY; The list of virtual networks associated with the DDoS protection plan resource. This list is read-only. 4973 VirtualNetworks []*SubResource `json:"virtualNetworks,omitempty" azure:"ro"` 4974} 4975 4976// MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlanPropertiesFormat. 4977func (d DdosProtectionPlanPropertiesFormat) MarshalJSON() ([]byte, error) { 4978 objectMap := make(map[string]interface{}) 4979 populate(objectMap, "provisioningState", d.ProvisioningState) 4980 populate(objectMap, "resourceGuid", d.ResourceGUID) 4981 populate(objectMap, "virtualNetworks", d.VirtualNetworks) 4982 return json.Marshal(objectMap) 4983} 4984 4985// DdosProtectionPlansBeginCreateOrUpdateOptions contains the optional parameters for the DdosProtectionPlans.BeginCreateOrUpdate method. 4986type DdosProtectionPlansBeginCreateOrUpdateOptions struct { 4987 // placeholder for future optional parameters 4988} 4989 4990// DdosProtectionPlansBeginDeleteOptions contains the optional parameters for the DdosProtectionPlans.BeginDelete method. 4991type DdosProtectionPlansBeginDeleteOptions struct { 4992 // placeholder for future optional parameters 4993} 4994 4995// DdosProtectionPlansGetOptions contains the optional parameters for the DdosProtectionPlans.Get method. 4996type DdosProtectionPlansGetOptions struct { 4997 // placeholder for future optional parameters 4998} 4999 5000// DdosProtectionPlansListByResourceGroupOptions contains the optional parameters for the DdosProtectionPlans.ListByResourceGroup method. 5001type DdosProtectionPlansListByResourceGroupOptions struct { 5002 // placeholder for future optional parameters 5003} 5004 5005// DdosProtectionPlansListOptions contains the optional parameters for the DdosProtectionPlans.List method. 5006type DdosProtectionPlansListOptions struct { 5007 // placeholder for future optional parameters 5008} 5009 5010// DdosProtectionPlansUpdateTagsOptions contains the optional parameters for the DdosProtectionPlans.UpdateTags method. 5011type DdosProtectionPlansUpdateTagsOptions struct { 5012 // placeholder for future optional parameters 5013} 5014 5015// DdosSettings - Contains the DDoS protection settings of the public IP. 5016type DdosSettings struct { 5017 // The DDoS custom policy associated with the public IP. 5018 DdosCustomPolicy *SubResource `json:"ddosCustomPolicy,omitempty"` 5019 5020 // Enables DDoS protection on the public IP. 5021 ProtectedIP *bool `json:"protectedIP,omitempty"` 5022 5023 // The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. 5024 ProtectionCoverage *DdosSettingsProtectionCoverage `json:"protectionCoverage,omitempty"` 5025} 5026 5027// DefaultSecurityRulesGetOptions contains the optional parameters for the DefaultSecurityRules.Get method. 5028type DefaultSecurityRulesGetOptions struct { 5029 // placeholder for future optional parameters 5030} 5031 5032// DefaultSecurityRulesListOptions contains the optional parameters for the DefaultSecurityRules.List method. 5033type DefaultSecurityRulesListOptions struct { 5034 // placeholder for future optional parameters 5035} 5036 5037// Delegation - Details the service to which the subnet is delegated. 5038type Delegation struct { 5039 SubResource 5040 // The name of the resource that is unique within a subnet. This name can be used to access the resource. 5041 Name *string `json:"name,omitempty"` 5042 5043 // Properties of the subnet. 5044 Properties *ServiceDelegationPropertiesFormat `json:"properties,omitempty"` 5045 5046 // Resource type. 5047 Type *string `json:"type,omitempty"` 5048 5049 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5050 Etag *string `json:"etag,omitempty" azure:"ro"` 5051} 5052 5053// MarshalJSON implements the json.Marshaller interface for type Delegation. 5054func (d Delegation) MarshalJSON() ([]byte, error) { 5055 objectMap := d.SubResource.marshalInternal() 5056 populate(objectMap, "etag", d.Etag) 5057 populate(objectMap, "name", d.Name) 5058 populate(objectMap, "properties", d.Properties) 5059 populate(objectMap, "type", d.Type) 5060 return json.Marshal(objectMap) 5061} 5062 5063// DeviceProperties - List of properties of the device. 5064type DeviceProperties struct { 5065 // Model of the device. 5066 DeviceModel *string `json:"deviceModel,omitempty"` 5067 5068 // Name of the device Vendor. 5069 DeviceVendor *string `json:"deviceVendor,omitempty"` 5070 5071 // Link speed. 5072 LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` 5073} 5074 5075// DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP 5076// options. 5077type DhcpOptions struct { 5078 // The list of DNS servers IP addresses. 5079 DNSServers []*string `json:"dnsServers,omitempty"` 5080} 5081 5082// MarshalJSON implements the json.Marshaller interface for type DhcpOptions. 5083func (d DhcpOptions) MarshalJSON() ([]byte, error) { 5084 objectMap := make(map[string]interface{}) 5085 populate(objectMap, "dnsServers", d.DNSServers) 5086 return json.Marshal(objectMap) 5087} 5088 5089// Dimension of the metric. 5090type Dimension struct { 5091 // The display name of the dimension. 5092 DisplayName *string `json:"displayName,omitempty"` 5093 5094 // The internal name of the dimension. 5095 InternalName *string `json:"internalName,omitempty"` 5096 5097 // The name of the dimension. 5098 Name *string `json:"name,omitempty"` 5099} 5100 5101// DscpConfiguration - DSCP Configuration in a resource group. 5102type DscpConfiguration struct { 5103 Resource 5104 // Properties of the network interface. 5105 Properties *DscpConfigurationPropertiesFormat `json:"properties,omitempty"` 5106 5107 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5108 Etag *string `json:"etag,omitempty" azure:"ro"` 5109} 5110 5111// MarshalJSON implements the json.Marshaller interface for type DscpConfiguration. 5112func (d DscpConfiguration) MarshalJSON() ([]byte, error) { 5113 objectMap := d.Resource.marshalInternal() 5114 populate(objectMap, "etag", d.Etag) 5115 populate(objectMap, "properties", d.Properties) 5116 return json.Marshal(objectMap) 5117} 5118 5119// DscpConfigurationBeginCreateOrUpdateOptions contains the optional parameters for the DscpConfiguration.BeginCreateOrUpdate method. 5120type DscpConfigurationBeginCreateOrUpdateOptions struct { 5121 // placeholder for future optional parameters 5122} 5123 5124// DscpConfigurationBeginDeleteOptions contains the optional parameters for the DscpConfiguration.BeginDelete method. 5125type DscpConfigurationBeginDeleteOptions struct { 5126 // placeholder for future optional parameters 5127} 5128 5129// DscpConfigurationGetOptions contains the optional parameters for the DscpConfiguration.Get method. 5130type DscpConfigurationGetOptions struct { 5131 // placeholder for future optional parameters 5132} 5133 5134// DscpConfigurationListAllOptions contains the optional parameters for the DscpConfiguration.ListAll method. 5135type DscpConfigurationListAllOptions struct { 5136 // placeholder for future optional parameters 5137} 5138 5139// DscpConfigurationListOptions contains the optional parameters for the DscpConfiguration.List method. 5140type DscpConfigurationListOptions struct { 5141 // placeholder for future optional parameters 5142} 5143 5144// DscpConfigurationListResult - Response for the DscpConfigurationList API service call. 5145type DscpConfigurationListResult struct { 5146 // A list of dscp configurations in a resource group. 5147 Value []*DscpConfiguration `json:"value,omitempty"` 5148 5149 // READ-ONLY; The URL to get the next set of results. 5150 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 5151} 5152 5153// MarshalJSON implements the json.Marshaller interface for type DscpConfigurationListResult. 5154func (d DscpConfigurationListResult) MarshalJSON() ([]byte, error) { 5155 objectMap := make(map[string]interface{}) 5156 populate(objectMap, "nextLink", d.NextLink) 5157 populate(objectMap, "value", d.Value) 5158 return json.Marshal(objectMap) 5159} 5160 5161// DscpConfigurationPropertiesFormat - DSCP Configuration properties. 5162type DscpConfigurationPropertiesFormat struct { 5163 // Destination IP ranges. 5164 DestinationIPRanges []*QosIPRange `json:"destinationIpRanges,omitempty"` 5165 5166 // Destination port ranges. 5167 DestinationPortRanges []*QosPortRange `json:"destinationPortRanges,omitempty"` 5168 5169 // List of markings to be used in the configuration. 5170 Markings []*int32 `json:"markings,omitempty"` 5171 5172 // RNM supported protocol types. 5173 Protocol *ProtocolType `json:"protocol,omitempty"` 5174 5175 // Source IP ranges. 5176 SourceIPRanges []*QosIPRange `json:"sourceIpRanges,omitempty"` 5177 5178 // Sources port ranges. 5179 SourcePortRanges []*QosPortRange `json:"sourcePortRanges,omitempty"` 5180 5181 // READ-ONLY; Associated Network Interfaces to the DSCP Configuration. 5182 AssociatedNetworkInterfaces []*NetworkInterface `json:"associatedNetworkInterfaces,omitempty" azure:"ro"` 5183 5184 // READ-ONLY; The provisioning state of the DSCP Configuration resource. 5185 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5186 5187 // READ-ONLY; Qos Collection ID generated by RNM. 5188 QosCollectionID *string `json:"qosCollectionId,omitempty" azure:"ro"` 5189 5190 // READ-ONLY; The resource GUID property of the DSCP Configuration resource. 5191 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 5192} 5193 5194// MarshalJSON implements the json.Marshaller interface for type DscpConfigurationPropertiesFormat. 5195func (d DscpConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 5196 objectMap := make(map[string]interface{}) 5197 populate(objectMap, "associatedNetworkInterfaces", d.AssociatedNetworkInterfaces) 5198 populate(objectMap, "destinationIpRanges", d.DestinationIPRanges) 5199 populate(objectMap, "destinationPortRanges", d.DestinationPortRanges) 5200 populate(objectMap, "markings", d.Markings) 5201 populate(objectMap, "protocol", d.Protocol) 5202 populate(objectMap, "provisioningState", d.ProvisioningState) 5203 populate(objectMap, "qosCollectionId", d.QosCollectionID) 5204 populate(objectMap, "resourceGuid", d.ResourceGUID) 5205 populate(objectMap, "sourceIpRanges", d.SourceIPRanges) 5206 populate(objectMap, "sourcePortRanges", d.SourcePortRanges) 5207 return json.Marshal(objectMap) 5208} 5209 5210// EffectiveNetworkSecurityGroup - Effective network security group. 5211type EffectiveNetworkSecurityGroup struct { 5212 // Associated resources. 5213 Association *EffectiveNetworkSecurityGroupAssociation `json:"association,omitempty"` 5214 5215 // A collection of effective security rules. 5216 EffectiveSecurityRules []*EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` 5217 5218 // The ID of network security group that is applied. 5219 NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` 5220 5221 // Mapping of tags to list of IP Addresses included within the tag. 5222 TagMap *string `json:"tagMap,omitempty"` 5223} 5224 5225// MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroup. 5226func (e EffectiveNetworkSecurityGroup) MarshalJSON() ([]byte, error) { 5227 objectMap := make(map[string]interface{}) 5228 populate(objectMap, "association", e.Association) 5229 populate(objectMap, "effectiveSecurityRules", e.EffectiveSecurityRules) 5230 populate(objectMap, "networkSecurityGroup", e.NetworkSecurityGroup) 5231 populate(objectMap, "tagMap", e.TagMap) 5232 return json.Marshal(objectMap) 5233} 5234 5235// EffectiveNetworkSecurityGroupAssociation - The effective network security group association. 5236type EffectiveNetworkSecurityGroupAssociation struct { 5237 // The ID of the network interface if assigned. 5238 NetworkInterface *SubResource `json:"networkInterface,omitempty"` 5239 5240 // The ID of the Azure network manager if assigned. 5241 NetworkManager *SubResource `json:"networkManager,omitempty"` 5242 5243 // The ID of the subnet if assigned. 5244 Subnet *SubResource `json:"subnet,omitempty"` 5245} 5246 5247// EffectiveNetworkSecurityGroupListResult - Response for list effective network security groups API service call. 5248type EffectiveNetworkSecurityGroupListResult struct { 5249 // A list of effective network security groups. 5250 Value []*EffectiveNetworkSecurityGroup `json:"value,omitempty"` 5251 5252 // READ-ONLY; The URL to get the next set of results. 5253 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 5254} 5255 5256// MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroupListResult. 5257func (e EffectiveNetworkSecurityGroupListResult) MarshalJSON() ([]byte, error) { 5258 objectMap := make(map[string]interface{}) 5259 populate(objectMap, "nextLink", e.NextLink) 5260 populate(objectMap, "value", e.Value) 5261 return json.Marshal(objectMap) 5262} 5263 5264// EffectiveNetworkSecurityRule - Effective network security rules. 5265type EffectiveNetworkSecurityRule struct { 5266 // Whether network traffic is allowed or denied. 5267 Access *SecurityRuleAccess `json:"access,omitempty"` 5268 5269 // The destination address prefix. 5270 DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` 5271 5272 // The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and 5273 // the asterisk (*). 5274 DestinationAddressPrefixes []*string `json:"destinationAddressPrefixes,omitempty"` 5275 5276 // The destination port or range. 5277 DestinationPortRange *string `json:"destinationPortRange,omitempty"` 5278 5279 // 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 5280 // (*). 5281 DestinationPortRanges []*string `json:"destinationPortRanges,omitempty"` 5282 5283 // The direction of the rule. 5284 Direction *SecurityRuleDirection `json:"direction,omitempty"` 5285 5286 // Expanded destination address prefix. 5287 ExpandedDestinationAddressPrefix []*string `json:"expandedDestinationAddressPrefix,omitempty"` 5288 5289 // The expanded source address prefix. 5290 ExpandedSourceAddressPrefix []*string `json:"expandedSourceAddressPrefix,omitempty"` 5291 5292 // The name of the security rule specified by the user (if created by the user). 5293 Name *string `json:"name,omitempty"` 5294 5295 // The priority of the rule. 5296 Priority *int32 `json:"priority,omitempty"` 5297 5298 // The network protocol this rule applies to. 5299 Protocol *EffectiveSecurityRuleProtocol `json:"protocol,omitempty"` 5300 5301 // The source address prefix. 5302 SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` 5303 5304 // The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the 5305 // asterisk (*). 5306 SourceAddressPrefixes []*string `json:"sourceAddressPrefixes,omitempty"` 5307 5308 // The source port or range. 5309 SourcePortRange *string `json:"sourcePortRange,omitempty"` 5310 5311 // 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 (*). 5312 SourcePortRanges []*string `json:"sourcePortRanges,omitempty"` 5313} 5314 5315// MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityRule. 5316func (e EffectiveNetworkSecurityRule) MarshalJSON() ([]byte, error) { 5317 objectMap := make(map[string]interface{}) 5318 populate(objectMap, "access", e.Access) 5319 populate(objectMap, "destinationAddressPrefix", e.DestinationAddressPrefix) 5320 populate(objectMap, "destinationAddressPrefixes", e.DestinationAddressPrefixes) 5321 populate(objectMap, "destinationPortRange", e.DestinationPortRange) 5322 populate(objectMap, "destinationPortRanges", e.DestinationPortRanges) 5323 populate(objectMap, "direction", e.Direction) 5324 populate(objectMap, "expandedDestinationAddressPrefix", e.ExpandedDestinationAddressPrefix) 5325 populate(objectMap, "expandedSourceAddressPrefix", e.ExpandedSourceAddressPrefix) 5326 populate(objectMap, "name", e.Name) 5327 populate(objectMap, "priority", e.Priority) 5328 populate(objectMap, "protocol", e.Protocol) 5329 populate(objectMap, "sourceAddressPrefix", e.SourceAddressPrefix) 5330 populate(objectMap, "sourceAddressPrefixes", e.SourceAddressPrefixes) 5331 populate(objectMap, "sourcePortRange", e.SourcePortRange) 5332 populate(objectMap, "sourcePortRanges", e.SourcePortRanges) 5333 return json.Marshal(objectMap) 5334} 5335 5336// EffectiveRoute - Effective Route. 5337type EffectiveRoute struct { 5338 // The address prefixes of the effective routes in CIDR notation. 5339 AddressPrefix []*string `json:"addressPrefix,omitempty"` 5340 5341 // If true, on-premises routes are not propagated to the network interfaces in the subnet. 5342 DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` 5343 5344 // The name of the user defined route. This is optional. 5345 Name *string `json:"name,omitempty"` 5346 5347 // The IP address of the next hop of the effective route. 5348 NextHopIPAddress []*string `json:"nextHopIpAddress,omitempty"` 5349 5350 // The type of Azure hop the packet should be sent to. 5351 NextHopType *RouteNextHopType `json:"nextHopType,omitempty"` 5352 5353 // Who created the route. 5354 Source *EffectiveRouteSource `json:"source,omitempty"` 5355 5356 // The value of effective route. 5357 State *EffectiveRouteState `json:"state,omitempty"` 5358} 5359 5360// MarshalJSON implements the json.Marshaller interface for type EffectiveRoute. 5361func (e EffectiveRoute) MarshalJSON() ([]byte, error) { 5362 objectMap := make(map[string]interface{}) 5363 populate(objectMap, "addressPrefix", e.AddressPrefix) 5364 populate(objectMap, "disableBgpRoutePropagation", e.DisableBgpRoutePropagation) 5365 populate(objectMap, "name", e.Name) 5366 populate(objectMap, "nextHopIpAddress", e.NextHopIPAddress) 5367 populate(objectMap, "nextHopType", e.NextHopType) 5368 populate(objectMap, "source", e.Source) 5369 populate(objectMap, "state", e.State) 5370 return json.Marshal(objectMap) 5371} 5372 5373// EffectiveRouteListResult - Response for list effective route API service call. 5374type EffectiveRouteListResult struct { 5375 // A list of effective routes. 5376 Value []*EffectiveRoute `json:"value,omitempty"` 5377 5378 // READ-ONLY; The URL to get the next set of results. 5379 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 5380} 5381 5382// MarshalJSON implements the json.Marshaller interface for type EffectiveRouteListResult. 5383func (e EffectiveRouteListResult) MarshalJSON() ([]byte, error) { 5384 objectMap := make(map[string]interface{}) 5385 populate(objectMap, "nextLink", e.NextLink) 5386 populate(objectMap, "value", e.Value) 5387 return json.Marshal(objectMap) 5388} 5389 5390// EffectiveRoutesParameters - The parameters specifying the resource whose effective routes are being requested. 5391type EffectiveRoutesParameters struct { 5392 // The resource whose effective routes are being requested. 5393 ResourceID *string `json:"resourceId,omitempty"` 5394 5395 // The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. 5396 VirtualWanResourceType *string `json:"virtualWanResourceType,omitempty"` 5397} 5398 5399// EndpointServiceResult - Endpoint service. 5400type EndpointServiceResult struct { 5401 SubResource 5402 // READ-ONLY; Name of the endpoint service. 5403 Name *string `json:"name,omitempty" azure:"ro"` 5404 5405 // READ-ONLY; Type of the endpoint service. 5406 Type *string `json:"type,omitempty" azure:"ro"` 5407} 5408 5409// MarshalJSON implements the json.Marshaller interface for type EndpointServiceResult. 5410func (e EndpointServiceResult) MarshalJSON() ([]byte, error) { 5411 objectMap := e.SubResource.marshalInternal() 5412 populate(objectMap, "name", e.Name) 5413 populate(objectMap, "type", e.Type) 5414 return json.Marshal(objectMap) 5415} 5416 5417// EndpointServicesListResult - Response for the ListAvailableEndpointServices API service call. 5418type EndpointServicesListResult struct { 5419 // The URL to get the next set of results. 5420 NextLink *string `json:"nextLink,omitempty"` 5421 5422 // List of available endpoint services in a region. 5423 Value []*EndpointServiceResult `json:"value,omitempty"` 5424} 5425 5426// MarshalJSON implements the json.Marshaller interface for type EndpointServicesListResult. 5427func (e EndpointServicesListResult) MarshalJSON() ([]byte, error) { 5428 objectMap := make(map[string]interface{}) 5429 populate(objectMap, "nextLink", e.NextLink) 5430 populate(objectMap, "value", e.Value) 5431 return json.Marshal(objectMap) 5432} 5433 5434// Error - Common error representation. 5435// Implements the error and azcore.HTTPResponse interfaces. 5436type Error struct { 5437 raw string 5438 // Error code. 5439 Code *string `json:"code,omitempty"` 5440 5441 // Error details. 5442 Details []*ErrorDetails `json:"details,omitempty"` 5443 5444 // Inner error message. 5445 InnerError *string `json:"innerError,omitempty"` 5446 5447 // Error message. 5448 Message *string `json:"message,omitempty"` 5449 5450 // Error target. 5451 Target *string `json:"target,omitempty"` 5452} 5453 5454// Error implements the error interface for type Error. 5455// The contents of the error text are not contractual and subject to change. 5456func (e Error) Error() string { 5457 return e.raw 5458} 5459 5460// ErrorDetails - Common error details representation. 5461type ErrorDetails struct { 5462 // Error code. 5463 Code *string `json:"code,omitempty"` 5464 5465 // Error message. 5466 Message *string `json:"message,omitempty"` 5467 5468 // Error target. 5469 Target *string `json:"target,omitempty"` 5470} 5471 5472// ErrorResponse - The error object. 5473// Implements the error and azcore.HTTPResponse interfaces. 5474type ErrorResponse struct { 5475 raw string 5476 // The error details object. 5477 InnerError *ErrorDetails `json:"error,omitempty"` 5478} 5479 5480// Error implements the error interface for type ErrorResponse. 5481// The contents of the error text are not contractual and subject to change. 5482func (e ErrorResponse) Error() string { 5483 return e.raw 5484} 5485 5486// EvaluatedNetworkSecurityGroup - Results of network security group evaluation. 5487type EvaluatedNetworkSecurityGroup struct { 5488 // Resource ID of nic or subnet to which network security group is applied. 5489 AppliedTo *string `json:"appliedTo,omitempty"` 5490 5491 // Matched network security rule. 5492 MatchedRule *MatchedRule `json:"matchedRule,omitempty"` 5493 5494 // Network security group ID. 5495 NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty"` 5496 5497 // READ-ONLY; List of network security rules evaluation results. 5498 RulesEvaluationResult []*NetworkSecurityRulesEvaluationResult `json:"rulesEvaluationResult,omitempty" azure:"ro"` 5499} 5500 5501// MarshalJSON implements the json.Marshaller interface for type EvaluatedNetworkSecurityGroup. 5502func (e EvaluatedNetworkSecurityGroup) MarshalJSON() ([]byte, error) { 5503 objectMap := make(map[string]interface{}) 5504 populate(objectMap, "appliedTo", e.AppliedTo) 5505 populate(objectMap, "matchedRule", e.MatchedRule) 5506 populate(objectMap, "networkSecurityGroupId", e.NetworkSecurityGroupID) 5507 populate(objectMap, "rulesEvaluationResult", e.RulesEvaluationResult) 5508 return json.Marshal(objectMap) 5509} 5510 5511// ExpressRouteCircuit resource. 5512type ExpressRouteCircuit struct { 5513 Resource 5514 // Properties of the express route circuit. 5515 Properties *ExpressRouteCircuitPropertiesFormat `json:"properties,omitempty"` 5516 5517 // The SKU. 5518 SKU *ExpressRouteCircuitSKU `json:"sku,omitempty"` 5519 5520 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5521 Etag *string `json:"etag,omitempty" azure:"ro"` 5522} 5523 5524// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuit. 5525func (e ExpressRouteCircuit) MarshalJSON() ([]byte, error) { 5526 objectMap := e.Resource.marshalInternal() 5527 populate(objectMap, "etag", e.Etag) 5528 populate(objectMap, "properties", e.Properties) 5529 populate(objectMap, "sku", e.SKU) 5530 return json.Marshal(objectMap) 5531} 5532 5533// ExpressRouteCircuitArpTable - The ARP table associated with the ExpressRouteCircuit. 5534type ExpressRouteCircuitArpTable struct { 5535 // Entry age in minutes. 5536 Age *int32 `json:"age,omitempty"` 5537 5538 // The IP address. 5539 IPAddress *string `json:"ipAddress,omitempty"` 5540 5541 // Interface address. 5542 Interface *string `json:"interface,omitempty"` 5543 5544 // The MAC address. 5545 MacAddress *string `json:"macAddress,omitempty"` 5546} 5547 5548// ExpressRouteCircuitAuthorization - Authorization in an ExpressRouteCircuit resource. 5549type ExpressRouteCircuitAuthorization struct { 5550 SubResource 5551 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 5552 Name *string `json:"name,omitempty"` 5553 5554 // Properties of the express route circuit authorization. 5555 Properties *AuthorizationPropertiesFormat `json:"properties,omitempty"` 5556 5557 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5558 Etag *string `json:"etag,omitempty" azure:"ro"` 5559 5560 // READ-ONLY; Type of the resource. 5561 Type *string `json:"type,omitempty" azure:"ro"` 5562} 5563 5564// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitAuthorization. 5565func (e ExpressRouteCircuitAuthorization) MarshalJSON() ([]byte, error) { 5566 objectMap := e.SubResource.marshalInternal() 5567 populate(objectMap, "etag", e.Etag) 5568 populate(objectMap, "name", e.Name) 5569 populate(objectMap, "properties", e.Properties) 5570 populate(objectMap, "type", e.Type) 5571 return json.Marshal(objectMap) 5572} 5573 5574// ExpressRouteCircuitAuthorizationsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.BeginCreateOrUpdate 5575// method. 5576type ExpressRouteCircuitAuthorizationsBeginCreateOrUpdateOptions struct { 5577 // placeholder for future optional parameters 5578} 5579 5580// ExpressRouteCircuitAuthorizationsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.BeginDelete method. 5581type ExpressRouteCircuitAuthorizationsBeginDeleteOptions struct { 5582 // placeholder for future optional parameters 5583} 5584 5585// ExpressRouteCircuitAuthorizationsGetOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.Get method. 5586type ExpressRouteCircuitAuthorizationsGetOptions struct { 5587 // placeholder for future optional parameters 5588} 5589 5590// ExpressRouteCircuitAuthorizationsListOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.List method. 5591type ExpressRouteCircuitAuthorizationsListOptions struct { 5592 // placeholder for future optional parameters 5593} 5594 5595// ExpressRouteCircuitConnection - Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 5596type ExpressRouteCircuitConnection struct { 5597 SubResource 5598 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 5599 Name *string `json:"name,omitempty"` 5600 5601 // Properties of the express route circuit connection. 5602 Properties *ExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` 5603 5604 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5605 Etag *string `json:"etag,omitempty" azure:"ro"` 5606 5607 // READ-ONLY; Type of the resource. 5608 Type *string `json:"type,omitempty" azure:"ro"` 5609} 5610 5611// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitConnection. 5612func (e ExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { 5613 objectMap := e.SubResource.marshalInternal() 5614 populate(objectMap, "etag", e.Etag) 5615 populate(objectMap, "name", e.Name) 5616 populate(objectMap, "properties", e.Properties) 5617 populate(objectMap, "type", e.Type) 5618 return json.Marshal(objectMap) 5619} 5620 5621// ExpressRouteCircuitConnectionListResult - Response for ListConnections API service call retrieves all global reach connections that belongs to a Private 5622// Peering for an ExpressRouteCircuit. 5623type ExpressRouteCircuitConnectionListResult struct { 5624 // The URL to get the next set of results. 5625 NextLink *string `json:"nextLink,omitempty"` 5626 5627 // The global reach connection associated with Private Peering in an ExpressRoute Circuit. 5628 Value []*ExpressRouteCircuitConnection `json:"value,omitempty"` 5629} 5630 5631// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitConnectionListResult. 5632func (e ExpressRouteCircuitConnectionListResult) MarshalJSON() ([]byte, error) { 5633 objectMap := make(map[string]interface{}) 5634 populate(objectMap, "nextLink", e.NextLink) 5635 populate(objectMap, "value", e.Value) 5636 return json.Marshal(objectMap) 5637} 5638 5639// ExpressRouteCircuitConnectionPropertiesFormat - Properties of the express route circuit connection. 5640type ExpressRouteCircuitConnectionPropertiesFormat struct { 5641 // /29 IP address space to carve out Customer addresses for tunnels. 5642 AddressPrefix *string `json:"addressPrefix,omitempty"` 5643 5644 // The authorization key. 5645 AuthorizationKey *string `json:"authorizationKey,omitempty"` 5646 5647 // Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection. 5648 ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` 5649 5650 // IPv6 Address PrefixProperties of the express route circuit connection. 5651 IPv6CircuitConnectionConfig *IPv6CircuitConnectionConfig `json:"ipv6CircuitConnectionConfig,omitempty"` 5652 5653 // Reference to Express Route Circuit Private Peering Resource of the peered circuit. 5654 PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` 5655 5656 // READ-ONLY; Express Route Circuit connection state. 5657 CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` 5658 5659 // READ-ONLY; The provisioning state of the express route circuit connection resource. 5660 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5661} 5662 5663// ExpressRouteCircuitConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitConnections.BeginCreateOrUpdate 5664// method. 5665type ExpressRouteCircuitConnectionsBeginCreateOrUpdateOptions struct { 5666 // placeholder for future optional parameters 5667} 5668 5669// ExpressRouteCircuitConnectionsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitConnections.BeginDelete method. 5670type ExpressRouteCircuitConnectionsBeginDeleteOptions struct { 5671 // placeholder for future optional parameters 5672} 5673 5674// ExpressRouteCircuitConnectionsGetOptions contains the optional parameters for the ExpressRouteCircuitConnections.Get method. 5675type ExpressRouteCircuitConnectionsGetOptions struct { 5676 // placeholder for future optional parameters 5677} 5678 5679// ExpressRouteCircuitConnectionsListOptions contains the optional parameters for the ExpressRouteCircuitConnections.List method. 5680type ExpressRouteCircuitConnectionsListOptions struct { 5681 // placeholder for future optional parameters 5682} 5683 5684// ExpressRouteCircuitListResult - Response for ListExpressRouteCircuit API service call. 5685type ExpressRouteCircuitListResult struct { 5686 // The URL to get the next set of results. 5687 NextLink *string `json:"nextLink,omitempty"` 5688 5689 // A list of ExpressRouteCircuits in a resource group. 5690 Value []*ExpressRouteCircuit `json:"value,omitempty"` 5691} 5692 5693// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitListResult. 5694func (e ExpressRouteCircuitListResult) MarshalJSON() ([]byte, error) { 5695 objectMap := make(map[string]interface{}) 5696 populate(objectMap, "nextLink", e.NextLink) 5697 populate(objectMap, "value", e.Value) 5698 return json.Marshal(objectMap) 5699} 5700 5701// ExpressRouteCircuitPeering - Peering in an ExpressRouteCircuit resource. 5702type ExpressRouteCircuitPeering struct { 5703 SubResource 5704 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 5705 Name *string `json:"name,omitempty"` 5706 5707 // Properties of the express route circuit peering. 5708 Properties *ExpressRouteCircuitPeeringPropertiesFormat `json:"properties,omitempty"` 5709 5710 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5711 Etag *string `json:"etag,omitempty" azure:"ro"` 5712 5713 // READ-ONLY; Type of the resource. 5714 Type *string `json:"type,omitempty" azure:"ro"` 5715} 5716 5717// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeering. 5718func (e ExpressRouteCircuitPeering) MarshalJSON() ([]byte, error) { 5719 objectMap := e.SubResource.marshalInternal() 5720 populate(objectMap, "etag", e.Etag) 5721 populate(objectMap, "name", e.Name) 5722 populate(objectMap, "properties", e.Properties) 5723 populate(objectMap, "type", e.Type) 5724 return json.Marshal(objectMap) 5725} 5726 5727// ExpressRouteCircuitPeeringConfig - Specifies the peering configuration. 5728type ExpressRouteCircuitPeeringConfig struct { 5729 // The communities of bgp peering. Specified for microsoft peering. 5730 AdvertisedCommunities []*string `json:"advertisedCommunities,omitempty"` 5731 5732 // The reference to AdvertisedPublicPrefixes. 5733 AdvertisedPublicPrefixes []*string `json:"advertisedPublicPrefixes,omitempty"` 5734 5735 // The CustomerASN of the peering. 5736 CustomerASN *int32 `json:"customerASN,omitempty"` 5737 5738 // The legacy mode of the peering. 5739 LegacyMode *int32 `json:"legacyMode,omitempty"` 5740 5741 // The RoutingRegistryName of the configuration. 5742 RoutingRegistryName *string `json:"routingRegistryName,omitempty"` 5743 5744 // READ-ONLY; The advertised public prefix state of the Peering resource. 5745 AdvertisedPublicPrefixesState *ExpressRouteCircuitPeeringAdvertisedPublicPrefixState `json:"advertisedPublicPrefixesState,omitempty" azure:"ro"` 5746} 5747 5748// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringConfig. 5749func (e ExpressRouteCircuitPeeringConfig) MarshalJSON() ([]byte, error) { 5750 objectMap := make(map[string]interface{}) 5751 populate(objectMap, "advertisedCommunities", e.AdvertisedCommunities) 5752 populate(objectMap, "advertisedPublicPrefixes", e.AdvertisedPublicPrefixes) 5753 populate(objectMap, "advertisedPublicPrefixesState", e.AdvertisedPublicPrefixesState) 5754 populate(objectMap, "customerASN", e.CustomerASN) 5755 populate(objectMap, "legacyMode", e.LegacyMode) 5756 populate(objectMap, "routingRegistryName", e.RoutingRegistryName) 5757 return json.Marshal(objectMap) 5758} 5759 5760// ExpressRouteCircuitPeeringID - ExpressRoute circuit peering identifier. 5761type ExpressRouteCircuitPeeringID struct { 5762 // The ID of the ExpressRoute circuit peering. 5763 ID *string `json:"id,omitempty"` 5764} 5765 5766// ExpressRouteCircuitPeeringListResult - Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 5767type ExpressRouteCircuitPeeringListResult struct { 5768 // The URL to get the next set of results. 5769 NextLink *string `json:"nextLink,omitempty"` 5770 5771 // The peerings in an express route circuit. 5772 Value []*ExpressRouteCircuitPeering `json:"value,omitempty"` 5773} 5774 5775// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringListResult. 5776func (e ExpressRouteCircuitPeeringListResult) MarshalJSON() ([]byte, error) { 5777 objectMap := make(map[string]interface{}) 5778 populate(objectMap, "nextLink", e.NextLink) 5779 populate(objectMap, "value", e.Value) 5780 return json.Marshal(objectMap) 5781} 5782 5783// ExpressRouteCircuitPeeringPropertiesFormat - Properties of the express route circuit peering. 5784type ExpressRouteCircuitPeeringPropertiesFormat struct { 5785 // The Azure ASN. 5786 AzureASN *int32 `json:"azureASN,omitempty"` 5787 5788 // The list of circuit connections associated with Azure Private Peering for this circuit. 5789 Connections []*ExpressRouteCircuitConnection `json:"connections,omitempty"` 5790 5791 // The ExpressRoute connection. 5792 ExpressRouteConnection *ExpressRouteConnectionID `json:"expressRouteConnection,omitempty"` 5793 5794 // The GatewayManager Etag. 5795 GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` 5796 5797 // The IPv6 peering configuration. 5798 IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` 5799 5800 // The Microsoft peering configuration. 5801 MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` 5802 5803 // The peer ASN. 5804 PeerASN *int64 `json:"peerASN,omitempty"` 5805 5806 // The peering type. 5807 PeeringType *ExpressRoutePeeringType `json:"peeringType,omitempty"` 5808 5809 // The primary port. 5810 PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` 5811 5812 // The primary address prefix. 5813 PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` 5814 5815 // The reference to the RouteFilter resource. 5816 RouteFilter *SubResource `json:"routeFilter,omitempty"` 5817 5818 // The secondary port. 5819 SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` 5820 5821 // The secondary address prefix. 5822 SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` 5823 5824 // The shared key. 5825 SharedKey *string `json:"sharedKey,omitempty"` 5826 5827 // The peering state. 5828 State *ExpressRoutePeeringState `json:"state,omitempty"` 5829 5830 // The peering stats of express route circuit. 5831 Stats *ExpressRouteCircuitStats `json:"stats,omitempty"` 5832 5833 // The VLAN ID. 5834 VlanID *int32 `json:"vlanId,omitempty"` 5835 5836 // READ-ONLY; Who was the last to modify the peering. 5837 LastModifiedBy *string `json:"lastModifiedBy,omitempty" azure:"ro"` 5838 5839 // READ-ONLY; The list of peered circuit connections associated with Azure Private Peering for this circuit. 5840 PeeredConnections []*PeerExpressRouteCircuitConnection `json:"peeredConnections,omitempty" azure:"ro"` 5841 5842 // READ-ONLY; The provisioning state of the express route circuit peering resource. 5843 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5844} 5845 5846// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringPropertiesFormat. 5847func (e ExpressRouteCircuitPeeringPropertiesFormat) MarshalJSON() ([]byte, error) { 5848 objectMap := make(map[string]interface{}) 5849 populate(objectMap, "azureASN", e.AzureASN) 5850 populate(objectMap, "connections", e.Connections) 5851 populate(objectMap, "expressRouteConnection", e.ExpressRouteConnection) 5852 populate(objectMap, "gatewayManagerEtag", e.GatewayManagerEtag) 5853 populate(objectMap, "ipv6PeeringConfig", e.IPv6PeeringConfig) 5854 populate(objectMap, "lastModifiedBy", e.LastModifiedBy) 5855 populate(objectMap, "microsoftPeeringConfig", e.MicrosoftPeeringConfig) 5856 populate(objectMap, "peerASN", e.PeerASN) 5857 populate(objectMap, "peeredConnections", e.PeeredConnections) 5858 populate(objectMap, "peeringType", e.PeeringType) 5859 populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) 5860 populate(objectMap, "primaryPeerAddressPrefix", e.PrimaryPeerAddressPrefix) 5861 populate(objectMap, "provisioningState", e.ProvisioningState) 5862 populate(objectMap, "routeFilter", e.RouteFilter) 5863 populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) 5864 populate(objectMap, "secondaryPeerAddressPrefix", e.SecondaryPeerAddressPrefix) 5865 populate(objectMap, "sharedKey", e.SharedKey) 5866 populate(objectMap, "state", e.State) 5867 populate(objectMap, "stats", e.Stats) 5868 populate(objectMap, "vlanId", e.VlanID) 5869 return json.Marshal(objectMap) 5870} 5871 5872// ExpressRouteCircuitPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitPeerings.BeginCreateOrUpdate method. 5873type ExpressRouteCircuitPeeringsBeginCreateOrUpdateOptions struct { 5874 // placeholder for future optional parameters 5875} 5876 5877// ExpressRouteCircuitPeeringsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitPeerings.BeginDelete method. 5878type ExpressRouteCircuitPeeringsBeginDeleteOptions struct { 5879 // placeholder for future optional parameters 5880} 5881 5882// ExpressRouteCircuitPeeringsGetOptions contains the optional parameters for the ExpressRouteCircuitPeerings.Get method. 5883type ExpressRouteCircuitPeeringsGetOptions struct { 5884 // placeholder for future optional parameters 5885} 5886 5887// ExpressRouteCircuitPeeringsListOptions contains the optional parameters for the ExpressRouteCircuitPeerings.List method. 5888type ExpressRouteCircuitPeeringsListOptions struct { 5889 // placeholder for future optional parameters 5890} 5891 5892// ExpressRouteCircuitPropertiesFormat - Properties of ExpressRouteCircuit. 5893type ExpressRouteCircuitPropertiesFormat struct { 5894 // Allow classic operations. 5895 AllowClassicOperations *bool `json:"allowClassicOperations,omitempty"` 5896 5897 // The list of authorizations. 5898 Authorizations []*ExpressRouteCircuitAuthorization `json:"authorizations,omitempty"` 5899 5900 // The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. 5901 BandwidthInGbps *float32 `json:"bandwidthInGbps,omitempty"` 5902 5903 // The CircuitProvisioningState state of the resource. 5904 CircuitProvisioningState *string `json:"circuitProvisioningState,omitempty"` 5905 5906 // The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource. 5907 ExpressRoutePort *SubResource `json:"expressRoutePort,omitempty"` 5908 5909 // The GatewayManager Etag. 5910 GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` 5911 5912 // Flag denoting global reach status. 5913 GlobalReachEnabled *bool `json:"globalReachEnabled,omitempty"` 5914 5915 // The list of peerings. 5916 Peerings []*ExpressRouteCircuitPeering `json:"peerings,omitempty"` 5917 5918 // The ServiceKey. 5919 ServiceKey *string `json:"serviceKey,omitempty"` 5920 5921 // The ServiceProviderNotes. 5922 ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` 5923 5924 // The ServiceProviderProperties. 5925 ServiceProviderProperties *ExpressRouteCircuitServiceProviderProperties `json:"serviceProviderProperties,omitempty"` 5926 5927 // The ServiceProviderProvisioningState state of the resource. 5928 ServiceProviderProvisioningState *ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` 5929 5930 // READ-ONLY; The provisioning state of the express route circuit resource. 5931 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5932 5933 // READ-ONLY; The identifier of the circuit traffic. Outer tag for QinQ encapsulation. 5934 Stag *int32 `json:"stag,omitempty" azure:"ro"` 5935} 5936 5937// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPropertiesFormat. 5938func (e ExpressRouteCircuitPropertiesFormat) MarshalJSON() ([]byte, error) { 5939 objectMap := make(map[string]interface{}) 5940 populate(objectMap, "allowClassicOperations", e.AllowClassicOperations) 5941 populate(objectMap, "authorizations", e.Authorizations) 5942 populate(objectMap, "bandwidthInGbps", e.BandwidthInGbps) 5943 populate(objectMap, "circuitProvisioningState", e.CircuitProvisioningState) 5944 populate(objectMap, "expressRoutePort", e.ExpressRoutePort) 5945 populate(objectMap, "gatewayManagerEtag", e.GatewayManagerEtag) 5946 populate(objectMap, "globalReachEnabled", e.GlobalReachEnabled) 5947 populate(objectMap, "peerings", e.Peerings) 5948 populate(objectMap, "provisioningState", e.ProvisioningState) 5949 populate(objectMap, "serviceKey", e.ServiceKey) 5950 populate(objectMap, "serviceProviderNotes", e.ServiceProviderNotes) 5951 populate(objectMap, "serviceProviderProperties", e.ServiceProviderProperties) 5952 populate(objectMap, "serviceProviderProvisioningState", e.ServiceProviderProvisioningState) 5953 populate(objectMap, "stag", e.Stag) 5954 return json.Marshal(objectMap) 5955} 5956 5957// ExpressRouteCircuitReference - Reference to an express route circuit. 5958type ExpressRouteCircuitReference struct { 5959 // Corresponding Express Route Circuit Id. 5960 ID *string `json:"id,omitempty"` 5961} 5962 5963// ExpressRouteCircuitRoutesTable - The routes table associated with the ExpressRouteCircuit. 5964type ExpressRouteCircuitRoutesTable struct { 5965 // Local preference value as set with the set local-preference route-map configuration command. 5966 LocPrf *string `json:"locPrf,omitempty"` 5967 5968 // IP address of a network entity. 5969 Network *string `json:"network,omitempty"` 5970 5971 // NextHop address. 5972 NextHop *string `json:"nextHop,omitempty"` 5973 5974 // Autonomous system paths to the destination network. 5975 Path *string `json:"path,omitempty"` 5976 5977 // Route Weight. 5978 Weight *int32 `json:"weight,omitempty"` 5979} 5980 5981// ExpressRouteCircuitRoutesTableSummary - The routes table associated with the ExpressRouteCircuit. 5982type ExpressRouteCircuitRoutesTableSummary struct { 5983 // Autonomous system number. 5984 As *int32 `json:"as,omitempty"` 5985 5986 // IP address of the neighbor. 5987 Neighbor *string `json:"neighbor,omitempty"` 5988 5989 // Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. 5990 StatePfxRcd *string `json:"statePfxRcd,omitempty"` 5991 5992 // The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. 5993 UpDown *string `json:"upDown,omitempty"` 5994 5995 // BGP version number spoken to the neighbor. 5996 V *int32 `json:"v,omitempty"` 5997} 5998 5999// ExpressRouteCircuitSKU - Contains SKU in an ExpressRouteCircuit. 6000type ExpressRouteCircuitSKU struct { 6001 // The family of the SKU. 6002 Family *ExpressRouteCircuitSKUFamily `json:"family,omitempty"` 6003 6004 // The name of the SKU. 6005 Name *string `json:"name,omitempty"` 6006 6007 // The tier of the SKU. 6008 Tier *ExpressRouteCircuitSKUTier `json:"tier,omitempty"` 6009} 6010 6011// ExpressRouteCircuitServiceProviderProperties - Contains ServiceProviderProperties in an ExpressRouteCircuit. 6012type ExpressRouteCircuitServiceProviderProperties struct { 6013 // The BandwidthInMbps. 6014 BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` 6015 6016 // The peering location. 6017 PeeringLocation *string `json:"peeringLocation,omitempty"` 6018 6019 // The serviceProviderName. 6020 ServiceProviderName *string `json:"serviceProviderName,omitempty"` 6021} 6022 6023// ExpressRouteCircuitStats - Contains stats associated with the peering. 6024type ExpressRouteCircuitStats struct { 6025 // The Primary BytesIn of the peering. 6026 PrimarybytesIn *int64 `json:"primarybytesIn,omitempty"` 6027 6028 // The primary BytesOut of the peering. 6029 PrimarybytesOut *int64 `json:"primarybytesOut,omitempty"` 6030 6031 // The secondary BytesIn of the peering. 6032 SecondarybytesIn *int64 `json:"secondarybytesIn,omitempty"` 6033 6034 // The secondary BytesOut of the peering. 6035 SecondarybytesOut *int64 `json:"secondarybytesOut,omitempty"` 6036} 6037 6038// ExpressRouteCircuitsArpTableListResult - Response for ListArpTable associated with the Express Route Circuits API. 6039type ExpressRouteCircuitsArpTableListResult struct { 6040 // The URL to get the next set of results. 6041 NextLink *string `json:"nextLink,omitempty"` 6042 6043 // A list of the ARP tables. 6044 Value []*ExpressRouteCircuitArpTable `json:"value,omitempty"` 6045} 6046 6047// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsArpTableListResult. 6048func (e ExpressRouteCircuitsArpTableListResult) MarshalJSON() ([]byte, error) { 6049 objectMap := make(map[string]interface{}) 6050 populate(objectMap, "nextLink", e.NextLink) 6051 populate(objectMap, "value", e.Value) 6052 return json.Marshal(objectMap) 6053} 6054 6055// ExpressRouteCircuitsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuits.BeginCreateOrUpdate method. 6056type ExpressRouteCircuitsBeginCreateOrUpdateOptions struct { 6057 // placeholder for future optional parameters 6058} 6059 6060// ExpressRouteCircuitsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuits.BeginDelete method. 6061type ExpressRouteCircuitsBeginDeleteOptions struct { 6062 // placeholder for future optional parameters 6063} 6064 6065// ExpressRouteCircuitsBeginListArpTableOptions contains the optional parameters for the ExpressRouteCircuits.BeginListArpTable method. 6066type ExpressRouteCircuitsBeginListArpTableOptions struct { 6067 // placeholder for future optional parameters 6068} 6069 6070// ExpressRouteCircuitsBeginListRoutesTableOptions contains the optional parameters for the ExpressRouteCircuits.BeginListRoutesTable method. 6071type ExpressRouteCircuitsBeginListRoutesTableOptions struct { 6072 // placeholder for future optional parameters 6073} 6074 6075// ExpressRouteCircuitsBeginListRoutesTableSummaryOptions contains the optional parameters for the ExpressRouteCircuits.BeginListRoutesTableSummary method. 6076type ExpressRouteCircuitsBeginListRoutesTableSummaryOptions struct { 6077 // placeholder for future optional parameters 6078} 6079 6080// ExpressRouteCircuitsGetOptions contains the optional parameters for the ExpressRouteCircuits.Get method. 6081type ExpressRouteCircuitsGetOptions struct { 6082 // placeholder for future optional parameters 6083} 6084 6085// ExpressRouteCircuitsGetPeeringStatsOptions contains the optional parameters for the ExpressRouteCircuits.GetPeeringStats method. 6086type ExpressRouteCircuitsGetPeeringStatsOptions struct { 6087 // placeholder for future optional parameters 6088} 6089 6090// ExpressRouteCircuitsGetStatsOptions contains the optional parameters for the ExpressRouteCircuits.GetStats method. 6091type ExpressRouteCircuitsGetStatsOptions struct { 6092 // placeholder for future optional parameters 6093} 6094 6095// ExpressRouteCircuitsListAllOptions contains the optional parameters for the ExpressRouteCircuits.ListAll method. 6096type ExpressRouteCircuitsListAllOptions struct { 6097 // placeholder for future optional parameters 6098} 6099 6100// ExpressRouteCircuitsListOptions contains the optional parameters for the ExpressRouteCircuits.List method. 6101type ExpressRouteCircuitsListOptions struct { 6102 // placeholder for future optional parameters 6103} 6104 6105// ExpressRouteCircuitsRoutesTableListResult - Response for ListRoutesTable associated with the Express Route Circuits API. 6106type ExpressRouteCircuitsRoutesTableListResult struct { 6107 // The URL to get the next set of results. 6108 NextLink *string `json:"nextLink,omitempty"` 6109 6110 // The list of routes table. 6111 Value []*ExpressRouteCircuitRoutesTable `json:"value,omitempty"` 6112} 6113 6114// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsRoutesTableListResult. 6115func (e ExpressRouteCircuitsRoutesTableListResult) MarshalJSON() ([]byte, error) { 6116 objectMap := make(map[string]interface{}) 6117 populate(objectMap, "nextLink", e.NextLink) 6118 populate(objectMap, "value", e.Value) 6119 return json.Marshal(objectMap) 6120} 6121 6122// ExpressRouteCircuitsRoutesTableSummaryListResult - Response for ListRoutesTable associated with the Express Route Circuits API. 6123type ExpressRouteCircuitsRoutesTableSummaryListResult struct { 6124 // The URL to get the next set of results. 6125 NextLink *string `json:"nextLink,omitempty"` 6126 6127 // A list of the routes table. 6128 Value []*ExpressRouteCircuitRoutesTableSummary `json:"value,omitempty"` 6129} 6130 6131// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsRoutesTableSummaryListResult. 6132func (e ExpressRouteCircuitsRoutesTableSummaryListResult) MarshalJSON() ([]byte, error) { 6133 objectMap := make(map[string]interface{}) 6134 populate(objectMap, "nextLink", e.NextLink) 6135 populate(objectMap, "value", e.Value) 6136 return json.Marshal(objectMap) 6137} 6138 6139// ExpressRouteCircuitsUpdateTagsOptions contains the optional parameters for the ExpressRouteCircuits.UpdateTags method. 6140type ExpressRouteCircuitsUpdateTagsOptions struct { 6141 // placeholder for future optional parameters 6142} 6143 6144// ExpressRouteConnection resource. 6145type ExpressRouteConnection struct { 6146 SubResource 6147 // REQUIRED; The name of the resource. 6148 Name *string `json:"name,omitempty"` 6149 6150 // Properties of the express route connection. 6151 Properties *ExpressRouteConnectionProperties `json:"properties,omitempty"` 6152} 6153 6154// MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnection. 6155func (e ExpressRouteConnection) MarshalJSON() ([]byte, error) { 6156 objectMap := e.SubResource.marshalInternal() 6157 populate(objectMap, "name", e.Name) 6158 populate(objectMap, "properties", e.Properties) 6159 return json.Marshal(objectMap) 6160} 6161 6162// ExpressRouteConnectionID - The ID of the ExpressRouteConnection. 6163type ExpressRouteConnectionID struct { 6164 // READ-ONLY; The ID of the ExpressRouteConnection. 6165 ID *string `json:"id,omitempty" azure:"ro"` 6166} 6167 6168// ExpressRouteConnectionList - ExpressRouteConnection list. 6169type ExpressRouteConnectionList struct { 6170 // The list of ExpressRoute connections. 6171 Value []*ExpressRouteConnection `json:"value,omitempty"` 6172} 6173 6174// MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnectionList. 6175func (e ExpressRouteConnectionList) MarshalJSON() ([]byte, error) { 6176 objectMap := make(map[string]interface{}) 6177 populate(objectMap, "value", e.Value) 6178 return json.Marshal(objectMap) 6179} 6180 6181// ExpressRouteConnectionProperties - Properties of the ExpressRouteConnection subresource. 6182type ExpressRouteConnectionProperties struct { 6183 // REQUIRED; The ExpressRoute circuit peering. 6184 ExpressRouteCircuitPeering *ExpressRouteCircuitPeeringID `json:"expressRouteCircuitPeering,omitempty"` 6185 6186 // Authorization key to establish the connection. 6187 AuthorizationKey *string `json:"authorizationKey,omitempty"` 6188 6189 // Enable internet security. 6190 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 6191 6192 // Enable FastPath to vWan Firewall hub. 6193 ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` 6194 6195 // The Routing Configuration indicating the associated and propagated route tables on this connection. 6196 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 6197 6198 // The routing weight associated to the connection. 6199 RoutingWeight *int32 `json:"routingWeight,omitempty"` 6200 6201 // READ-ONLY; The provisioning state of the express route connection resource. 6202 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6203} 6204 6205// ExpressRouteConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteConnections.BeginCreateOrUpdate method. 6206type ExpressRouteConnectionsBeginCreateOrUpdateOptions struct { 6207 // placeholder for future optional parameters 6208} 6209 6210// ExpressRouteConnectionsBeginDeleteOptions contains the optional parameters for the ExpressRouteConnections.BeginDelete method. 6211type ExpressRouteConnectionsBeginDeleteOptions struct { 6212 // placeholder for future optional parameters 6213} 6214 6215// ExpressRouteConnectionsGetOptions contains the optional parameters for the ExpressRouteConnections.Get method. 6216type ExpressRouteConnectionsGetOptions struct { 6217 // placeholder for future optional parameters 6218} 6219 6220// ExpressRouteConnectionsListOptions contains the optional parameters for the ExpressRouteConnections.List method. 6221type ExpressRouteConnectionsListOptions struct { 6222 // placeholder for future optional parameters 6223} 6224 6225// ExpressRouteCrossConnection resource. 6226type ExpressRouteCrossConnection struct { 6227 Resource 6228 // Properties of the express route cross connection. 6229 Properties *ExpressRouteCrossConnectionProperties `json:"properties,omitempty"` 6230 6231 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6232 Etag *string `json:"etag,omitempty" azure:"ro"` 6233} 6234 6235// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnection. 6236func (e ExpressRouteCrossConnection) MarshalJSON() ([]byte, error) { 6237 objectMap := e.Resource.marshalInternal() 6238 populate(objectMap, "etag", e.Etag) 6239 populate(objectMap, "properties", e.Properties) 6240 return json.Marshal(objectMap) 6241} 6242 6243// ExpressRouteCrossConnectionListResult - Response for ListExpressRouteCrossConnection API service call. 6244type ExpressRouteCrossConnectionListResult struct { 6245 // A list of ExpressRouteCrossConnection resources. 6246 Value []*ExpressRouteCrossConnection `json:"value,omitempty"` 6247 6248 // READ-ONLY; The URL to get the next set of results. 6249 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 6250} 6251 6252// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionListResult. 6253func (e ExpressRouteCrossConnectionListResult) MarshalJSON() ([]byte, error) { 6254 objectMap := make(map[string]interface{}) 6255 populate(objectMap, "nextLink", e.NextLink) 6256 populate(objectMap, "value", e.Value) 6257 return json.Marshal(objectMap) 6258} 6259 6260// ExpressRouteCrossConnectionPeering - Peering in an ExpressRoute Cross Connection resource. 6261type ExpressRouteCrossConnectionPeering struct { 6262 SubResource 6263 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 6264 Name *string `json:"name,omitempty"` 6265 6266 // Properties of the express route cross connection peering. 6267 Properties *ExpressRouteCrossConnectionPeeringProperties `json:"properties,omitempty"` 6268 6269 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6270 Etag *string `json:"etag,omitempty" azure:"ro"` 6271} 6272 6273// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionPeering. 6274func (e ExpressRouteCrossConnectionPeering) MarshalJSON() ([]byte, error) { 6275 objectMap := e.SubResource.marshalInternal() 6276 populate(objectMap, "etag", e.Etag) 6277 populate(objectMap, "name", e.Name) 6278 populate(objectMap, "properties", e.Properties) 6279 return json.Marshal(objectMap) 6280} 6281 6282// ExpressRouteCrossConnectionPeeringList - Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. 6283type ExpressRouteCrossConnectionPeeringList struct { 6284 // The peerings in an express route cross connection. 6285 Value []*ExpressRouteCrossConnectionPeering `json:"value,omitempty"` 6286 6287 // READ-ONLY; The URL to get the next set of results. 6288 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 6289} 6290 6291// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionPeeringList. 6292func (e ExpressRouteCrossConnectionPeeringList) MarshalJSON() ([]byte, error) { 6293 objectMap := make(map[string]interface{}) 6294 populate(objectMap, "nextLink", e.NextLink) 6295 populate(objectMap, "value", e.Value) 6296 return json.Marshal(objectMap) 6297} 6298 6299// ExpressRouteCrossConnectionPeeringProperties - Properties of express route cross connection peering. 6300type ExpressRouteCrossConnectionPeeringProperties struct { 6301 // The GatewayManager Etag. 6302 GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` 6303 6304 // The IPv6 peering configuration. 6305 IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` 6306 6307 // The Microsoft peering configuration. 6308 MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` 6309 6310 // The peer ASN. 6311 PeerASN *int64 `json:"peerASN,omitempty"` 6312 6313 // The peering type. 6314 PeeringType *ExpressRoutePeeringType `json:"peeringType,omitempty"` 6315 6316 // The primary address prefix. 6317 PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` 6318 6319 // The secondary address prefix. 6320 SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` 6321 6322 // The shared key. 6323 SharedKey *string `json:"sharedKey,omitempty"` 6324 6325 // The peering state. 6326 State *ExpressRoutePeeringState `json:"state,omitempty"` 6327 6328 // The VLAN ID. 6329 VlanID *int32 `json:"vlanId,omitempty"` 6330 6331 // READ-ONLY; The Azure ASN. 6332 AzureASN *int32 `json:"azureASN,omitempty" azure:"ro"` 6333 6334 // READ-ONLY; Who was the last to modify the peering. 6335 LastModifiedBy *string `json:"lastModifiedBy,omitempty" azure:"ro"` 6336 6337 // READ-ONLY; The primary port. 6338 PrimaryAzurePort *string `json:"primaryAzurePort,omitempty" azure:"ro"` 6339 6340 // READ-ONLY; The provisioning state of the express route cross connection peering resource. 6341 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6342 6343 // READ-ONLY; The secondary port. 6344 SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty" azure:"ro"` 6345} 6346 6347// ExpressRouteCrossConnectionPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.BeginCreateOrUpdate 6348// method. 6349type ExpressRouteCrossConnectionPeeringsBeginCreateOrUpdateOptions struct { 6350 // placeholder for future optional parameters 6351} 6352 6353// ExpressRouteCrossConnectionPeeringsBeginDeleteOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.BeginDelete method. 6354type ExpressRouteCrossConnectionPeeringsBeginDeleteOptions struct { 6355 // placeholder for future optional parameters 6356} 6357 6358// ExpressRouteCrossConnectionPeeringsGetOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.Get method. 6359type ExpressRouteCrossConnectionPeeringsGetOptions struct { 6360 // placeholder for future optional parameters 6361} 6362 6363// ExpressRouteCrossConnectionPeeringsListOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.List method. 6364type ExpressRouteCrossConnectionPeeringsListOptions struct { 6365 // placeholder for future optional parameters 6366} 6367 6368// ExpressRouteCrossConnectionProperties - Properties of ExpressRouteCrossConnection. 6369type ExpressRouteCrossConnectionProperties struct { 6370 // The ExpressRouteCircuit. 6371 ExpressRouteCircuit *ExpressRouteCircuitReference `json:"expressRouteCircuit,omitempty"` 6372 6373 // The list of peerings. 6374 Peerings []*ExpressRouteCrossConnectionPeering `json:"peerings,omitempty"` 6375 6376 // Additional read only notes set by the connectivity provider. 6377 ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` 6378 6379 // The provisioning state of the circuit in the connectivity provider system. 6380 ServiceProviderProvisioningState *ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` 6381 6382 // READ-ONLY; The circuit bandwidth In Mbps. 6383 BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty" azure:"ro"` 6384 6385 // READ-ONLY; The peering location of the ExpressRoute circuit. 6386 PeeringLocation *string `json:"peeringLocation,omitempty" azure:"ro"` 6387 6388 // READ-ONLY; The name of the primary port. 6389 PrimaryAzurePort *string `json:"primaryAzurePort,omitempty" azure:"ro"` 6390 6391 // READ-ONLY; The provisioning state of the express route cross connection resource. 6392 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6393 6394 // READ-ONLY; The identifier of the circuit traffic. 6395 STag *int32 `json:"sTag,omitempty" azure:"ro"` 6396 6397 // READ-ONLY; The name of the secondary port. 6398 SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty" azure:"ro"` 6399} 6400 6401// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionProperties. 6402func (e ExpressRouteCrossConnectionProperties) MarshalJSON() ([]byte, error) { 6403 objectMap := make(map[string]interface{}) 6404 populate(objectMap, "bandwidthInMbps", e.BandwidthInMbps) 6405 populate(objectMap, "expressRouteCircuit", e.ExpressRouteCircuit) 6406 populate(objectMap, "peeringLocation", e.PeeringLocation) 6407 populate(objectMap, "peerings", e.Peerings) 6408 populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) 6409 populate(objectMap, "provisioningState", e.ProvisioningState) 6410 populate(objectMap, "sTag", e.STag) 6411 populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) 6412 populate(objectMap, "serviceProviderNotes", e.ServiceProviderNotes) 6413 populate(objectMap, "serviceProviderProvisioningState", e.ServiceProviderProvisioningState) 6414 return json.Marshal(objectMap) 6415} 6416 6417// ExpressRouteCrossConnectionRoutesTableSummary - The routes table associated with the ExpressRouteCircuit. 6418type ExpressRouteCrossConnectionRoutesTableSummary struct { 6419 // Autonomous system number. 6420 Asn *int32 `json:"asn,omitempty"` 6421 6422 // IP address of Neighbor router. 6423 Neighbor *string `json:"neighbor,omitempty"` 6424 6425 // Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. 6426 StateOrPrefixesReceived *string `json:"stateOrPrefixesReceived,omitempty"` 6427 6428 // The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. 6429 UpDown *string `json:"upDown,omitempty"` 6430} 6431 6432// ExpressRouteCrossConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginCreateOrUpdate method. 6433type ExpressRouteCrossConnectionsBeginCreateOrUpdateOptions struct { 6434 // placeholder for future optional parameters 6435} 6436 6437// ExpressRouteCrossConnectionsBeginListArpTableOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListArpTable method. 6438type ExpressRouteCrossConnectionsBeginListArpTableOptions struct { 6439 // placeholder for future optional parameters 6440} 6441 6442// ExpressRouteCrossConnectionsBeginListRoutesTableOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListRoutesTable method. 6443type ExpressRouteCrossConnectionsBeginListRoutesTableOptions struct { 6444 // placeholder for future optional parameters 6445} 6446 6447// ExpressRouteCrossConnectionsBeginListRoutesTableSummaryOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListRoutesTableSummary 6448// method. 6449type ExpressRouteCrossConnectionsBeginListRoutesTableSummaryOptions struct { 6450 // placeholder for future optional parameters 6451} 6452 6453// ExpressRouteCrossConnectionsGetOptions contains the optional parameters for the ExpressRouteCrossConnections.Get method. 6454type ExpressRouteCrossConnectionsGetOptions struct { 6455 // placeholder for future optional parameters 6456} 6457 6458// ExpressRouteCrossConnectionsListByResourceGroupOptions contains the optional parameters for the ExpressRouteCrossConnections.ListByResourceGroup method. 6459type ExpressRouteCrossConnectionsListByResourceGroupOptions struct { 6460 // placeholder for future optional parameters 6461} 6462 6463// ExpressRouteCrossConnectionsListOptions contains the optional parameters for the ExpressRouteCrossConnections.List method. 6464type ExpressRouteCrossConnectionsListOptions struct { 6465 // placeholder for future optional parameters 6466} 6467 6468// ExpressRouteCrossConnectionsRoutesTableSummaryListResult - Response for ListRoutesTable associated with the Express Route Cross Connections. 6469type ExpressRouteCrossConnectionsRoutesTableSummaryListResult struct { 6470 // A list of the routes table. 6471 Value []*ExpressRouteCrossConnectionRoutesTableSummary `json:"value,omitempty"` 6472 6473 // READ-ONLY; The URL to get the next set of results. 6474 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 6475} 6476 6477// MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionsRoutesTableSummaryListResult. 6478func (e ExpressRouteCrossConnectionsRoutesTableSummaryListResult) MarshalJSON() ([]byte, error) { 6479 objectMap := make(map[string]interface{}) 6480 populate(objectMap, "nextLink", e.NextLink) 6481 populate(objectMap, "value", e.Value) 6482 return json.Marshal(objectMap) 6483} 6484 6485// ExpressRouteCrossConnectionsUpdateTagsOptions contains the optional parameters for the ExpressRouteCrossConnections.UpdateTags method. 6486type ExpressRouteCrossConnectionsUpdateTagsOptions struct { 6487 // placeholder for future optional parameters 6488} 6489 6490// ExpressRouteGateway - ExpressRoute gateway resource. 6491type ExpressRouteGateway struct { 6492 Resource 6493 // Properties of the express route gateway. 6494 Properties *ExpressRouteGatewayProperties `json:"properties,omitempty"` 6495 6496 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6497 Etag *string `json:"etag,omitempty" azure:"ro"` 6498} 6499 6500// MarshalJSON implements the json.Marshaller interface for type ExpressRouteGateway. 6501func (e ExpressRouteGateway) MarshalJSON() ([]byte, error) { 6502 objectMap := e.Resource.marshalInternal() 6503 populate(objectMap, "etag", e.Etag) 6504 populate(objectMap, "properties", e.Properties) 6505 return json.Marshal(objectMap) 6506} 6507 6508// ExpressRouteGatewayList - List of ExpressRoute gateways. 6509type ExpressRouteGatewayList struct { 6510 // List of ExpressRoute gateways. 6511 Value []*ExpressRouteGateway `json:"value,omitempty"` 6512} 6513 6514// MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayList. 6515func (e ExpressRouteGatewayList) MarshalJSON() ([]byte, error) { 6516 objectMap := make(map[string]interface{}) 6517 populate(objectMap, "value", e.Value) 6518 return json.Marshal(objectMap) 6519} 6520 6521// ExpressRouteGatewayProperties - ExpressRoute gateway resource properties. 6522type ExpressRouteGatewayProperties struct { 6523 // REQUIRED; The Virtual Hub where the ExpressRoute gateway is or will be deployed. 6524 VirtualHub *VirtualHubID `json:"virtualHub,omitempty"` 6525 6526 // Configuration for auto scaling. 6527 AutoScaleConfiguration *ExpressRouteGatewayPropertiesAutoScaleConfiguration `json:"autoScaleConfiguration,omitempty"` 6528 6529 // READ-ONLY; List of ExpressRoute connections to the ExpressRoute gateway. 6530 ExpressRouteConnections []*ExpressRouteConnection `json:"expressRouteConnections,omitempty" azure:"ro"` 6531 6532 // READ-ONLY; The provisioning state of the express route gateway resource. 6533 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6534} 6535 6536// MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayProperties. 6537func (e ExpressRouteGatewayProperties) MarshalJSON() ([]byte, error) { 6538 objectMap := make(map[string]interface{}) 6539 populate(objectMap, "autoScaleConfiguration", e.AutoScaleConfiguration) 6540 populate(objectMap, "expressRouteConnections", e.ExpressRouteConnections) 6541 populate(objectMap, "provisioningState", e.ProvisioningState) 6542 populate(objectMap, "virtualHub", e.VirtualHub) 6543 return json.Marshal(objectMap) 6544} 6545 6546// ExpressRouteGatewayPropertiesAutoScaleConfiguration - Configuration for auto scaling. 6547type ExpressRouteGatewayPropertiesAutoScaleConfiguration struct { 6548 // Minimum and maximum number of scale units to deploy. 6549 Bounds *ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds `json:"bounds,omitempty"` 6550} 6551 6552// ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - Minimum and maximum number of scale units to deploy. 6553type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds struct { 6554 // Maximum number of scale units deployed for ExpressRoute gateway. 6555 Max *int32 `json:"max,omitempty"` 6556 6557 // Minimum number of scale units deployed for ExpressRoute gateway. 6558 Min *int32 `json:"min,omitempty"` 6559} 6560 6561// ExpressRouteGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteGateways.BeginCreateOrUpdate method. 6562type ExpressRouteGatewaysBeginCreateOrUpdateOptions struct { 6563 // placeholder for future optional parameters 6564} 6565 6566// ExpressRouteGatewaysBeginDeleteOptions contains the optional parameters for the ExpressRouteGateways.BeginDelete method. 6567type ExpressRouteGatewaysBeginDeleteOptions struct { 6568 // placeholder for future optional parameters 6569} 6570 6571// ExpressRouteGatewaysBeginUpdateTagsOptions contains the optional parameters for the ExpressRouteGateways.BeginUpdateTags method. 6572type ExpressRouteGatewaysBeginUpdateTagsOptions struct { 6573 // placeholder for future optional parameters 6574} 6575 6576// ExpressRouteGatewaysGetOptions contains the optional parameters for the ExpressRouteGateways.Get method. 6577type ExpressRouteGatewaysGetOptions struct { 6578 // placeholder for future optional parameters 6579} 6580 6581// ExpressRouteGatewaysListByResourceGroupOptions contains the optional parameters for the ExpressRouteGateways.ListByResourceGroup method. 6582type ExpressRouteGatewaysListByResourceGroupOptions struct { 6583 // placeholder for future optional parameters 6584} 6585 6586// ExpressRouteGatewaysListBySubscriptionOptions contains the optional parameters for the ExpressRouteGateways.ListBySubscription method. 6587type ExpressRouteGatewaysListBySubscriptionOptions struct { 6588 // placeholder for future optional parameters 6589} 6590 6591// ExpressRouteLink child resource definition. 6592type ExpressRouteLink struct { 6593 SubResource 6594 // Name of child port resource that is unique among child port resources of the parent. 6595 Name *string `json:"name,omitempty"` 6596 6597 // ExpressRouteLink properties. 6598 Properties *ExpressRouteLinkPropertiesFormat `json:"properties,omitempty"` 6599 6600 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6601 Etag *string `json:"etag,omitempty" azure:"ro"` 6602} 6603 6604// MarshalJSON implements the json.Marshaller interface for type ExpressRouteLink. 6605func (e ExpressRouteLink) MarshalJSON() ([]byte, error) { 6606 objectMap := e.SubResource.marshalInternal() 6607 populate(objectMap, "etag", e.Etag) 6608 populate(objectMap, "name", e.Name) 6609 populate(objectMap, "properties", e.Properties) 6610 return json.Marshal(objectMap) 6611} 6612 6613// ExpressRouteLinkListResult - Response for ListExpressRouteLinks API service call. 6614type ExpressRouteLinkListResult struct { 6615 // The URL to get the next set of results. 6616 NextLink *string `json:"nextLink,omitempty"` 6617 6618 // The list of ExpressRouteLink sub-resources. 6619 Value []*ExpressRouteLink `json:"value,omitempty"` 6620} 6621 6622// MarshalJSON implements the json.Marshaller interface for type ExpressRouteLinkListResult. 6623func (e ExpressRouteLinkListResult) MarshalJSON() ([]byte, error) { 6624 objectMap := make(map[string]interface{}) 6625 populate(objectMap, "nextLink", e.NextLink) 6626 populate(objectMap, "value", e.Value) 6627 return json.Marshal(objectMap) 6628} 6629 6630// ExpressRouteLinkMacSecConfig - ExpressRouteLink Mac Security Configuration. 6631type ExpressRouteLinkMacSecConfig struct { 6632 // Keyvault Secret Identifier URL containing Mac security CAK key. 6633 CakSecretIdentifier *string `json:"cakSecretIdentifier,omitempty"` 6634 6635 // Mac security cipher. 6636 Cipher *ExpressRouteLinkMacSecCipher `json:"cipher,omitempty"` 6637 6638 // Keyvault Secret Identifier URL containing Mac security CKN key. 6639 CknSecretIdentifier *string `json:"cknSecretIdentifier,omitempty"` 6640 6641 // Sci mode enabled/disabled. 6642 SciState *ExpressRouteLinkMacSecSciState `json:"sciState,omitempty"` 6643} 6644 6645// ExpressRouteLinkPropertiesFormat - Properties specific to ExpressRouteLink resources. 6646type ExpressRouteLinkPropertiesFormat struct { 6647 // Administrative state of the physical port. 6648 AdminState *ExpressRouteLinkAdminState `json:"adminState,omitempty"` 6649 6650 // MacSec configuration. 6651 MacSecConfig *ExpressRouteLinkMacSecConfig `json:"macSecConfig,omitempty"` 6652 6653 // READ-ONLY; Physical fiber port type. 6654 ConnectorType *ExpressRouteLinkConnectorType `json:"connectorType,omitempty" azure:"ro"` 6655 6656 // READ-ONLY; Name of Azure router interface. 6657 InterfaceName *string `json:"interfaceName,omitempty" azure:"ro"` 6658 6659 // READ-ONLY; Mapping between physical port to patch panel port. 6660 PatchPanelID *string `json:"patchPanelId,omitempty" azure:"ro"` 6661 6662 // READ-ONLY; The provisioning state of the express route link resource. 6663 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6664 6665 // READ-ONLY; Mapping of physical patch panel to rack. 6666 RackID *string `json:"rackId,omitempty" azure:"ro"` 6667 6668 // READ-ONLY; Name of Azure router associated with physical port. 6669 RouterName *string `json:"routerName,omitempty" azure:"ro"` 6670} 6671 6672// ExpressRouteLinksGetOptions contains the optional parameters for the ExpressRouteLinks.Get method. 6673type ExpressRouteLinksGetOptions struct { 6674 // placeholder for future optional parameters 6675} 6676 6677// ExpressRouteLinksListOptions contains the optional parameters for the ExpressRouteLinks.List method. 6678type ExpressRouteLinksListOptions struct { 6679 // placeholder for future optional parameters 6680} 6681 6682// ExpressRoutePort resource definition. 6683type ExpressRoutePort struct { 6684 Resource 6685 // The identity of ExpressRoutePort, if configured. 6686 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 6687 6688 // ExpressRoutePort properties. 6689 Properties *ExpressRoutePortPropertiesFormat `json:"properties,omitempty"` 6690 6691 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6692 Etag *string `json:"etag,omitempty" azure:"ro"` 6693} 6694 6695// MarshalJSON implements the json.Marshaller interface for type ExpressRoutePort. 6696func (e ExpressRoutePort) MarshalJSON() ([]byte, error) { 6697 objectMap := e.Resource.marshalInternal() 6698 populate(objectMap, "etag", e.Etag) 6699 populate(objectMap, "identity", e.Identity) 6700 populate(objectMap, "properties", e.Properties) 6701 return json.Marshal(objectMap) 6702} 6703 6704// ExpressRoutePortListResult - Response for ListExpressRoutePorts API service call. 6705type ExpressRoutePortListResult struct { 6706 // The URL to get the next set of results. 6707 NextLink *string `json:"nextLink,omitempty"` 6708 6709 // A list of ExpressRoutePort resources. 6710 Value []*ExpressRoutePort `json:"value,omitempty"` 6711} 6712 6713// MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortListResult. 6714func (e ExpressRoutePortListResult) MarshalJSON() ([]byte, error) { 6715 objectMap := make(map[string]interface{}) 6716 populate(objectMap, "nextLink", e.NextLink) 6717 populate(objectMap, "value", e.Value) 6718 return json.Marshal(objectMap) 6719} 6720 6721// ExpressRoutePortPropertiesFormat - Properties specific to ExpressRoutePort resources. 6722type ExpressRoutePortPropertiesFormat struct { 6723 // Bandwidth of procured ports in Gbps. 6724 BandwidthInGbps *int32 `json:"bandwidthInGbps,omitempty"` 6725 6726 // Encapsulation method on physical ports. 6727 Encapsulation *ExpressRoutePortsEncapsulation `json:"encapsulation,omitempty"` 6728 6729 // The set of physical links of the ExpressRoutePort resource. 6730 Links []*ExpressRouteLink `json:"links,omitempty"` 6731 6732 // The name of the peering location that the ExpressRoutePort is mapped to physically. 6733 PeeringLocation *string `json:"peeringLocation,omitempty"` 6734 6735 // READ-ONLY; Date of the physical port allocation to be used in Letter of Authorization. 6736 AllocationDate *string `json:"allocationDate,omitempty" azure:"ro"` 6737 6738 // READ-ONLY; Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource. 6739 Circuits []*SubResource `json:"circuits,omitempty" azure:"ro"` 6740 6741 // READ-ONLY; Ether type of the physical port. 6742 EtherType *string `json:"etherType,omitempty" azure:"ro"` 6743 6744 // READ-ONLY; Maximum transmission unit of the physical port pair(s). 6745 Mtu *string `json:"mtu,omitempty" azure:"ro"` 6746 6747 // READ-ONLY; Aggregate Gbps of associated circuit bandwidths. 6748 ProvisionedBandwidthInGbps *float32 `json:"provisionedBandwidthInGbps,omitempty" azure:"ro"` 6749 6750 // READ-ONLY; The provisioning state of the express route port resource. 6751 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6752 6753 // READ-ONLY; The resource GUID property of the express route port resource. 6754 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 6755} 6756 6757// MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortPropertiesFormat. 6758func (e ExpressRoutePortPropertiesFormat) MarshalJSON() ([]byte, error) { 6759 objectMap := make(map[string]interface{}) 6760 populate(objectMap, "allocationDate", e.AllocationDate) 6761 populate(objectMap, "bandwidthInGbps", e.BandwidthInGbps) 6762 populate(objectMap, "circuits", e.Circuits) 6763 populate(objectMap, "encapsulation", e.Encapsulation) 6764 populate(objectMap, "etherType", e.EtherType) 6765 populate(objectMap, "links", e.Links) 6766 populate(objectMap, "mtu", e.Mtu) 6767 populate(objectMap, "peeringLocation", e.PeeringLocation) 6768 populate(objectMap, "provisionedBandwidthInGbps", e.ProvisionedBandwidthInGbps) 6769 populate(objectMap, "provisioningState", e.ProvisioningState) 6770 populate(objectMap, "resourceGuid", e.ResourceGUID) 6771 return json.Marshal(objectMap) 6772} 6773 6774// ExpressRoutePortsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRoutePorts.BeginCreateOrUpdate method. 6775type ExpressRoutePortsBeginCreateOrUpdateOptions struct { 6776 // placeholder for future optional parameters 6777} 6778 6779// ExpressRoutePortsBeginDeleteOptions contains the optional parameters for the ExpressRoutePorts.BeginDelete method. 6780type ExpressRoutePortsBeginDeleteOptions struct { 6781 // placeholder for future optional parameters 6782} 6783 6784// ExpressRoutePortsGenerateLOAOptions contains the optional parameters for the ExpressRoutePorts.GenerateLOA method. 6785type ExpressRoutePortsGenerateLOAOptions struct { 6786 // placeholder for future optional parameters 6787} 6788 6789// ExpressRoutePortsGetOptions contains the optional parameters for the ExpressRoutePorts.Get method. 6790type ExpressRoutePortsGetOptions struct { 6791 // placeholder for future optional parameters 6792} 6793 6794// ExpressRoutePortsListByResourceGroupOptions contains the optional parameters for the ExpressRoutePorts.ListByResourceGroup method. 6795type ExpressRoutePortsListByResourceGroupOptions struct { 6796 // placeholder for future optional parameters 6797} 6798 6799// ExpressRoutePortsListOptions contains the optional parameters for the ExpressRoutePorts.List method. 6800type ExpressRoutePortsListOptions struct { 6801 // placeholder for future optional parameters 6802} 6803 6804// ExpressRoutePortsLocation - Definition of the ExpressRoutePorts peering location resource. 6805type ExpressRoutePortsLocation struct { 6806 Resource 6807 // ExpressRoutePort peering location properties. 6808 Properties *ExpressRoutePortsLocationPropertiesFormat `json:"properties,omitempty"` 6809} 6810 6811// MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocation. 6812func (e ExpressRoutePortsLocation) MarshalJSON() ([]byte, error) { 6813 objectMap := e.Resource.marshalInternal() 6814 populate(objectMap, "properties", e.Properties) 6815 return json.Marshal(objectMap) 6816} 6817 6818// ExpressRoutePortsLocationBandwidths - Real-time inventory of available ExpressRoute port bandwidths. 6819type ExpressRoutePortsLocationBandwidths struct { 6820 // READ-ONLY; Bandwidth descriptive name. 6821 OfferName *string `json:"offerName,omitempty" azure:"ro"` 6822 6823 // READ-ONLY; Bandwidth value in Gbps. 6824 ValueInGbps *int32 `json:"valueInGbps,omitempty" azure:"ro"` 6825} 6826 6827// ExpressRoutePortsLocationListResult - Response for ListExpressRoutePortsLocations API service call. 6828type ExpressRoutePortsLocationListResult struct { 6829 // The URL to get the next set of results. 6830 NextLink *string `json:"nextLink,omitempty"` 6831 6832 // The list of all ExpressRoutePort peering locations. 6833 Value []*ExpressRoutePortsLocation `json:"value,omitempty"` 6834} 6835 6836// MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocationListResult. 6837func (e ExpressRoutePortsLocationListResult) MarshalJSON() ([]byte, error) { 6838 objectMap := make(map[string]interface{}) 6839 populate(objectMap, "nextLink", e.NextLink) 6840 populate(objectMap, "value", e.Value) 6841 return json.Marshal(objectMap) 6842} 6843 6844// ExpressRoutePortsLocationPropertiesFormat - Properties specific to ExpressRoutePorts peering location resources. 6845type ExpressRoutePortsLocationPropertiesFormat struct { 6846 // The inventory of available ExpressRoutePort bandwidths. 6847 AvailableBandwidths []*ExpressRoutePortsLocationBandwidths `json:"availableBandwidths,omitempty"` 6848 6849 // READ-ONLY; Address of peering location. 6850 Address *string `json:"address,omitempty" azure:"ro"` 6851 6852 // READ-ONLY; Contact details of peering locations. 6853 Contact *string `json:"contact,omitempty" azure:"ro"` 6854 6855 // READ-ONLY; The provisioning state of the express route port location resource. 6856 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6857} 6858 6859// MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocationPropertiesFormat. 6860func (e ExpressRoutePortsLocationPropertiesFormat) MarshalJSON() ([]byte, error) { 6861 objectMap := make(map[string]interface{}) 6862 populate(objectMap, "address", e.Address) 6863 populate(objectMap, "availableBandwidths", e.AvailableBandwidths) 6864 populate(objectMap, "contact", e.Contact) 6865 populate(objectMap, "provisioningState", e.ProvisioningState) 6866 return json.Marshal(objectMap) 6867} 6868 6869// ExpressRoutePortsLocationsGetOptions contains the optional parameters for the ExpressRoutePortsLocations.Get method. 6870type ExpressRoutePortsLocationsGetOptions struct { 6871 // placeholder for future optional parameters 6872} 6873 6874// ExpressRoutePortsLocationsListOptions contains the optional parameters for the ExpressRoutePortsLocations.List method. 6875type ExpressRoutePortsLocationsListOptions struct { 6876 // placeholder for future optional parameters 6877} 6878 6879// ExpressRoutePortsUpdateTagsOptions contains the optional parameters for the ExpressRoutePorts.UpdateTags method. 6880type ExpressRoutePortsUpdateTagsOptions struct { 6881 // placeholder for future optional parameters 6882} 6883 6884// ExpressRouteServiceProvider - A ExpressRouteResourceProvider object. 6885type ExpressRouteServiceProvider struct { 6886 Resource 6887 // Properties of the express route service provider. 6888 Properties *ExpressRouteServiceProviderPropertiesFormat `json:"properties,omitempty"` 6889} 6890 6891// MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProvider. 6892func (e ExpressRouteServiceProvider) MarshalJSON() ([]byte, error) { 6893 objectMap := e.Resource.marshalInternal() 6894 populate(objectMap, "properties", e.Properties) 6895 return json.Marshal(objectMap) 6896} 6897 6898// ExpressRouteServiceProviderBandwidthsOffered - Contains bandwidths offered in ExpressRouteServiceProvider resources. 6899type ExpressRouteServiceProviderBandwidthsOffered struct { 6900 // The OfferName. 6901 OfferName *string `json:"offerName,omitempty"` 6902 6903 // The ValueInMbps. 6904 ValueInMbps *int32 `json:"valueInMbps,omitempty"` 6905} 6906 6907// ExpressRouteServiceProviderListResult - Response for the ListExpressRouteServiceProvider API service call. 6908type ExpressRouteServiceProviderListResult struct { 6909 // The URL to get the next set of results. 6910 NextLink *string `json:"nextLink,omitempty"` 6911 6912 // A list of ExpressRouteResourceProvider resources. 6913 Value []*ExpressRouteServiceProvider `json:"value,omitempty"` 6914} 6915 6916// MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProviderListResult. 6917func (e ExpressRouteServiceProviderListResult) MarshalJSON() ([]byte, error) { 6918 objectMap := make(map[string]interface{}) 6919 populate(objectMap, "nextLink", e.NextLink) 6920 populate(objectMap, "value", e.Value) 6921 return json.Marshal(objectMap) 6922} 6923 6924// ExpressRouteServiceProviderPropertiesFormat - Properties of ExpressRouteServiceProvider. 6925type ExpressRouteServiceProviderPropertiesFormat struct { 6926 // A list of bandwidths offered. 6927 BandwidthsOffered []*ExpressRouteServiceProviderBandwidthsOffered `json:"bandwidthsOffered,omitempty"` 6928 6929 // A list of peering locations. 6930 PeeringLocations []*string `json:"peeringLocations,omitempty"` 6931 6932 // READ-ONLY; The provisioning state of the express route service provider resource. 6933 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6934} 6935 6936// MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProviderPropertiesFormat. 6937func (e ExpressRouteServiceProviderPropertiesFormat) MarshalJSON() ([]byte, error) { 6938 objectMap := make(map[string]interface{}) 6939 populate(objectMap, "bandwidthsOffered", e.BandwidthsOffered) 6940 populate(objectMap, "peeringLocations", e.PeeringLocations) 6941 populate(objectMap, "provisioningState", e.ProvisioningState) 6942 return json.Marshal(objectMap) 6943} 6944 6945// ExpressRouteServiceProvidersListOptions contains the optional parameters for the ExpressRouteServiceProviders.List method. 6946type ExpressRouteServiceProvidersListOptions struct { 6947 // placeholder for future optional parameters 6948} 6949 6950// ExtendedLocation complex type. 6951type ExtendedLocation struct { 6952 // The name of the extended location. 6953 Name *string `json:"name,omitempty"` 6954 6955 // The type of the extended location. 6956 Type *ExtendedLocationTypes `json:"type,omitempty"` 6957} 6958 6959// FirewallPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the FirewallPolicies.BeginCreateOrUpdate method. 6960type FirewallPoliciesBeginCreateOrUpdateOptions struct { 6961 // placeholder for future optional parameters 6962} 6963 6964// FirewallPoliciesBeginDeleteOptions contains the optional parameters for the FirewallPolicies.BeginDelete method. 6965type FirewallPoliciesBeginDeleteOptions struct { 6966 // placeholder for future optional parameters 6967} 6968 6969// FirewallPoliciesGetOptions contains the optional parameters for the FirewallPolicies.Get method. 6970type FirewallPoliciesGetOptions struct { 6971 // Expands referenced resources. 6972 Expand *string 6973} 6974 6975// FirewallPoliciesListAllOptions contains the optional parameters for the FirewallPolicies.ListAll method. 6976type FirewallPoliciesListAllOptions struct { 6977 // placeholder for future optional parameters 6978} 6979 6980// FirewallPoliciesListOptions contains the optional parameters for the FirewallPolicies.List method. 6981type FirewallPoliciesListOptions struct { 6982 // placeholder for future optional parameters 6983} 6984 6985// FirewallPolicy Resource. 6986type FirewallPolicy struct { 6987 Resource 6988 // The identity of the firewall policy. 6989 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 6990 6991 // Properties of the firewall policy. 6992 Properties *FirewallPolicyPropertiesFormat `json:"properties,omitempty"` 6993 6994 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6995 Etag *string `json:"etag,omitempty" azure:"ro"` 6996} 6997 6998// MarshalJSON implements the json.Marshaller interface for type FirewallPolicy. 6999func (f FirewallPolicy) MarshalJSON() ([]byte, error) { 7000 objectMap := f.Resource.marshalInternal() 7001 populate(objectMap, "etag", f.Etag) 7002 populate(objectMap, "identity", f.Identity) 7003 populate(objectMap, "properties", f.Properties) 7004 return json.Marshal(objectMap) 7005} 7006 7007// FirewallPolicyCertificateAuthority - Trusted Root certificates properties for tls. 7008type FirewallPolicyCertificateAuthority struct { 7009 // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. 7010 KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` 7011 7012 // Name of the CA certificate. 7013 Name *string `json:"name,omitempty"` 7014} 7015 7016// FirewallPolicyFilterRuleCollection - Firewall Policy Filter Rule Collection. 7017type FirewallPolicyFilterRuleCollection struct { 7018 FirewallPolicyRuleCollection 7019 // The action type of a Filter rule collection. 7020 Action *FirewallPolicyFilterRuleCollectionAction `json:"action,omitempty"` 7021 7022 // List of rules included in a rule collection. 7023 Rules []FirewallPolicyRuleClassification `json:"rules,omitempty"` 7024} 7025 7026// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyFilterRuleCollection. 7027func (f FirewallPolicyFilterRuleCollection) MarshalJSON() ([]byte, error) { 7028 objectMap := f.FirewallPolicyRuleCollection.marshalInternal(FirewallPolicyRuleCollectionTypeFirewallPolicyFilterRuleCollection) 7029 populate(objectMap, "action", f.Action) 7030 populate(objectMap, "rules", f.Rules) 7031 return json.Marshal(objectMap) 7032} 7033 7034// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyFilterRuleCollection. 7035func (f *FirewallPolicyFilterRuleCollection) UnmarshalJSON(data []byte) error { 7036 var rawMsg map[string]json.RawMessage 7037 if err := json.Unmarshal(data, &rawMsg); err != nil { 7038 return err 7039 } 7040 for key, val := range rawMsg { 7041 var err error 7042 switch key { 7043 case "action": 7044 err = unpopulate(val, &f.Action) 7045 delete(rawMsg, key) 7046 case "rules": 7047 f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(val) 7048 delete(rawMsg, key) 7049 } 7050 if err != nil { 7051 return err 7052 } 7053 } 7054 return f.FirewallPolicyRuleCollection.unmarshalInternal(rawMsg) 7055} 7056 7057// FirewallPolicyFilterRuleCollectionAction - Properties of the FirewallPolicyFilterRuleCollectionAction. 7058type FirewallPolicyFilterRuleCollectionAction struct { 7059 // The type of action. 7060 Type *FirewallPolicyFilterRuleCollectionActionType `json:"type,omitempty"` 7061} 7062 7063// FirewallPolicyInsights - Firewall Policy Insights. 7064type FirewallPolicyInsights struct { 7065 // A flag to indicate if the insights are enabled on the policy. 7066 IsEnabled *bool `json:"isEnabled,omitempty"` 7067 7068 // Workspaces needed to configure the Firewall Policy Insights. 7069 LogAnalyticsResources *FirewallPolicyLogAnalyticsResources `json:"logAnalyticsResources,omitempty"` 7070 7071 // Number of days the insights should be enabled on the policy. 7072 RetentionDays *int32 `json:"retentionDays,omitempty"` 7073} 7074 7075// FirewallPolicyIntrusionDetection - Configuration for intrusion detection mode and rules. 7076type FirewallPolicyIntrusionDetection struct { 7077 // Intrusion detection configuration properties. 7078 Configuration *FirewallPolicyIntrusionDetectionConfiguration `json:"configuration,omitempty"` 7079 7080 // Intrusion detection general state. 7081 Mode *FirewallPolicyIntrusionDetectionStateType `json:"mode,omitempty"` 7082} 7083 7084// FirewallPolicyIntrusionDetectionBypassTrafficSpecifications - Intrusion detection bypass traffic specification. 7085type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications struct { 7086 // Description of the bypass traffic rule. 7087 Description *string `json:"description,omitempty"` 7088 7089 // List of destination IP addresses or ranges for this rule. 7090 DestinationAddresses []*string `json:"destinationAddresses,omitempty"` 7091 7092 // List of destination IpGroups for this rule. 7093 DestinationIPGroups []*string `json:"destinationIpGroups,omitempty"` 7094 7095 // List of destination ports or ranges. 7096 DestinationPorts []*string `json:"destinationPorts,omitempty"` 7097 7098 // Name of the bypass traffic rule. 7099 Name *string `json:"name,omitempty"` 7100 7101 // The rule bypass protocol. 7102 Protocol *FirewallPolicyIntrusionDetectionProtocol `json:"protocol,omitempty"` 7103 7104 // List of source IP addresses or ranges for this rule. 7105 SourceAddresses []*string `json:"sourceAddresses,omitempty"` 7106 7107 // List of source IpGroups for this rule. 7108 SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` 7109} 7110 7111// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications. 7112func (f FirewallPolicyIntrusionDetectionBypassTrafficSpecifications) MarshalJSON() ([]byte, error) { 7113 objectMap := make(map[string]interface{}) 7114 populate(objectMap, "description", f.Description) 7115 populate(objectMap, "destinationAddresses", f.DestinationAddresses) 7116 populate(objectMap, "destinationIpGroups", f.DestinationIPGroups) 7117 populate(objectMap, "destinationPorts", f.DestinationPorts) 7118 populate(objectMap, "name", f.Name) 7119 populate(objectMap, "protocol", f.Protocol) 7120 populate(objectMap, "sourceAddresses", f.SourceAddresses) 7121 populate(objectMap, "sourceIpGroups", f.SourceIPGroups) 7122 return json.Marshal(objectMap) 7123} 7124 7125// FirewallPolicyIntrusionDetectionConfiguration - The operation for configuring intrusion detection. 7126type FirewallPolicyIntrusionDetectionConfiguration struct { 7127 // List of rules for traffic to bypass. 7128 BypassTrafficSettings []*FirewallPolicyIntrusionDetectionBypassTrafficSpecifications `json:"bypassTrafficSettings,omitempty"` 7129 7130 // List of specific signatures states. 7131 SignatureOverrides []*FirewallPolicyIntrusionDetectionSignatureSpecification `json:"signatureOverrides,omitempty"` 7132} 7133 7134// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetectionConfiguration. 7135func (f FirewallPolicyIntrusionDetectionConfiguration) MarshalJSON() ([]byte, error) { 7136 objectMap := make(map[string]interface{}) 7137 populate(objectMap, "bypassTrafficSettings", f.BypassTrafficSettings) 7138 populate(objectMap, "signatureOverrides", f.SignatureOverrides) 7139 return json.Marshal(objectMap) 7140} 7141 7142// FirewallPolicyIntrusionDetectionSignatureSpecification - Intrusion detection signatures specification states. 7143type FirewallPolicyIntrusionDetectionSignatureSpecification struct { 7144 // Signature id. 7145 ID *string `json:"id,omitempty"` 7146 7147 // The signature state. 7148 Mode *FirewallPolicyIntrusionDetectionStateType `json:"mode,omitempty"` 7149} 7150 7151// FirewallPolicyListResult - Response for ListFirewallPolicies API service call. 7152type FirewallPolicyListResult struct { 7153 // URL to get the next set of results. 7154 NextLink *string `json:"nextLink,omitempty"` 7155 7156 // List of Firewall Policies in a resource group. 7157 Value []*FirewallPolicy `json:"value,omitempty"` 7158} 7159 7160// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyListResult. 7161func (f FirewallPolicyListResult) MarshalJSON() ([]byte, error) { 7162 objectMap := make(map[string]interface{}) 7163 populate(objectMap, "nextLink", f.NextLink) 7164 populate(objectMap, "value", f.Value) 7165 return json.Marshal(objectMap) 7166} 7167 7168// FirewallPolicyLogAnalyticsResources - Log Analytics Resources for Firewall Policy Insights. 7169type FirewallPolicyLogAnalyticsResources struct { 7170 // The default workspace Id for Firewall Policy Insights. 7171 DefaultWorkspaceID *SubResource `json:"defaultWorkspaceId,omitempty"` 7172 7173 // List of workspaces for Firewall Policy Insights. 7174 Workspaces []*FirewallPolicyLogAnalyticsWorkspace `json:"workspaces,omitempty"` 7175} 7176 7177// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyLogAnalyticsResources. 7178func (f FirewallPolicyLogAnalyticsResources) MarshalJSON() ([]byte, error) { 7179 objectMap := make(map[string]interface{}) 7180 populate(objectMap, "defaultWorkspaceId", f.DefaultWorkspaceID) 7181 populate(objectMap, "workspaces", f.Workspaces) 7182 return json.Marshal(objectMap) 7183} 7184 7185// FirewallPolicyLogAnalyticsWorkspace - Log Analytics Workspace for Firewall Policy Insights. 7186type FirewallPolicyLogAnalyticsWorkspace struct { 7187 // Region to configure the Workspace. 7188 Region *string `json:"region,omitempty"` 7189 7190 // The workspace Id for Firewall Policy Insights. 7191 WorkspaceID *SubResource `json:"workspaceId,omitempty"` 7192} 7193 7194// FirewallPolicyNatRuleCollection - Firewall Policy NAT Rule Collection. 7195type FirewallPolicyNatRuleCollection struct { 7196 FirewallPolicyRuleCollection 7197 // The action type of a Nat rule collection. 7198 Action *FirewallPolicyNatRuleCollectionAction `json:"action,omitempty"` 7199 7200 // List of rules included in a rule collection. 7201 Rules []FirewallPolicyRuleClassification `json:"rules,omitempty"` 7202} 7203 7204// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyNatRuleCollection. 7205func (f FirewallPolicyNatRuleCollection) MarshalJSON() ([]byte, error) { 7206 objectMap := f.FirewallPolicyRuleCollection.marshalInternal(FirewallPolicyRuleCollectionTypeFirewallPolicyNatRuleCollection) 7207 populate(objectMap, "action", f.Action) 7208 populate(objectMap, "rules", f.Rules) 7209 return json.Marshal(objectMap) 7210} 7211 7212// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyNatRuleCollection. 7213func (f *FirewallPolicyNatRuleCollection) UnmarshalJSON(data []byte) error { 7214 var rawMsg map[string]json.RawMessage 7215 if err := json.Unmarshal(data, &rawMsg); err != nil { 7216 return err 7217 } 7218 for key, val := range rawMsg { 7219 var err error 7220 switch key { 7221 case "action": 7222 err = unpopulate(val, &f.Action) 7223 delete(rawMsg, key) 7224 case "rules": 7225 f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(val) 7226 delete(rawMsg, key) 7227 } 7228 if err != nil { 7229 return err 7230 } 7231 } 7232 return f.FirewallPolicyRuleCollection.unmarshalInternal(rawMsg) 7233} 7234 7235// FirewallPolicyNatRuleCollectionAction - Properties of the FirewallPolicyNatRuleCollectionAction. 7236type FirewallPolicyNatRuleCollectionAction struct { 7237 // The type of action. 7238 Type *FirewallPolicyNatRuleCollectionActionType `json:"type,omitempty"` 7239} 7240 7241// FirewallPolicyPropertiesFormat - Firewall Policy definition. 7242type FirewallPolicyPropertiesFormat struct { 7243 // The parent firewall policy from which rules are inherited. 7244 BasePolicy *SubResource `json:"basePolicy,omitempty"` 7245 7246 // DNS Proxy Settings definition. 7247 DNSSettings *DNSSettings `json:"dnsSettings,omitempty"` 7248 7249 // Insights on Firewall Policy. 7250 Insights *FirewallPolicyInsights `json:"insights,omitempty"` 7251 7252 // The configuration for Intrusion detection. 7253 IntrusionDetection *FirewallPolicyIntrusionDetection `json:"intrusionDetection,omitempty"` 7254 7255 // The Firewall Policy SKU. 7256 SKU *FirewallPolicySKU `json:"sku,omitempty"` 7257 7258 // The private IP addresses/IP ranges to which traffic will not be SNAT. 7259 Snat *FirewallPolicySNAT `json:"snat,omitempty"` 7260 7261 // The operation mode for Threat Intelligence. 7262 ThreatIntelMode *AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` 7263 7264 // ThreatIntel Whitelist for Firewall Policy. 7265 ThreatIntelWhitelist *FirewallPolicyThreatIntelWhitelist `json:"threatIntelWhitelist,omitempty"` 7266 7267 // TLS Configuration definition. 7268 TransportSecurity *FirewallPolicyTransportSecurity `json:"transportSecurity,omitempty"` 7269 7270 // READ-ONLY; List of references to Child Firewall Policies. 7271 ChildPolicies []*SubResource `json:"childPolicies,omitempty" azure:"ro"` 7272 7273 // READ-ONLY; List of references to Azure Firewalls that this Firewall Policy is associated with. 7274 Firewalls []*SubResource `json:"firewalls,omitempty" azure:"ro"` 7275 7276 // READ-ONLY; The provisioning state of the firewall policy resource. 7277 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7278 7279 // READ-ONLY; List of references to FirewallPolicyRuleCollectionGroups. 7280 RuleCollectionGroups []*SubResource `json:"ruleCollectionGroups,omitempty" azure:"ro"` 7281} 7282 7283// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyPropertiesFormat. 7284func (f FirewallPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 7285 objectMap := make(map[string]interface{}) 7286 populate(objectMap, "basePolicy", f.BasePolicy) 7287 populate(objectMap, "childPolicies", f.ChildPolicies) 7288 populate(objectMap, "dnsSettings", f.DNSSettings) 7289 populate(objectMap, "firewalls", f.Firewalls) 7290 populate(objectMap, "insights", f.Insights) 7291 populate(objectMap, "intrusionDetection", f.IntrusionDetection) 7292 populate(objectMap, "provisioningState", f.ProvisioningState) 7293 populate(objectMap, "ruleCollectionGroups", f.RuleCollectionGroups) 7294 populate(objectMap, "sku", f.SKU) 7295 populate(objectMap, "snat", f.Snat) 7296 populate(objectMap, "threatIntelMode", f.ThreatIntelMode) 7297 populate(objectMap, "threatIntelWhitelist", f.ThreatIntelWhitelist) 7298 populate(objectMap, "transportSecurity", f.TransportSecurity) 7299 return json.Marshal(objectMap) 7300} 7301 7302// FirewallPolicyRuleClassification provides polymorphic access to related types. 7303// Call the interface's GetFirewallPolicyRule() method to access the common type. 7304// Use a type switch to determine the concrete type. The possible types are: 7305// - *ApplicationRule, *FirewallPolicyRule, *NatRule, *NetworkRule 7306type FirewallPolicyRuleClassification interface { 7307 // GetFirewallPolicyRule returns the FirewallPolicyRule content of the underlying type. 7308 GetFirewallPolicyRule() *FirewallPolicyRule 7309} 7310 7311// FirewallPolicyRule - Properties of a rule. 7312type FirewallPolicyRule struct { 7313 // REQUIRED; Rule Type. 7314 RuleType *FirewallPolicyRuleType `json:"ruleType,omitempty"` 7315 7316 // Description of the rule. 7317 Description *string `json:"description,omitempty"` 7318 7319 // Name of the rule. 7320 Name *string `json:"name,omitempty"` 7321} 7322 7323// GetFirewallPolicyRule implements the FirewallPolicyRuleClassification interface for type FirewallPolicyRule. 7324func (f *FirewallPolicyRule) GetFirewallPolicyRule() *FirewallPolicyRule { return f } 7325 7326// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRule. 7327func (f *FirewallPolicyRule) UnmarshalJSON(data []byte) error { 7328 var rawMsg map[string]json.RawMessage 7329 if err := json.Unmarshal(data, &rawMsg); err != nil { 7330 return err 7331 } 7332 return f.unmarshalInternal(rawMsg) 7333} 7334 7335func (f FirewallPolicyRule) marshalInternal(discValue FirewallPolicyRuleType) map[string]interface{} { 7336 objectMap := make(map[string]interface{}) 7337 populate(objectMap, "description", f.Description) 7338 populate(objectMap, "name", f.Name) 7339 f.RuleType = &discValue 7340 objectMap["ruleType"] = f.RuleType 7341 return objectMap 7342} 7343 7344func (f *FirewallPolicyRule) unmarshalInternal(rawMsg map[string]json.RawMessage) error { 7345 for key, val := range rawMsg { 7346 var err error 7347 switch key { 7348 case "description": 7349 err = unpopulate(val, &f.Description) 7350 delete(rawMsg, key) 7351 case "name": 7352 err = unpopulate(val, &f.Name) 7353 delete(rawMsg, key) 7354 case "ruleType": 7355 err = unpopulate(val, &f.RuleType) 7356 delete(rawMsg, key) 7357 } 7358 if err != nil { 7359 return err 7360 } 7361 } 7362 return nil 7363} 7364 7365// FirewallPolicyRuleApplicationProtocol - Properties of the application rule protocol. 7366type FirewallPolicyRuleApplicationProtocol struct { 7367 // Port number for the protocol, cannot be greater than 64000. 7368 Port *int32 `json:"port,omitempty"` 7369 7370 // Protocol type. 7371 ProtocolType *FirewallPolicyRuleApplicationProtocolType `json:"protocolType,omitempty"` 7372} 7373 7374// FirewallPolicyRuleCollectionClassification provides polymorphic access to related types. 7375// Call the interface's GetFirewallPolicyRuleCollection() method to access the common type. 7376// Use a type switch to determine the concrete type. The possible types are: 7377// - *FirewallPolicyFilterRuleCollection, *FirewallPolicyNatRuleCollection, *FirewallPolicyRuleCollection 7378type FirewallPolicyRuleCollectionClassification interface { 7379 // GetFirewallPolicyRuleCollection returns the FirewallPolicyRuleCollection content of the underlying type. 7380 GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection 7381} 7382 7383// FirewallPolicyRuleCollection - Properties of the rule collection. 7384type FirewallPolicyRuleCollection struct { 7385 // REQUIRED; The type of the rule collection. 7386 RuleCollectionType *FirewallPolicyRuleCollectionType `json:"ruleCollectionType,omitempty"` 7387 7388 // The name of the rule collection. 7389 Name *string `json:"name,omitempty"` 7390 7391 // Priority of the Firewall Policy Rule Collection resource. 7392 Priority *int32 `json:"priority,omitempty"` 7393} 7394 7395// GetFirewallPolicyRuleCollection implements the FirewallPolicyRuleCollectionClassification interface for type FirewallPolicyRuleCollection. 7396func (f *FirewallPolicyRuleCollection) GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection { 7397 return f 7398} 7399 7400// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollection. 7401func (f *FirewallPolicyRuleCollection) UnmarshalJSON(data []byte) error { 7402 var rawMsg map[string]json.RawMessage 7403 if err := json.Unmarshal(data, &rawMsg); err != nil { 7404 return err 7405 } 7406 return f.unmarshalInternal(rawMsg) 7407} 7408 7409func (f FirewallPolicyRuleCollection) marshalInternal(discValue FirewallPolicyRuleCollectionType) map[string]interface{} { 7410 objectMap := make(map[string]interface{}) 7411 populate(objectMap, "name", f.Name) 7412 populate(objectMap, "priority", f.Priority) 7413 f.RuleCollectionType = &discValue 7414 objectMap["ruleCollectionType"] = f.RuleCollectionType 7415 return objectMap 7416} 7417 7418func (f *FirewallPolicyRuleCollection) unmarshalInternal(rawMsg map[string]json.RawMessage) error { 7419 for key, val := range rawMsg { 7420 var err error 7421 switch key { 7422 case "name": 7423 err = unpopulate(val, &f.Name) 7424 delete(rawMsg, key) 7425 case "priority": 7426 err = unpopulate(val, &f.Priority) 7427 delete(rawMsg, key) 7428 case "ruleCollectionType": 7429 err = unpopulate(val, &f.RuleCollectionType) 7430 delete(rawMsg, key) 7431 } 7432 if err != nil { 7433 return err 7434 } 7435 } 7436 return nil 7437} 7438 7439// FirewallPolicyRuleCollectionGroup - Rule Collection Group resource. 7440type FirewallPolicyRuleCollectionGroup struct { 7441 SubResource 7442 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 7443 Name *string `json:"name,omitempty"` 7444 7445 // The properties of the firewall policy rule collection group. 7446 Properties *FirewallPolicyRuleCollectionGroupProperties `json:"properties,omitempty"` 7447 7448 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7449 Etag *string `json:"etag,omitempty" azure:"ro"` 7450 7451 // READ-ONLY; Rule Group type. 7452 Type *string `json:"type,omitempty" azure:"ro"` 7453} 7454 7455// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroup. 7456func (f FirewallPolicyRuleCollectionGroup) MarshalJSON() ([]byte, error) { 7457 objectMap := f.SubResource.marshalInternal() 7458 populate(objectMap, "etag", f.Etag) 7459 populate(objectMap, "name", f.Name) 7460 populate(objectMap, "properties", f.Properties) 7461 populate(objectMap, "type", f.Type) 7462 return json.Marshal(objectMap) 7463} 7464 7465// FirewallPolicyRuleCollectionGroupListResult - Response for ListFirewallPolicyRuleCollectionGroups API service call. 7466type FirewallPolicyRuleCollectionGroupListResult struct { 7467 // URL to get the next set of results. 7468 NextLink *string `json:"nextLink,omitempty"` 7469 7470 // List of FirewallPolicyRuleCollectionGroups in a FirewallPolicy. 7471 Value []*FirewallPolicyRuleCollectionGroup `json:"value,omitempty"` 7472} 7473 7474// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupListResult. 7475func (f FirewallPolicyRuleCollectionGroupListResult) MarshalJSON() ([]byte, error) { 7476 objectMap := make(map[string]interface{}) 7477 populate(objectMap, "nextLink", f.NextLink) 7478 populate(objectMap, "value", f.Value) 7479 return json.Marshal(objectMap) 7480} 7481 7482// FirewallPolicyRuleCollectionGroupProperties - Properties of the rule collection group. 7483type FirewallPolicyRuleCollectionGroupProperties struct { 7484 // Priority of the Firewall Policy Rule Collection Group resource. 7485 Priority *int32 `json:"priority,omitempty"` 7486 7487 // Group of Firewall Policy rule collections. 7488 RuleCollections []FirewallPolicyRuleCollectionClassification `json:"ruleCollections,omitempty"` 7489 7490 // READ-ONLY; The provisioning state of the firewall policy rule collection group resource. 7491 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7492} 7493 7494// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupProperties. 7495func (f FirewallPolicyRuleCollectionGroupProperties) MarshalJSON() ([]byte, error) { 7496 objectMap := make(map[string]interface{}) 7497 populate(objectMap, "priority", f.Priority) 7498 populate(objectMap, "provisioningState", f.ProvisioningState) 7499 populate(objectMap, "ruleCollections", f.RuleCollections) 7500 return json.Marshal(objectMap) 7501} 7502 7503// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroupProperties. 7504func (f *FirewallPolicyRuleCollectionGroupProperties) UnmarshalJSON(data []byte) error { 7505 var rawMsg map[string]json.RawMessage 7506 if err := json.Unmarshal(data, &rawMsg); err != nil { 7507 return err 7508 } 7509 for key, val := range rawMsg { 7510 var err error 7511 switch key { 7512 case "priority": 7513 err = unpopulate(val, &f.Priority) 7514 delete(rawMsg, key) 7515 case "provisioningState": 7516 err = unpopulate(val, &f.ProvisioningState) 7517 delete(rawMsg, key) 7518 case "ruleCollections": 7519 f.RuleCollections, err = unmarshalFirewallPolicyRuleCollectionClassificationArray(val) 7520 delete(rawMsg, key) 7521 } 7522 if err != nil { 7523 return err 7524 } 7525 } 7526 return nil 7527} 7528 7529// FirewallPolicyRuleCollectionGroupsBeginCreateOrUpdateOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.BeginCreateOrUpdate 7530// method. 7531type FirewallPolicyRuleCollectionGroupsBeginCreateOrUpdateOptions struct { 7532 // placeholder for future optional parameters 7533} 7534 7535// FirewallPolicyRuleCollectionGroupsBeginDeleteOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.BeginDelete method. 7536type FirewallPolicyRuleCollectionGroupsBeginDeleteOptions struct { 7537 // placeholder for future optional parameters 7538} 7539 7540// FirewallPolicyRuleCollectionGroupsGetOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.Get method. 7541type FirewallPolicyRuleCollectionGroupsGetOptions struct { 7542 // placeholder for future optional parameters 7543} 7544 7545// FirewallPolicyRuleCollectionGroupsListOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.List method. 7546type FirewallPolicyRuleCollectionGroupsListOptions struct { 7547 // placeholder for future optional parameters 7548} 7549 7550// FirewallPolicySKU - SKU of Firewall policy. 7551type FirewallPolicySKU struct { 7552 // Tier of Firewall Policy. 7553 Tier *FirewallPolicySKUTier `json:"tier,omitempty"` 7554} 7555 7556// FirewallPolicySNAT - The private IP addresses/IP ranges to which traffic will not be SNAT. 7557type FirewallPolicySNAT struct { 7558 // List of private IP addresses/IP address ranges to not be SNAT. 7559 PrivateRanges []*string `json:"privateRanges,omitempty"` 7560} 7561 7562// MarshalJSON implements the json.Marshaller interface for type FirewallPolicySNAT. 7563func (f FirewallPolicySNAT) MarshalJSON() ([]byte, error) { 7564 objectMap := make(map[string]interface{}) 7565 populate(objectMap, "privateRanges", f.PrivateRanges) 7566 return json.Marshal(objectMap) 7567} 7568 7569// FirewallPolicyThreatIntelWhitelist - ThreatIntel Whitelist for Firewall Policy. 7570type FirewallPolicyThreatIntelWhitelist struct { 7571 // List of FQDNs for the ThreatIntel Whitelist. 7572 Fqdns []*string `json:"fqdns,omitempty"` 7573 7574 // List of IP addresses for the ThreatIntel Whitelist. 7575 IPAddresses []*string `json:"ipAddresses,omitempty"` 7576} 7577 7578// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyThreatIntelWhitelist. 7579func (f FirewallPolicyThreatIntelWhitelist) MarshalJSON() ([]byte, error) { 7580 objectMap := make(map[string]interface{}) 7581 populate(objectMap, "fqdns", f.Fqdns) 7582 populate(objectMap, "ipAddresses", f.IPAddresses) 7583 return json.Marshal(objectMap) 7584} 7585 7586// FirewallPolicyTransportSecurity - Configuration needed to perform TLS termination & initiation. 7587type FirewallPolicyTransportSecurity struct { 7588 // The CA used for intermediate CA generation. 7589 CertificateAuthority *FirewallPolicyCertificateAuthority `json:"certificateAuthority,omitempty"` 7590} 7591 7592// FlowLog - A flow log resource. 7593type FlowLog struct { 7594 Resource 7595 // Properties of the flow log. 7596 Properties *FlowLogPropertiesFormat `json:"properties,omitempty"` 7597 7598 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7599 Etag *string `json:"etag,omitempty" azure:"ro"` 7600} 7601 7602// MarshalJSON implements the json.Marshaller interface for type FlowLog. 7603func (f FlowLog) MarshalJSON() ([]byte, error) { 7604 objectMap := f.Resource.marshalInternal() 7605 populate(objectMap, "etag", f.Etag) 7606 populate(objectMap, "properties", f.Properties) 7607 return json.Marshal(objectMap) 7608} 7609 7610// FlowLogFormatParameters - Parameters that define the flow log format. 7611type FlowLogFormatParameters struct { 7612 // The file type of flow log. 7613 Type *FlowLogFormatType `json:"type,omitempty"` 7614 7615 // The version (revision) of the flow log. 7616 Version *int32 `json:"version,omitempty"` 7617} 7618 7619// FlowLogInformation - Information on the configuration of flow log and traffic analytics (optional) . 7620type FlowLogInformation struct { 7621 // REQUIRED; Properties of the flow log. 7622 Properties *FlowLogProperties `json:"properties,omitempty"` 7623 7624 // REQUIRED; The ID of the resource to configure for flow log and traffic analytics (optional) . 7625 TargetResourceID *string `json:"targetResourceId,omitempty"` 7626 7627 // Parameters that define the configuration of traffic analytics. 7628 FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` 7629} 7630 7631// FlowLogListResult - List of flow logs. 7632type FlowLogListResult struct { 7633 // Information about flow log resource. 7634 Value []*FlowLog `json:"value,omitempty"` 7635 7636 // READ-ONLY; The URL to get the next set of results. 7637 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 7638} 7639 7640// MarshalJSON implements the json.Marshaller interface for type FlowLogListResult. 7641func (f FlowLogListResult) MarshalJSON() ([]byte, error) { 7642 objectMap := make(map[string]interface{}) 7643 populate(objectMap, "nextLink", f.NextLink) 7644 populate(objectMap, "value", f.Value) 7645 return json.Marshal(objectMap) 7646} 7647 7648// FlowLogProperties - Parameters that define the configuration of flow log. 7649type FlowLogProperties struct { 7650 // REQUIRED; Flag to enable/disable flow logging. 7651 Enabled *bool `json:"enabled,omitempty"` 7652 7653 // REQUIRED; ID of the storage account which is used to store the flow log. 7654 StorageID *string `json:"storageId,omitempty"` 7655 7656 // Parameters that define the flow log format. 7657 Format *FlowLogFormatParameters `json:"format,omitempty"` 7658 7659 // Parameters that define the retention policy for flow log. 7660 RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` 7661} 7662 7663// FlowLogPropertiesFormat - Parameters that define the configuration of flow log. 7664type FlowLogPropertiesFormat struct { 7665 // REQUIRED; ID of the storage account which is used to store the flow log. 7666 StorageID *string `json:"storageId,omitempty"` 7667 7668 // REQUIRED; ID of network security group to which flow log will be applied. 7669 TargetResourceID *string `json:"targetResourceId,omitempty"` 7670 7671 // Flag to enable/disable flow logging. 7672 Enabled *bool `json:"enabled,omitempty"` 7673 7674 // Parameters that define the configuration of traffic analytics. 7675 FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` 7676 7677 // Parameters that define the flow log format. 7678 Format *FlowLogFormatParameters `json:"format,omitempty"` 7679 7680 // Parameters that define the retention policy for flow log. 7681 RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` 7682 7683 // READ-ONLY; The provisioning state of the flow log. 7684 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7685 7686 // READ-ONLY; Guid of network security group to which flow log will be applied. 7687 TargetResourceGUID *string `json:"targetResourceGuid,omitempty" azure:"ro"` 7688} 7689 7690// FlowLogStatusParameters - Parameters that define a resource to query flow log and traffic analytics (optional) status. 7691type FlowLogStatusParameters struct { 7692 // REQUIRED; The target resource where getting the flow log and traffic analytics (optional) status. 7693 TargetResourceID *string `json:"targetResourceId,omitempty"` 7694} 7695 7696// FlowLogsBeginCreateOrUpdateOptions contains the optional parameters for the FlowLogs.BeginCreateOrUpdate method. 7697type FlowLogsBeginCreateOrUpdateOptions struct { 7698 // placeholder for future optional parameters 7699} 7700 7701// FlowLogsBeginDeleteOptions contains the optional parameters for the FlowLogs.BeginDelete method. 7702type FlowLogsBeginDeleteOptions struct { 7703 // placeholder for future optional parameters 7704} 7705 7706// FlowLogsGetOptions contains the optional parameters for the FlowLogs.Get method. 7707type FlowLogsGetOptions struct { 7708 // placeholder for future optional parameters 7709} 7710 7711// FlowLogsListOptions contains the optional parameters for the FlowLogs.List method. 7712type FlowLogsListOptions struct { 7713 // placeholder for future optional parameters 7714} 7715 7716// FlowLogsUpdateTagsOptions contains the optional parameters for the FlowLogs.UpdateTags method. 7717type FlowLogsUpdateTagsOptions struct { 7718 // placeholder for future optional parameters 7719} 7720 7721// FrontendIPConfiguration - Frontend IP address of the load balancer. 7722type FrontendIPConfiguration struct { 7723 SubResource 7724 // 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. 7725 Name *string `json:"name,omitempty"` 7726 7727 // Properties of the load balancer probe. 7728 Properties *FrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` 7729 7730 // A list of availability zones denoting the IP allocated for the resource needs to come from. 7731 Zones []*string `json:"zones,omitempty"` 7732 7733 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7734 Etag *string `json:"etag,omitempty" azure:"ro"` 7735 7736 // READ-ONLY; Type of the resource. 7737 Type *string `json:"type,omitempty" azure:"ro"` 7738} 7739 7740// MarshalJSON implements the json.Marshaller interface for type FrontendIPConfiguration. 7741func (f FrontendIPConfiguration) MarshalJSON() ([]byte, error) { 7742 objectMap := f.SubResource.marshalInternal() 7743 populate(objectMap, "etag", f.Etag) 7744 populate(objectMap, "name", f.Name) 7745 populate(objectMap, "properties", f.Properties) 7746 populate(objectMap, "type", f.Type) 7747 populate(objectMap, "zones", f.Zones) 7748 return json.Marshal(objectMap) 7749} 7750 7751// FrontendIPConfigurationPropertiesFormat - Properties of Frontend IP Configuration of the load balancer. 7752type FrontendIPConfigurationPropertiesFormat struct { 7753 // The reference to gateway load balancer frontend IP. 7754 GatewayLoadBalancer *SubResource `json:"gatewayLoadBalancer,omitempty"` 7755 7756 // The private IP address of the IP configuration. 7757 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 7758 7759 // Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. 7760 PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` 7761 7762 // The Private IP allocation method. 7763 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 7764 7765 // The reference to the Public IP resource. 7766 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 7767 7768 // The reference to the Public IP Prefix resource. 7769 PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` 7770 7771 // The reference to the subnet resource. 7772 Subnet *Subnet `json:"subnet,omitempty"` 7773 7774 // READ-ONLY; An array of references to inbound pools that use this frontend IP. 7775 InboundNatPools []*SubResource `json:"inboundNatPools,omitempty" azure:"ro"` 7776 7777 // READ-ONLY; An array of references to inbound rules that use this frontend IP. 7778 InboundNatRules []*SubResource `json:"inboundNatRules,omitempty" azure:"ro"` 7779 7780 // READ-ONLY; An array of references to load balancing rules that use this frontend IP. 7781 LoadBalancingRules []*SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` 7782 7783 // READ-ONLY; An array of references to outbound rules that use this frontend IP. 7784 OutboundRules []*SubResource `json:"outboundRules,omitempty" azure:"ro"` 7785 7786 // READ-ONLY; The provisioning state of the frontend IP configuration resource. 7787 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7788} 7789 7790// MarshalJSON implements the json.Marshaller interface for type FrontendIPConfigurationPropertiesFormat. 7791func (f FrontendIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 7792 objectMap := make(map[string]interface{}) 7793 populate(objectMap, "gatewayLoadBalancer", f.GatewayLoadBalancer) 7794 populate(objectMap, "inboundNatPools", f.InboundNatPools) 7795 populate(objectMap, "inboundNatRules", f.InboundNatRules) 7796 populate(objectMap, "loadBalancingRules", f.LoadBalancingRules) 7797 populate(objectMap, "outboundRules", f.OutboundRules) 7798 populate(objectMap, "privateIPAddress", f.PrivateIPAddress) 7799 populate(objectMap, "privateIPAddressVersion", f.PrivateIPAddressVersion) 7800 populate(objectMap, "privateIPAllocationMethod", f.PrivateIPAllocationMethod) 7801 populate(objectMap, "provisioningState", f.ProvisioningState) 7802 populate(objectMap, "publicIPAddress", f.PublicIPAddress) 7803 populate(objectMap, "publicIPPrefix", f.PublicIPPrefix) 7804 populate(objectMap, "subnet", f.Subnet) 7805 return json.Marshal(objectMap) 7806} 7807 7808// GatewayLoadBalancerTunnelInterface - Gateway load balancer tunnel interface of a load balancer backend address pool. 7809type GatewayLoadBalancerTunnelInterface struct { 7810 // Identifier of gateway load balancer tunnel interface. 7811 Identifier *int32 `json:"identifier,omitempty"` 7812 7813 // Port of gateway load balancer tunnel interface. 7814 Port *int32 `json:"port,omitempty"` 7815 7816 // Protocol of gateway load balancer tunnel interface. 7817 Protocol *GatewayLoadBalancerTunnelProtocol `json:"protocol,omitempty"` 7818 7819 // Traffic type of gateway load balancer tunnel interface. 7820 Type *GatewayLoadBalancerTunnelInterfaceType `json:"type,omitempty"` 7821} 7822 7823// GatewayRoute - Gateway routing details. 7824type GatewayRoute struct { 7825 // READ-ONLY; The route's AS path sequence. 7826 AsPath *string `json:"asPath,omitempty" azure:"ro"` 7827 7828 // READ-ONLY; The gateway's local address. 7829 LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` 7830 7831 // READ-ONLY; The route's network prefix. 7832 Network *string `json:"network,omitempty" azure:"ro"` 7833 7834 // READ-ONLY; The route's next hop. 7835 NextHop *string `json:"nextHop,omitempty" azure:"ro"` 7836 7837 // READ-ONLY; The source this route was learned from. 7838 Origin *string `json:"origin,omitempty" azure:"ro"` 7839 7840 // READ-ONLY; The peer this route was learned from. 7841 SourcePeer *string `json:"sourcePeer,omitempty" azure:"ro"` 7842 7843 // READ-ONLY; The route's weight. 7844 Weight *int32 `json:"weight,omitempty" azure:"ro"` 7845} 7846 7847// GatewayRouteListResult - List of virtual network gateway routes. 7848type GatewayRouteListResult struct { 7849 // List of gateway routes. 7850 Value []*GatewayRoute `json:"value,omitempty"` 7851} 7852 7853// MarshalJSON implements the json.Marshaller interface for type GatewayRouteListResult. 7854func (g GatewayRouteListResult) MarshalJSON() ([]byte, error) { 7855 objectMap := make(map[string]interface{}) 7856 populate(objectMap, "value", g.Value) 7857 return json.Marshal(objectMap) 7858} 7859 7860// GenerateExpressRoutePortsLOARequest - The customer name to be printed on a letter of authorization. 7861type GenerateExpressRoutePortsLOARequest struct { 7862 // REQUIRED; The customer name. 7863 CustomerName *string `json:"customerName,omitempty"` 7864} 7865 7866// GenerateExpressRoutePortsLOAResult - Response for GenerateExpressRoutePortsLOA API service call. 7867type GenerateExpressRoutePortsLOAResult struct { 7868 // The content as a base64 encoded string. 7869 EncodedContent *string `json:"encodedContent,omitempty"` 7870} 7871 7872// GetVPNSitesConfigurationRequest - List of Vpn-Sites. 7873type GetVPNSitesConfigurationRequest struct { 7874 // REQUIRED; The sas-url to download the configurations for vpn-sites. 7875 OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` 7876 7877 // List of resource-ids of the vpn-sites for which config is to be downloaded. 7878 VPNSites []*string `json:"vpnSites,omitempty"` 7879} 7880 7881// MarshalJSON implements the json.Marshaller interface for type GetVPNSitesConfigurationRequest. 7882func (g GetVPNSitesConfigurationRequest) MarshalJSON() ([]byte, error) { 7883 objectMap := make(map[string]interface{}) 7884 populate(objectMap, "outputBlobSasUrl", g.OutputBlobSasURL) 7885 populate(objectMap, "vpnSites", g.VPNSites) 7886 return json.Marshal(objectMap) 7887} 7888 7889// HTTPConfiguration - HTTP configuration of the connectivity check. 7890type HTTPConfiguration struct { 7891 // List of HTTP headers. 7892 Headers []*HTTPHeader `json:"headers,omitempty"` 7893 7894 // HTTP method. 7895 Method *HTTPMethod `json:"method,omitempty"` 7896 7897 // Valid status codes. 7898 ValidStatusCodes []*int32 `json:"validStatusCodes,omitempty"` 7899} 7900 7901// MarshalJSON implements the json.Marshaller interface for type HTTPConfiguration. 7902func (h HTTPConfiguration) MarshalJSON() ([]byte, error) { 7903 objectMap := make(map[string]interface{}) 7904 populate(objectMap, "headers", h.Headers) 7905 populate(objectMap, "method", h.Method) 7906 populate(objectMap, "validStatusCodes", h.ValidStatusCodes) 7907 return json.Marshal(objectMap) 7908} 7909 7910// HTTPHeader - The HTTP header. 7911type HTTPHeader struct { 7912 // The name in HTTP header. 7913 Name *string `json:"name,omitempty"` 7914 7915 // The value in HTTP header. 7916 Value *string `json:"value,omitempty"` 7917} 7918 7919// HopLink - Hop link. 7920type HopLink struct { 7921 // Hop link properties. 7922 Properties *HopLinkProperties `json:"properties,omitempty"` 7923 7924 // READ-ONLY; Provides additional context on links. 7925 Context map[string]*string `json:"context,omitempty" azure:"ro"` 7926 7927 // READ-ONLY; List of issues. 7928 Issues []*ConnectivityIssue `json:"issues,omitempty" azure:"ro"` 7929 7930 // READ-ONLY; Link type. 7931 LinkType *string `json:"linkType,omitempty" azure:"ro"` 7932 7933 // READ-ONLY; The ID of the next hop. 7934 NextHopID *string `json:"nextHopId,omitempty" azure:"ro"` 7935 7936 // READ-ONLY; Resource ID. 7937 ResourceID *string `json:"resourceId,omitempty" azure:"ro"` 7938} 7939 7940// MarshalJSON implements the json.Marshaller interface for type HopLink. 7941func (h HopLink) MarshalJSON() ([]byte, error) { 7942 objectMap := make(map[string]interface{}) 7943 populate(objectMap, "context", h.Context) 7944 populate(objectMap, "issues", h.Issues) 7945 populate(objectMap, "linkType", h.LinkType) 7946 populate(objectMap, "nextHopId", h.NextHopID) 7947 populate(objectMap, "properties", h.Properties) 7948 populate(objectMap, "resourceId", h.ResourceID) 7949 return json.Marshal(objectMap) 7950} 7951 7952// HopLinkProperties - Hop link properties. 7953type HopLinkProperties struct { 7954 // READ-ONLY; Average roundtrip time in milliseconds. 7955 RoundTripTimeAvg *int64 `json:"roundTripTimeAvg,omitempty" azure:"ro"` 7956 7957 // READ-ONLY; Maximum roundtrip time in milliseconds. 7958 RoundTripTimeMax *int64 `json:"roundTripTimeMax,omitempty" azure:"ro"` 7959 7960 // READ-ONLY; Minimum roundtrip time in milliseconds. 7961 RoundTripTimeMin *int64 `json:"roundTripTimeMin,omitempty" azure:"ro"` 7962} 7963 7964// HubIPAddresses - IP addresses associated with azure firewall. 7965type HubIPAddresses struct { 7966 // Private IP Address associated with azure firewall. 7967 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 7968 7969 // Public IP addresses associated with azure firewall. 7970 PublicIPs *HubPublicIPAddresses `json:"publicIPs,omitempty"` 7971} 7972 7973// HubIPConfiguration - IpConfigurations. 7974type HubIPConfiguration struct { 7975 SubResource 7976 // Name of the Ip Configuration. 7977 Name *string `json:"name,omitempty"` 7978 7979 // The properties of the Virtual Hub IPConfigurations. 7980 Properties *HubIPConfigurationPropertiesFormat `json:"properties,omitempty"` 7981 7982 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7983 Etag *string `json:"etag,omitempty" azure:"ro"` 7984 7985 // READ-ONLY; Ipconfiguration type. 7986 Type *string `json:"type,omitempty" azure:"ro"` 7987} 7988 7989// MarshalJSON implements the json.Marshaller interface for type HubIPConfiguration. 7990func (h HubIPConfiguration) MarshalJSON() ([]byte, error) { 7991 objectMap := h.SubResource.marshalInternal() 7992 populate(objectMap, "etag", h.Etag) 7993 populate(objectMap, "name", h.Name) 7994 populate(objectMap, "properties", h.Properties) 7995 populate(objectMap, "type", h.Type) 7996 return json.Marshal(objectMap) 7997} 7998 7999// HubIPConfigurationPropertiesFormat - Properties of IP configuration. 8000type HubIPConfigurationPropertiesFormat struct { 8001 // The private IP address of the IP configuration. 8002 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 8003 8004 // The private IP address allocation method. 8005 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 8006 8007 // The reference to the public IP resource. 8008 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 8009 8010 // The reference to the subnet resource. 8011 Subnet *Subnet `json:"subnet,omitempty"` 8012 8013 // READ-ONLY; The provisioning state of the IP configuration resource. 8014 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8015} 8016 8017// HubPublicIPAddresses - Public IP addresses associated with azure firewall. 8018type HubPublicIPAddresses struct { 8019 // The list of Public IP addresses associated with azure firewall or IP addresses to be retained. 8020 Addresses []*AzureFirewallPublicIPAddress `json:"addresses,omitempty"` 8021 8022 // The number of Public IP addresses associated with azure firewall. 8023 Count *int32 `json:"count,omitempty"` 8024} 8025 8026// MarshalJSON implements the json.Marshaller interface for type HubPublicIPAddresses. 8027func (h HubPublicIPAddresses) MarshalJSON() ([]byte, error) { 8028 objectMap := make(map[string]interface{}) 8029 populate(objectMap, "addresses", h.Addresses) 8030 populate(objectMap, "count", h.Count) 8031 return json.Marshal(objectMap) 8032} 8033 8034// HubRoute - RouteTable route. 8035type HubRoute struct { 8036 // REQUIRED; The type of destinations (eg: CIDR, ResourceId, Service). 8037 DestinationType *string `json:"destinationType,omitempty"` 8038 8039 // REQUIRED; List of all destinations. 8040 Destinations []*string `json:"destinations,omitempty"` 8041 8042 // REQUIRED; The name of the Route that is unique within a RouteTable. This name can be used to access this route. 8043 Name *string `json:"name,omitempty"` 8044 8045 // REQUIRED; NextHop resource ID. 8046 NextHop *string `json:"nextHop,omitempty"` 8047 8048 // REQUIRED; The type of next hop (eg: ResourceId). 8049 NextHopType *string `json:"nextHopType,omitempty"` 8050} 8051 8052// MarshalJSON implements the json.Marshaller interface for type HubRoute. 8053func (h HubRoute) MarshalJSON() ([]byte, error) { 8054 objectMap := make(map[string]interface{}) 8055 populate(objectMap, "destinationType", h.DestinationType) 8056 populate(objectMap, "destinations", h.Destinations) 8057 populate(objectMap, "name", h.Name) 8058 populate(objectMap, "nextHop", h.NextHop) 8059 populate(objectMap, "nextHopType", h.NextHopType) 8060 return json.Marshal(objectMap) 8061} 8062 8063// HubRouteTable - RouteTable resource in a virtual hub. 8064type HubRouteTable struct { 8065 SubResource 8066 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 8067 Name *string `json:"name,omitempty"` 8068 8069 // Properties of the RouteTable resource. 8070 Properties *HubRouteTableProperties `json:"properties,omitempty"` 8071 8072 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8073 Etag *string `json:"etag,omitempty" azure:"ro"` 8074 8075 // READ-ONLY; Resource type. 8076 Type *string `json:"type,omitempty" azure:"ro"` 8077} 8078 8079// MarshalJSON implements the json.Marshaller interface for type HubRouteTable. 8080func (h HubRouteTable) MarshalJSON() ([]byte, error) { 8081 objectMap := h.SubResource.marshalInternal() 8082 populate(objectMap, "etag", h.Etag) 8083 populate(objectMap, "name", h.Name) 8084 populate(objectMap, "properties", h.Properties) 8085 populate(objectMap, "type", h.Type) 8086 return json.Marshal(objectMap) 8087} 8088 8089// HubRouteTableProperties - Parameters for RouteTable. 8090type HubRouteTableProperties struct { 8091 // List of labels associated with this route table. 8092 Labels []*string `json:"labels,omitempty"` 8093 8094 // List of all routes. 8095 Routes []*HubRoute `json:"routes,omitempty"` 8096 8097 // READ-ONLY; List of all connections associated with this route table. 8098 AssociatedConnections []*string `json:"associatedConnections,omitempty" azure:"ro"` 8099 8100 // READ-ONLY; List of all connections that advertise to this route table. 8101 PropagatingConnections []*string `json:"propagatingConnections,omitempty" azure:"ro"` 8102 8103 // READ-ONLY; The provisioning state of the RouteTable resource. 8104 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8105} 8106 8107// MarshalJSON implements the json.Marshaller interface for type HubRouteTableProperties. 8108func (h HubRouteTableProperties) MarshalJSON() ([]byte, error) { 8109 objectMap := make(map[string]interface{}) 8110 populate(objectMap, "associatedConnections", h.AssociatedConnections) 8111 populate(objectMap, "labels", h.Labels) 8112 populate(objectMap, "propagatingConnections", h.PropagatingConnections) 8113 populate(objectMap, "provisioningState", h.ProvisioningState) 8114 populate(objectMap, "routes", h.Routes) 8115 return json.Marshal(objectMap) 8116} 8117 8118// HubRouteTablesBeginCreateOrUpdateOptions contains the optional parameters for the HubRouteTables.BeginCreateOrUpdate method. 8119type HubRouteTablesBeginCreateOrUpdateOptions struct { 8120 // placeholder for future optional parameters 8121} 8122 8123// HubRouteTablesBeginDeleteOptions contains the optional parameters for the HubRouteTables.BeginDelete method. 8124type HubRouteTablesBeginDeleteOptions struct { 8125 // placeholder for future optional parameters 8126} 8127 8128// HubRouteTablesGetOptions contains the optional parameters for the HubRouteTables.Get method. 8129type HubRouteTablesGetOptions struct { 8130 // placeholder for future optional parameters 8131} 8132 8133// HubRouteTablesListOptions contains the optional parameters for the HubRouteTables.List method. 8134type HubRouteTablesListOptions struct { 8135 // placeholder for future optional parameters 8136} 8137 8138// HubVirtualNetworkConnection Resource. 8139type HubVirtualNetworkConnection struct { 8140 SubResource 8141 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 8142 Name *string `json:"name,omitempty"` 8143 8144 // Properties of the hub virtual network connection. 8145 Properties *HubVirtualNetworkConnectionProperties `json:"properties,omitempty"` 8146 8147 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8148 Etag *string `json:"etag,omitempty" azure:"ro"` 8149} 8150 8151// MarshalJSON implements the json.Marshaller interface for type HubVirtualNetworkConnection. 8152func (h HubVirtualNetworkConnection) MarshalJSON() ([]byte, error) { 8153 objectMap := h.SubResource.marshalInternal() 8154 populate(objectMap, "etag", h.Etag) 8155 populate(objectMap, "name", h.Name) 8156 populate(objectMap, "properties", h.Properties) 8157 return json.Marshal(objectMap) 8158} 8159 8160// HubVirtualNetworkConnectionProperties - Parameters for HubVirtualNetworkConnection. 8161type HubVirtualNetworkConnectionProperties struct { 8162 // Deprecated: VirtualHub to RemoteVnet transit to enabled or not. 8163 AllowHubToRemoteVnetTransit *bool `json:"allowHubToRemoteVnetTransit,omitempty"` 8164 8165 // Deprecated: Allow RemoteVnet to use Virtual Hub's gateways. 8166 AllowRemoteVnetToUseHubVnetGateways *bool `json:"allowRemoteVnetToUseHubVnetGateways,omitempty"` 8167 8168 // Enable internet security. 8169 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 8170 8171 // Reference to the remote virtual network. 8172 RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` 8173 8174 // The Routing Configuration indicating the associated and propagated route tables on this connection. 8175 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 8176 8177 // READ-ONLY; The provisioning state of the hub virtual network connection resource. 8178 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8179} 8180 8181// HubVirtualNetworkConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the HubVirtualNetworkConnections.BeginCreateOrUpdate method. 8182type HubVirtualNetworkConnectionsBeginCreateOrUpdateOptions struct { 8183 // placeholder for future optional parameters 8184} 8185 8186// HubVirtualNetworkConnectionsBeginDeleteOptions contains the optional parameters for the HubVirtualNetworkConnections.BeginDelete method. 8187type HubVirtualNetworkConnectionsBeginDeleteOptions struct { 8188 // placeholder for future optional parameters 8189} 8190 8191// HubVirtualNetworkConnectionsGetOptions contains the optional parameters for the HubVirtualNetworkConnections.Get method. 8192type HubVirtualNetworkConnectionsGetOptions struct { 8193 // placeholder for future optional parameters 8194} 8195 8196// HubVirtualNetworkConnectionsListOptions contains the optional parameters for the HubVirtualNetworkConnections.List method. 8197type HubVirtualNetworkConnectionsListOptions struct { 8198 // placeholder for future optional parameters 8199} 8200 8201// IPAddressAvailabilityResult - Response for CheckIPAddressAvailability API service call. 8202type IPAddressAvailabilityResult struct { 8203 // Private IP address availability. 8204 Available *bool `json:"available,omitempty"` 8205 8206 // Contains other available private IP addresses if the asked for address is taken. 8207 AvailableIPAddresses []*string `json:"availableIPAddresses,omitempty"` 8208 8209 // Private IP address platform reserved. 8210 IsPlatformReserved *bool `json:"isPlatformReserved,omitempty"` 8211} 8212 8213// MarshalJSON implements the json.Marshaller interface for type IPAddressAvailabilityResult. 8214func (i IPAddressAvailabilityResult) MarshalJSON() ([]byte, error) { 8215 objectMap := make(map[string]interface{}) 8216 populate(objectMap, "available", i.Available) 8217 populate(objectMap, "availableIPAddresses", i.AvailableIPAddresses) 8218 populate(objectMap, "isPlatformReserved", i.IsPlatformReserved) 8219 return json.Marshal(objectMap) 8220} 8221 8222// IPAllocation - IpAllocation resource. 8223type IPAllocation struct { 8224 Resource 8225 // Properties of the IpAllocation. 8226 Properties *IPAllocationPropertiesFormat `json:"properties,omitempty"` 8227 8228 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8229 Etag *string `json:"etag,omitempty" azure:"ro"` 8230} 8231 8232// MarshalJSON implements the json.Marshaller interface for type IPAllocation. 8233func (i IPAllocation) MarshalJSON() ([]byte, error) { 8234 objectMap := i.Resource.marshalInternal() 8235 populate(objectMap, "etag", i.Etag) 8236 populate(objectMap, "properties", i.Properties) 8237 return json.Marshal(objectMap) 8238} 8239 8240// IPAllocationListResult - Response for the ListIpAllocations API service call. 8241type IPAllocationListResult struct { 8242 // The URL to get the next set of results. 8243 NextLink *string `json:"nextLink,omitempty"` 8244 8245 // A list of IpAllocation resources. 8246 Value []*IPAllocation `json:"value,omitempty"` 8247} 8248 8249// MarshalJSON implements the json.Marshaller interface for type IPAllocationListResult. 8250func (i IPAllocationListResult) MarshalJSON() ([]byte, error) { 8251 objectMap := make(map[string]interface{}) 8252 populate(objectMap, "nextLink", i.NextLink) 8253 populate(objectMap, "value", i.Value) 8254 return json.Marshal(objectMap) 8255} 8256 8257// IPAllocationPropertiesFormat - Properties of the IpAllocation. 8258type IPAllocationPropertiesFormat struct { 8259 // IpAllocation tags. 8260 AllocationTags map[string]*string `json:"allocationTags,omitempty"` 8261 8262 // The IPAM allocation ID. 8263 IpamAllocationID *string `json:"ipamAllocationId,omitempty"` 8264 8265 // The address prefix for the IpAllocation. 8266 Prefix *string `json:"prefix,omitempty"` 8267 8268 // The address prefix length for the IpAllocation. 8269 PrefixLength *int32 `json:"prefixLength,omitempty"` 8270 8271 // The address prefix Type for the IpAllocation. 8272 PrefixType *IPVersion `json:"prefixType,omitempty"` 8273 8274 // The type for the IpAllocation. 8275 Type *IPAllocationType `json:"type,omitempty"` 8276 8277 // READ-ONLY; The Subnet that using the prefix of this IpAllocation resource. 8278 Subnet *SubResource `json:"subnet,omitempty" azure:"ro"` 8279 8280 // READ-ONLY; The VirtualNetwork that using the prefix of this IpAllocation resource. 8281 VirtualNetwork *SubResource `json:"virtualNetwork,omitempty" azure:"ro"` 8282} 8283 8284// MarshalJSON implements the json.Marshaller interface for type IPAllocationPropertiesFormat. 8285func (i IPAllocationPropertiesFormat) MarshalJSON() ([]byte, error) { 8286 objectMap := make(map[string]interface{}) 8287 populate(objectMap, "allocationTags", i.AllocationTags) 8288 populate(objectMap, "ipamAllocationId", i.IpamAllocationID) 8289 populate(objectMap, "prefix", i.Prefix) 8290 populate(objectMap, "prefixLength", i.PrefixLength) 8291 populate(objectMap, "prefixType", i.PrefixType) 8292 populate(objectMap, "subnet", i.Subnet) 8293 populate(objectMap, "type", i.Type) 8294 populate(objectMap, "virtualNetwork", i.VirtualNetwork) 8295 return json.Marshal(objectMap) 8296} 8297 8298// IPAllocationsBeginCreateOrUpdateOptions contains the optional parameters for the IPAllocations.BeginCreateOrUpdate method. 8299type IPAllocationsBeginCreateOrUpdateOptions struct { 8300 // placeholder for future optional parameters 8301} 8302 8303// IPAllocationsBeginDeleteOptions contains the optional parameters for the IPAllocations.BeginDelete method. 8304type IPAllocationsBeginDeleteOptions struct { 8305 // placeholder for future optional parameters 8306} 8307 8308// IPAllocationsGetOptions contains the optional parameters for the IPAllocations.Get method. 8309type IPAllocationsGetOptions struct { 8310 // Expands referenced resources. 8311 Expand *string 8312} 8313 8314// IPAllocationsListByResourceGroupOptions contains the optional parameters for the IPAllocations.ListByResourceGroup method. 8315type IPAllocationsListByResourceGroupOptions struct { 8316 // placeholder for future optional parameters 8317} 8318 8319// IPAllocationsListOptions contains the optional parameters for the IPAllocations.List method. 8320type IPAllocationsListOptions struct { 8321 // placeholder for future optional parameters 8322} 8323 8324// IPAllocationsUpdateTagsOptions contains the optional parameters for the IPAllocations.UpdateTags method. 8325type IPAllocationsUpdateTagsOptions struct { 8326 // placeholder for future optional parameters 8327} 8328 8329// IPConfiguration - IP configuration. 8330type IPConfiguration struct { 8331 SubResource 8332 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 8333 Name *string `json:"name,omitempty"` 8334 8335 // Properties of the IP configuration. 8336 Properties *IPConfigurationPropertiesFormat `json:"properties,omitempty"` 8337 8338 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8339 Etag *string `json:"etag,omitempty" azure:"ro"` 8340} 8341 8342// MarshalJSON implements the json.Marshaller interface for type IPConfiguration. 8343func (i IPConfiguration) MarshalJSON() ([]byte, error) { 8344 objectMap := i.SubResource.marshalInternal() 8345 populate(objectMap, "etag", i.Etag) 8346 populate(objectMap, "name", i.Name) 8347 populate(objectMap, "properties", i.Properties) 8348 return json.Marshal(objectMap) 8349} 8350 8351// IPConfigurationBgpPeeringAddress - Properties of IPConfigurationBgpPeeringAddress. 8352type IPConfigurationBgpPeeringAddress struct { 8353 // The list of custom BGP peering addresses which belong to IP configuration. 8354 CustomBgpIPAddresses []*string `json:"customBgpIpAddresses,omitempty"` 8355 8356 // The ID of IP configuration which belongs to gateway. 8357 IPConfigurationID *string `json:"ipconfigurationId,omitempty"` 8358 8359 // READ-ONLY; The list of default BGP peering addresses which belong to IP configuration. 8360 DefaultBgpIPAddresses []*string `json:"defaultBgpIpAddresses,omitempty" azure:"ro"` 8361 8362 // READ-ONLY; The list of tunnel public IP addresses which belong to IP configuration. 8363 TunnelIPAddresses []*string `json:"tunnelIpAddresses,omitempty" azure:"ro"` 8364} 8365 8366// MarshalJSON implements the json.Marshaller interface for type IPConfigurationBgpPeeringAddress. 8367func (i IPConfigurationBgpPeeringAddress) MarshalJSON() ([]byte, error) { 8368 objectMap := make(map[string]interface{}) 8369 populate(objectMap, "customBgpIpAddresses", i.CustomBgpIPAddresses) 8370 populate(objectMap, "defaultBgpIpAddresses", i.DefaultBgpIPAddresses) 8371 populate(objectMap, "ipconfigurationId", i.IPConfigurationID) 8372 populate(objectMap, "tunnelIpAddresses", i.TunnelIPAddresses) 8373 return json.Marshal(objectMap) 8374} 8375 8376// IPConfigurationProfile - IP configuration profile child resource. 8377type IPConfigurationProfile struct { 8378 SubResource 8379 // The name of the resource. This name can be used to access the resource. 8380 Name *string `json:"name,omitempty"` 8381 8382 // Properties of the IP configuration profile. 8383 Properties *IPConfigurationProfilePropertiesFormat `json:"properties,omitempty"` 8384 8385 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8386 Etag *string `json:"etag,omitempty" azure:"ro"` 8387 8388 // READ-ONLY; Sub Resource type. 8389 Type *string `json:"type,omitempty" azure:"ro"` 8390} 8391 8392// MarshalJSON implements the json.Marshaller interface for type IPConfigurationProfile. 8393func (i IPConfigurationProfile) MarshalJSON() ([]byte, error) { 8394 objectMap := i.SubResource.marshalInternal() 8395 populate(objectMap, "etag", i.Etag) 8396 populate(objectMap, "name", i.Name) 8397 populate(objectMap, "properties", i.Properties) 8398 populate(objectMap, "type", i.Type) 8399 return json.Marshal(objectMap) 8400} 8401 8402// IPConfigurationProfilePropertiesFormat - IP configuration profile properties. 8403type IPConfigurationProfilePropertiesFormat struct { 8404 // The reference to the subnet resource to create a container network interface ip configuration. 8405 Subnet *Subnet `json:"subnet,omitempty"` 8406 8407 // READ-ONLY; The provisioning state of the IP configuration profile resource. 8408 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8409} 8410 8411// IPConfigurationPropertiesFormat - Properties of IP configuration. 8412type IPConfigurationPropertiesFormat struct { 8413 // The private IP address of the IP configuration. 8414 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 8415 8416 // The private IP address allocation method. 8417 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 8418 8419 // The reference to the public IP resource. 8420 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 8421 8422 // The reference to the subnet resource. 8423 Subnet *Subnet `json:"subnet,omitempty"` 8424 8425 // READ-ONLY; The provisioning state of the IP configuration resource. 8426 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8427} 8428 8429// IPGroup - The IpGroups resource information. 8430type IPGroup struct { 8431 Resource 8432 // Properties of the IpGroups. 8433 Properties *IPGroupPropertiesFormat `json:"properties,omitempty"` 8434 8435 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8436 Etag *string `json:"etag,omitempty" azure:"ro"` 8437} 8438 8439// MarshalJSON implements the json.Marshaller interface for type IPGroup. 8440func (i IPGroup) MarshalJSON() ([]byte, error) { 8441 objectMap := i.Resource.marshalInternal() 8442 populate(objectMap, "etag", i.Etag) 8443 populate(objectMap, "properties", i.Properties) 8444 return json.Marshal(objectMap) 8445} 8446 8447// IPGroupListResult - Response for the ListIpGroups API service call. 8448type IPGroupListResult struct { 8449 // URL to get the next set of results. 8450 NextLink *string `json:"nextLink,omitempty"` 8451 8452 // The list of IpGroups information resources. 8453 Value []*IPGroup `json:"value,omitempty"` 8454} 8455 8456// MarshalJSON implements the json.Marshaller interface for type IPGroupListResult. 8457func (i IPGroupListResult) MarshalJSON() ([]byte, error) { 8458 objectMap := make(map[string]interface{}) 8459 populate(objectMap, "nextLink", i.NextLink) 8460 populate(objectMap, "value", i.Value) 8461 return json.Marshal(objectMap) 8462} 8463 8464// IPGroupPropertiesFormat - The IpGroups property information. 8465type IPGroupPropertiesFormat struct { 8466 // IpAddresses/IpAddressPrefixes in the IpGroups resource. 8467 IPAddresses []*string `json:"ipAddresses,omitempty"` 8468 8469 // READ-ONLY; List of references to Firewall Policies resources that this IpGroups is associated with. 8470 FirewallPolicies []*SubResource `json:"firewallPolicies,omitempty" azure:"ro"` 8471 8472 // READ-ONLY; List of references to Firewall resources that this IpGroups is associated with. 8473 Firewalls []*SubResource `json:"firewalls,omitempty" azure:"ro"` 8474 8475 // READ-ONLY; The provisioning state of the IpGroups resource. 8476 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8477} 8478 8479// MarshalJSON implements the json.Marshaller interface for type IPGroupPropertiesFormat. 8480func (i IPGroupPropertiesFormat) MarshalJSON() ([]byte, error) { 8481 objectMap := make(map[string]interface{}) 8482 populate(objectMap, "firewallPolicies", i.FirewallPolicies) 8483 populate(objectMap, "firewalls", i.Firewalls) 8484 populate(objectMap, "ipAddresses", i.IPAddresses) 8485 populate(objectMap, "provisioningState", i.ProvisioningState) 8486 return json.Marshal(objectMap) 8487} 8488 8489// IPGroupsBeginCreateOrUpdateOptions contains the optional parameters for the IPGroups.BeginCreateOrUpdate method. 8490type IPGroupsBeginCreateOrUpdateOptions struct { 8491 // placeholder for future optional parameters 8492} 8493 8494// IPGroupsBeginDeleteOptions contains the optional parameters for the IPGroups.BeginDelete method. 8495type IPGroupsBeginDeleteOptions struct { 8496 // placeholder for future optional parameters 8497} 8498 8499// IPGroupsGetOptions contains the optional parameters for the IPGroups.Get method. 8500type IPGroupsGetOptions struct { 8501 // Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource. 8502 Expand *string 8503} 8504 8505// IPGroupsListByResourceGroupOptions contains the optional parameters for the IPGroups.ListByResourceGroup method. 8506type IPGroupsListByResourceGroupOptions struct { 8507 // placeholder for future optional parameters 8508} 8509 8510// IPGroupsListOptions contains the optional parameters for the IPGroups.List method. 8511type IPGroupsListOptions struct { 8512 // placeholder for future optional parameters 8513} 8514 8515// IPGroupsUpdateGroupsOptions contains the optional parameters for the IPGroups.UpdateGroups method. 8516type IPGroupsUpdateGroupsOptions struct { 8517 // placeholder for future optional parameters 8518} 8519 8520// IPSecPolicy - An IPSec Policy configuration for a virtual network gateway connection. 8521type IPSecPolicy struct { 8522 // REQUIRED; The DH Group used in IKE Phase 1 for initial SA. 8523 DhGroup *DhGroup `json:"dhGroup,omitempty"` 8524 8525 // REQUIRED; The IPSec encryption algorithm (IKE phase 1). 8526 IPSecEncryption *IPSecEncryption `json:"ipsecEncryption,omitempty"` 8527 8528 // REQUIRED; The IPSec integrity algorithm (IKE phase 1). 8529 IPSecIntegrity *IPSecIntegrity `json:"ipsecIntegrity,omitempty"` 8530 8531 // REQUIRED; The IKE encryption algorithm (IKE phase 2). 8532 IkeEncryption *IkeEncryption `json:"ikeEncryption,omitempty"` 8533 8534 // REQUIRED; The IKE integrity algorithm (IKE phase 2). 8535 IkeIntegrity *IkeIntegrity `json:"ikeIntegrity,omitempty"` 8536 8537 // REQUIRED; The Pfs Group used in IKE Phase 2 for new child SA. 8538 PfsGroup *PfsGroup `json:"pfsGroup,omitempty"` 8539 8540 // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel. 8541 SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` 8542 8543 // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. 8544 SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` 8545} 8546 8547// IPTag - Contains the IpTag associated with the object. 8548type IPTag struct { 8549 // The IP tag type. Example: FirstPartyUsage. 8550 IPTagType *string `json:"ipTagType,omitempty"` 8551 8552 // The value of the IP tag associated with the public IP. Example: SQL. 8553 Tag *string `json:"tag,omitempty"` 8554} 8555 8556// IPv6CircuitConnectionConfig - IPv6 Circuit Connection properties for global reach. 8557type IPv6CircuitConnectionConfig struct { 8558 // /125 IP address space to carve out customer addresses for global reach. 8559 AddressPrefix *string `json:"addressPrefix,omitempty"` 8560 8561 // READ-ONLY; Express Route Circuit connection state. 8562 CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` 8563} 8564 8565// IPv6ExpressRouteCircuitPeeringConfig - Contains IPv6 peering config. 8566type IPv6ExpressRouteCircuitPeeringConfig struct { 8567 // The Microsoft peering configuration. 8568 MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` 8569 8570 // The primary address prefix. 8571 PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` 8572 8573 // The reference to the RouteFilter resource. 8574 RouteFilter *SubResource `json:"routeFilter,omitempty"` 8575 8576 // The secondary address prefix. 8577 SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` 8578 8579 // The state of peering. 8580 State *ExpressRouteCircuitPeeringState `json:"state,omitempty"` 8581} 8582 8583// InboundNatPool - Inbound NAT pool of the load balancer. 8584type InboundNatPool struct { 8585 SubResource 8586 // 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. 8587 Name *string `json:"name,omitempty"` 8588 8589 // Properties of load balancer inbound nat pool. 8590 Properties *InboundNatPoolPropertiesFormat `json:"properties,omitempty"` 8591 8592 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8593 Etag *string `json:"etag,omitempty" azure:"ro"` 8594 8595 // READ-ONLY; Type of the resource. 8596 Type *string `json:"type,omitempty" azure:"ro"` 8597} 8598 8599// MarshalJSON implements the json.Marshaller interface for type InboundNatPool. 8600func (i InboundNatPool) MarshalJSON() ([]byte, error) { 8601 objectMap := i.SubResource.marshalInternal() 8602 populate(objectMap, "etag", i.Etag) 8603 populate(objectMap, "name", i.Name) 8604 populate(objectMap, "properties", i.Properties) 8605 populate(objectMap, "type", i.Type) 8606 return json.Marshal(objectMap) 8607} 8608 8609// InboundNatPoolPropertiesFormat - Properties of Inbound NAT pool. 8610type InboundNatPoolPropertiesFormat struct { 8611 // REQUIRED; The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. 8612 BackendPort *int32 `json:"backendPort,omitempty"` 8613 8614 // 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 8615 // values range between 1 and 65535. 8616 FrontendPortRangeEnd *int32 `json:"frontendPortRangeEnd,omitempty"` 8617 8618 // 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 8619 // values range between 1 and 65534. 8620 FrontendPortRangeStart *int32 `json:"frontendPortRangeStart,omitempty"` 8621 8622 // REQUIRED; The reference to the transport protocol used by the inbound NAT pool. 8623 Protocol *TransportProtocol `json:"protocol,omitempty"` 8624 8625 // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required 8626 // when using the SQL AlwaysOn Availability Groups 8627 // in SQL server. This setting can't be changed after you create the endpoint. 8628 EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` 8629 8630 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 8631 // TCP. 8632 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 8633 8634 // A reference to frontend IP addresses. 8635 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 8636 8637 // 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 8638 // the protocol is set to TCP. 8639 IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 8640 8641 // READ-ONLY; The provisioning state of the inbound NAT pool resource. 8642 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8643} 8644 8645// InboundNatRule - Inbound NAT rule of the load balancer. 8646type InboundNatRule struct { 8647 SubResource 8648 // 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. 8649 Name *string `json:"name,omitempty"` 8650 8651 // Properties of load balancer inbound nat rule. 8652 Properties *InboundNatRulePropertiesFormat `json:"properties,omitempty"` 8653 8654 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8655 Etag *string `json:"etag,omitempty" azure:"ro"` 8656 8657 // READ-ONLY; Type of the resource. 8658 Type *string `json:"type,omitempty" azure:"ro"` 8659} 8660 8661// MarshalJSON implements the json.Marshaller interface for type InboundNatRule. 8662func (i InboundNatRule) MarshalJSON() ([]byte, error) { 8663 objectMap := i.SubResource.marshalInternal() 8664 populate(objectMap, "etag", i.Etag) 8665 populate(objectMap, "name", i.Name) 8666 populate(objectMap, "properties", i.Properties) 8667 populate(objectMap, "type", i.Type) 8668 return json.Marshal(objectMap) 8669} 8670 8671// InboundNatRuleListResult - Response for ListInboundNatRule API service call. 8672type InboundNatRuleListResult struct { 8673 // A list of inbound nat rules in a load balancer. 8674 Value []*InboundNatRule `json:"value,omitempty"` 8675 8676 // READ-ONLY; The URL to get the next set of results. 8677 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8678} 8679 8680// MarshalJSON implements the json.Marshaller interface for type InboundNatRuleListResult. 8681func (i InboundNatRuleListResult) MarshalJSON() ([]byte, error) { 8682 objectMap := make(map[string]interface{}) 8683 populate(objectMap, "nextLink", i.NextLink) 8684 populate(objectMap, "value", i.Value) 8685 return json.Marshal(objectMap) 8686} 8687 8688// InboundNatRulePropertiesFormat - Properties of the inbound NAT rule. 8689type InboundNatRulePropertiesFormat struct { 8690 // The port used for the internal endpoint. Acceptable values range from 1 to 65535. 8691 BackendPort *int32 `json:"backendPort,omitempty"` 8692 8693 // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required 8694 // when using the SQL AlwaysOn Availability Groups 8695 // in SQL server. This setting can't be changed after you create the endpoint. 8696 EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` 8697 8698 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 8699 // TCP. 8700 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 8701 8702 // A reference to frontend IP addresses. 8703 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 8704 8705 // 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. 8706 FrontendPort *int32 `json:"frontendPort,omitempty"` 8707 8708 // 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 8709 // the protocol is set to TCP. 8710 IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 8711 8712 // The reference to the transport protocol used by the load balancing rule. 8713 Protocol *TransportProtocol `json:"protocol,omitempty"` 8714 8715 // 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 8716 // is forwarded to the backend IP. 8717 BackendIPConfiguration *NetworkInterfaceIPConfiguration `json:"backendIPConfiguration,omitempty" azure:"ro"` 8718 8719 // READ-ONLY; The provisioning state of the inbound NAT rule resource. 8720 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8721} 8722 8723// InboundNatRulesBeginCreateOrUpdateOptions contains the optional parameters for the InboundNatRules.BeginCreateOrUpdate method. 8724type InboundNatRulesBeginCreateOrUpdateOptions struct { 8725 // placeholder for future optional parameters 8726} 8727 8728// InboundNatRulesBeginDeleteOptions contains the optional parameters for the InboundNatRules.BeginDelete method. 8729type InboundNatRulesBeginDeleteOptions struct { 8730 // placeholder for future optional parameters 8731} 8732 8733// InboundNatRulesGetOptions contains the optional parameters for the InboundNatRules.Get method. 8734type InboundNatRulesGetOptions struct { 8735 // Expands referenced resources. 8736 Expand *string 8737} 8738 8739// InboundNatRulesListOptions contains the optional parameters for the InboundNatRules.List method. 8740type InboundNatRulesListOptions struct { 8741 // placeholder for future optional parameters 8742} 8743 8744// InboundSecurityRule - NVA Inbound Security Rule resource. 8745type InboundSecurityRule struct { 8746 SubResource 8747 // Name of security rule collection. 8748 Name *string `json:"name,omitempty"` 8749 8750 // The properties of the Inbound Security Rules. 8751 Properties *InboundSecurityRuleProperties `json:"properties,omitempty"` 8752 8753 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8754 Etag *string `json:"etag,omitempty" azure:"ro"` 8755 8756 // READ-ONLY; NVA inbound security rule type. 8757 Type *string `json:"type,omitempty" azure:"ro"` 8758} 8759 8760// MarshalJSON implements the json.Marshaller interface for type InboundSecurityRule. 8761func (i InboundSecurityRule) MarshalJSON() ([]byte, error) { 8762 objectMap := i.SubResource.marshalInternal() 8763 populate(objectMap, "etag", i.Etag) 8764 populate(objectMap, "name", i.Name) 8765 populate(objectMap, "properties", i.Properties) 8766 populate(objectMap, "type", i.Type) 8767 return json.Marshal(objectMap) 8768} 8769 8770// InboundSecurityRuleBeginCreateOrUpdateOptions contains the optional parameters for the InboundSecurityRule.BeginCreateOrUpdate method. 8771type InboundSecurityRuleBeginCreateOrUpdateOptions struct { 8772 // placeholder for future optional parameters 8773} 8774 8775// InboundSecurityRuleProperties - Properties of the Inbound Security Rules resource. 8776type InboundSecurityRuleProperties struct { 8777 // List of allowed rules. 8778 Rules []*InboundSecurityRules `json:"rules,omitempty"` 8779 8780 // READ-ONLY; The provisioning state of the resource. 8781 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8782} 8783 8784// MarshalJSON implements the json.Marshaller interface for type InboundSecurityRuleProperties. 8785func (i InboundSecurityRuleProperties) MarshalJSON() ([]byte, error) { 8786 objectMap := make(map[string]interface{}) 8787 populate(objectMap, "provisioningState", i.ProvisioningState) 8788 populate(objectMap, "rules", i.Rules) 8789 return json.Marshal(objectMap) 8790} 8791 8792// InboundSecurityRules - Properties of the Inbound Security Rules resource. 8793type InboundSecurityRules struct { 8794 // NVA port ranges to be opened up. One needs to provide specific ports. 8795 DestinationPortRange *int32 `json:"destinationPortRange,omitempty"` 8796 8797 // Protocol. This should be either TCP or UDP. 8798 Protocol *InboundSecurityRulesProtocol `json:"protocol,omitempty"` 8799 8800 // The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed. 8801 SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` 8802} 8803 8804// ListHubRouteTablesResult - List of RouteTables and a URL nextLink to get the next set of results. 8805type ListHubRouteTablesResult struct { 8806 // URL to get the next set of operation list results if there are any. 8807 NextLink *string `json:"nextLink,omitempty"` 8808 8809 // List of RouteTables. 8810 Value []*HubRouteTable `json:"value,omitempty"` 8811} 8812 8813// MarshalJSON implements the json.Marshaller interface for type ListHubRouteTablesResult. 8814func (l ListHubRouteTablesResult) MarshalJSON() ([]byte, error) { 8815 objectMap := make(map[string]interface{}) 8816 populate(objectMap, "nextLink", l.NextLink) 8817 populate(objectMap, "value", l.Value) 8818 return json.Marshal(objectMap) 8819} 8820 8821// ListHubVirtualNetworkConnectionsResult - List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. 8822type ListHubVirtualNetworkConnectionsResult struct { 8823 // URL to get the next set of operation list results if there are any. 8824 NextLink *string `json:"nextLink,omitempty"` 8825 8826 // List of HubVirtualNetworkConnections. 8827 Value []*HubVirtualNetworkConnection `json:"value,omitempty"` 8828} 8829 8830// MarshalJSON implements the json.Marshaller interface for type ListHubVirtualNetworkConnectionsResult. 8831func (l ListHubVirtualNetworkConnectionsResult) MarshalJSON() ([]byte, error) { 8832 objectMap := make(map[string]interface{}) 8833 populate(objectMap, "nextLink", l.NextLink) 8834 populate(objectMap, "value", l.Value) 8835 return json.Marshal(objectMap) 8836} 8837 8838// ListP2SVPNGatewaysResult - Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set 8839// of results. 8840type ListP2SVPNGatewaysResult struct { 8841 // URL to get the next set of operation list results if there are any. 8842 NextLink *string `json:"nextLink,omitempty"` 8843 8844 // List of P2SVpnGateways. 8845 Value []*P2SVPNGateway `json:"value,omitempty"` 8846} 8847 8848// MarshalJSON implements the json.Marshaller interface for type ListP2SVPNGatewaysResult. 8849func (l ListP2SVPNGatewaysResult) MarshalJSON() ([]byte, error) { 8850 objectMap := make(map[string]interface{}) 8851 populate(objectMap, "nextLink", l.NextLink) 8852 populate(objectMap, "value", l.Value) 8853 return json.Marshal(objectMap) 8854} 8855 8856// ListVPNConnectionsResult - Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and 8857// a URL nextLink to get the next set of results. 8858type ListVPNConnectionsResult struct { 8859 // URL to get the next set of operation list results if there are any. 8860 NextLink *string `json:"nextLink,omitempty"` 8861 8862 // List of Vpn Connections. 8863 Value []*VPNConnection `json:"value,omitempty"` 8864} 8865 8866// MarshalJSON implements the json.Marshaller interface for type ListVPNConnectionsResult. 8867func (l ListVPNConnectionsResult) MarshalJSON() ([]byte, error) { 8868 objectMap := make(map[string]interface{}) 8869 populate(objectMap, "nextLink", l.NextLink) 8870 populate(objectMap, "value", l.Value) 8871 return json.Marshal(objectMap) 8872} 8873 8874// 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 8875// to get the next set of results. 8876type ListVPNGatewayNatRulesResult struct { 8877 // URL to get the next set of operation list results if there are any. 8878 NextLink *string `json:"nextLink,omitempty"` 8879 8880 // List of Nat Rules. 8881 Value []*VPNGatewayNatRule `json:"value,omitempty"` 8882} 8883 8884// MarshalJSON implements the json.Marshaller interface for type ListVPNGatewayNatRulesResult. 8885func (l ListVPNGatewayNatRulesResult) MarshalJSON() ([]byte, error) { 8886 objectMap := make(map[string]interface{}) 8887 populate(objectMap, "nextLink", l.NextLink) 8888 populate(objectMap, "value", l.Value) 8889 return json.Marshal(objectMap) 8890} 8891 8892// 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. 8893type ListVPNGatewaysResult struct { 8894 // URL to get the next set of operation list results if there are any. 8895 NextLink *string `json:"nextLink,omitempty"` 8896 8897 // List of VpnGateways. 8898 Value []*VPNGateway `json:"value,omitempty"` 8899} 8900 8901// MarshalJSON implements the json.Marshaller interface for type ListVPNGatewaysResult. 8902func (l ListVPNGatewaysResult) MarshalJSON() ([]byte, error) { 8903 objectMap := make(map[string]interface{}) 8904 populate(objectMap, "nextLink", l.NextLink) 8905 populate(objectMap, "value", l.Value) 8906 return json.Marshal(objectMap) 8907} 8908 8909// ListVPNServerConfigurationsResult - Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL 8910// nextLink to get the next set of results. 8911type ListVPNServerConfigurationsResult struct { 8912 // URL to get the next set of operation list results if there are any. 8913 NextLink *string `json:"nextLink,omitempty"` 8914 8915 // List of VpnServerConfigurations. 8916 Value []*VPNServerConfiguration `json:"value,omitempty"` 8917} 8918 8919// MarshalJSON implements the json.Marshaller interface for type ListVPNServerConfigurationsResult. 8920func (l ListVPNServerConfigurationsResult) MarshalJSON() ([]byte, error) { 8921 objectMap := make(map[string]interface{}) 8922 populate(objectMap, "nextLink", l.NextLink) 8923 populate(objectMap, "value", l.Value) 8924 return json.Marshal(objectMap) 8925} 8926 8927// ListVPNSiteLinkConnectionsResult - Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections 8928// and a URL nextLink to get the next set of results. 8929type ListVPNSiteLinkConnectionsResult struct { 8930 // URL to get the next set of operation list results if there are any. 8931 NextLink *string `json:"nextLink,omitempty"` 8932 8933 // List of VpnSiteLinkConnections. 8934 Value []*VPNSiteLinkConnection `json:"value,omitempty"` 8935} 8936 8937// MarshalJSON implements the json.Marshaller interface for type ListVPNSiteLinkConnectionsResult. 8938func (l ListVPNSiteLinkConnectionsResult) MarshalJSON() ([]byte, error) { 8939 objectMap := make(map[string]interface{}) 8940 populate(objectMap, "nextLink", l.NextLink) 8941 populate(objectMap, "value", l.Value) 8942 return json.Marshal(objectMap) 8943} 8944 8945// 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. 8946type ListVPNSiteLinksResult struct { 8947 // URL to get the next set of operation list results if there are any. 8948 NextLink *string `json:"nextLink,omitempty"` 8949 8950 // List of VpnSitesLinks. 8951 Value []*VPNSiteLink `json:"value,omitempty"` 8952} 8953 8954// MarshalJSON implements the json.Marshaller interface for type ListVPNSiteLinksResult. 8955func (l ListVPNSiteLinksResult) MarshalJSON() ([]byte, error) { 8956 objectMap := make(map[string]interface{}) 8957 populate(objectMap, "nextLink", l.NextLink) 8958 populate(objectMap, "value", l.Value) 8959 return json.Marshal(objectMap) 8960} 8961 8962// 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. 8963type ListVPNSitesResult struct { 8964 // URL to get the next set of operation list results if there are any. 8965 NextLink *string `json:"nextLink,omitempty"` 8966 8967 // List of VpnSites. 8968 Value []*VPNSite `json:"value,omitempty"` 8969} 8970 8971// MarshalJSON implements the json.Marshaller interface for type ListVPNSitesResult. 8972func (l ListVPNSitesResult) MarshalJSON() ([]byte, error) { 8973 objectMap := make(map[string]interface{}) 8974 populate(objectMap, "nextLink", l.NextLink) 8975 populate(objectMap, "value", l.Value) 8976 return json.Marshal(objectMap) 8977} 8978 8979// ListVirtualHubBgpConnectionResults - VirtualHubBgpConnections list. 8980type ListVirtualHubBgpConnectionResults struct { 8981 // URL to get the next set of results. 8982 NextLink *string `json:"nextLink,omitempty"` 8983 8984 // The list of VirtualHubBgpConnections. 8985 Value []*BgpConnection `json:"value,omitempty"` 8986} 8987 8988// MarshalJSON implements the json.Marshaller interface for type ListVirtualHubBgpConnectionResults. 8989func (l ListVirtualHubBgpConnectionResults) MarshalJSON() ([]byte, error) { 8990 objectMap := make(map[string]interface{}) 8991 populate(objectMap, "nextLink", l.NextLink) 8992 populate(objectMap, "value", l.Value) 8993 return json.Marshal(objectMap) 8994} 8995 8996// ListVirtualHubIPConfigurationResults - VirtualHubIpConfigurations list. 8997type ListVirtualHubIPConfigurationResults struct { 8998 // URL to get the next set of results. 8999 NextLink *string `json:"nextLink,omitempty"` 9000 9001 // The list of VirtualHubIpConfigurations. 9002 Value []*HubIPConfiguration `json:"value,omitempty"` 9003} 9004 9005// MarshalJSON implements the json.Marshaller interface for type ListVirtualHubIPConfigurationResults. 9006func (l ListVirtualHubIPConfigurationResults) MarshalJSON() ([]byte, error) { 9007 objectMap := make(map[string]interface{}) 9008 populate(objectMap, "nextLink", l.NextLink) 9009 populate(objectMap, "value", l.Value) 9010 return json.Marshal(objectMap) 9011} 9012 9013// ListVirtualHubRouteTableV2SResult - List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results. 9014type ListVirtualHubRouteTableV2SResult struct { 9015 // URL to get the next set of operation list results if there are any. 9016 NextLink *string `json:"nextLink,omitempty"` 9017 9018 // List of VirtualHubRouteTableV2s. 9019 Value []*VirtualHubRouteTableV2 `json:"value,omitempty"` 9020} 9021 9022// MarshalJSON implements the json.Marshaller interface for type ListVirtualHubRouteTableV2SResult. 9023func (l ListVirtualHubRouteTableV2SResult) MarshalJSON() ([]byte, error) { 9024 objectMap := make(map[string]interface{}) 9025 populate(objectMap, "nextLink", l.NextLink) 9026 populate(objectMap, "value", l.Value) 9027 return json.Marshal(objectMap) 9028} 9029 9030// 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. 9031type ListVirtualHubsResult struct { 9032 // URL to get the next set of operation list results if there are any. 9033 NextLink *string `json:"nextLink,omitempty"` 9034 9035 // List of VirtualHubs. 9036 Value []*VirtualHub `json:"value,omitempty"` 9037} 9038 9039// MarshalJSON implements the json.Marshaller interface for type ListVirtualHubsResult. 9040func (l ListVirtualHubsResult) MarshalJSON() ([]byte, error) { 9041 objectMap := make(map[string]interface{}) 9042 populate(objectMap, "nextLink", l.NextLink) 9043 populate(objectMap, "value", l.Value) 9044 return json.Marshal(objectMap) 9045} 9046 9047// ListVirtualNetworkGatewayNatRulesResult - Result of the request to list all nat rules to a virtual network gateway. It contains a list of Nat rules and 9048// a URL nextLink to get the next set of results. 9049type ListVirtualNetworkGatewayNatRulesResult struct { 9050 // URL to get the next set of operation list results if there are any. 9051 NextLink *string `json:"nextLink,omitempty"` 9052 9053 // List of Nat Rules. 9054 Value []*VirtualNetworkGatewayNatRule `json:"value,omitempty"` 9055} 9056 9057// MarshalJSON implements the json.Marshaller interface for type ListVirtualNetworkGatewayNatRulesResult. 9058func (l ListVirtualNetworkGatewayNatRulesResult) MarshalJSON() ([]byte, error) { 9059 objectMap := make(map[string]interface{}) 9060 populate(objectMap, "nextLink", l.NextLink) 9061 populate(objectMap, "value", l.Value) 9062 return json.Marshal(objectMap) 9063} 9064 9065// 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. 9066type ListVirtualWANsResult struct { 9067 // URL to get the next set of operation list results if there are any. 9068 NextLink *string `json:"nextLink,omitempty"` 9069 9070 // List of VirtualWANs. 9071 Value []*VirtualWAN `json:"value,omitempty"` 9072} 9073 9074// MarshalJSON implements the json.Marshaller interface for type ListVirtualWANsResult. 9075func (l ListVirtualWANsResult) MarshalJSON() ([]byte, error) { 9076 objectMap := make(map[string]interface{}) 9077 populate(objectMap, "nextLink", l.NextLink) 9078 populate(objectMap, "value", l.Value) 9079 return json.Marshal(objectMap) 9080} 9081 9082// LoadBalancer resource. 9083type LoadBalancer struct { 9084 Resource 9085 // The extended location of the load balancer. 9086 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 9087 9088 // Properties of load balancer. 9089 Properties *LoadBalancerPropertiesFormat `json:"properties,omitempty"` 9090 9091 // The load balancer SKU. 9092 SKU *LoadBalancerSKU `json:"sku,omitempty"` 9093 9094 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9095 Etag *string `json:"etag,omitempty" azure:"ro"` 9096} 9097 9098// MarshalJSON implements the json.Marshaller interface for type LoadBalancer. 9099func (l LoadBalancer) MarshalJSON() ([]byte, error) { 9100 objectMap := l.Resource.marshalInternal() 9101 populate(objectMap, "etag", l.Etag) 9102 populate(objectMap, "extendedLocation", l.ExtendedLocation) 9103 populate(objectMap, "properties", l.Properties) 9104 populate(objectMap, "sku", l.SKU) 9105 return json.Marshal(objectMap) 9106} 9107 9108// LoadBalancerBackendAddress - Load balancer backend addresses. 9109type LoadBalancerBackendAddress struct { 9110 // Name of the backend address. 9111 Name *string `json:"name,omitempty"` 9112 9113 // Properties of load balancer backend address pool. 9114 Properties *LoadBalancerBackendAddressPropertiesFormat `json:"properties,omitempty"` 9115} 9116 9117// LoadBalancerBackendAddressPoolListResult - Response for ListBackendAddressPool API service call. 9118type LoadBalancerBackendAddressPoolListResult struct { 9119 // A list of backend address pools in a load balancer. 9120 Value []*BackendAddressPool `json:"value,omitempty"` 9121 9122 // READ-ONLY; The URL to get the next set of results. 9123 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9124} 9125 9126// MarshalJSON implements the json.Marshaller interface for type LoadBalancerBackendAddressPoolListResult. 9127func (l LoadBalancerBackendAddressPoolListResult) MarshalJSON() ([]byte, error) { 9128 objectMap := make(map[string]interface{}) 9129 populate(objectMap, "nextLink", l.NextLink) 9130 populate(objectMap, "value", l.Value) 9131 return json.Marshal(objectMap) 9132} 9133 9134// LoadBalancerBackendAddressPoolsBeginCreateOrUpdateOptions contains the optional parameters for the LoadBalancerBackendAddressPools.BeginCreateOrUpdate 9135// method. 9136type LoadBalancerBackendAddressPoolsBeginCreateOrUpdateOptions struct { 9137 // placeholder for future optional parameters 9138} 9139 9140// LoadBalancerBackendAddressPoolsBeginDeleteOptions contains the optional parameters for the LoadBalancerBackendAddressPools.BeginDelete method. 9141type LoadBalancerBackendAddressPoolsBeginDeleteOptions struct { 9142 // placeholder for future optional parameters 9143} 9144 9145// LoadBalancerBackendAddressPoolsGetOptions contains the optional parameters for the LoadBalancerBackendAddressPools.Get method. 9146type LoadBalancerBackendAddressPoolsGetOptions struct { 9147 // placeholder for future optional parameters 9148} 9149 9150// LoadBalancerBackendAddressPoolsListOptions contains the optional parameters for the LoadBalancerBackendAddressPools.List method. 9151type LoadBalancerBackendAddressPoolsListOptions struct { 9152 // placeholder for future optional parameters 9153} 9154 9155// LoadBalancerBackendAddressPropertiesFormat - Properties of the load balancer backend addresses. 9156type LoadBalancerBackendAddressPropertiesFormat struct { 9157 // IP Address belonging to the referenced virtual network. 9158 IPAddress *string `json:"ipAddress,omitempty"` 9159 9160 // Reference to the frontend ip address configuration defined in regional loadbalancer. 9161 LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIPConfiguration,omitempty"` 9162 9163 // Reference to an existing subnet. 9164 Subnet *SubResource `json:"subnet,omitempty"` 9165 9166 // Reference to an existing virtual network. 9167 VirtualNetwork *SubResource `json:"virtualNetwork,omitempty"` 9168 9169 // READ-ONLY; Reference to IP address defined in network interfaces. 9170 NetworkInterfaceIPConfiguration *SubResource `json:"networkInterfaceIPConfiguration,omitempty" azure:"ro"` 9171} 9172 9173// LoadBalancerFrontendIPConfigurationListResult - Response for ListFrontendIPConfiguration API service call. 9174type LoadBalancerFrontendIPConfigurationListResult struct { 9175 // A list of frontend IP configurations in a load balancer. 9176 Value []*FrontendIPConfiguration `json:"value,omitempty"` 9177 9178 // READ-ONLY; The URL to get the next set of results. 9179 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9180} 9181 9182// MarshalJSON implements the json.Marshaller interface for type LoadBalancerFrontendIPConfigurationListResult. 9183func (l LoadBalancerFrontendIPConfigurationListResult) MarshalJSON() ([]byte, error) { 9184 objectMap := make(map[string]interface{}) 9185 populate(objectMap, "nextLink", l.NextLink) 9186 populate(objectMap, "value", l.Value) 9187 return json.Marshal(objectMap) 9188} 9189 9190// LoadBalancerFrontendIPConfigurationsGetOptions contains the optional parameters for the LoadBalancerFrontendIPConfigurations.Get method. 9191type LoadBalancerFrontendIPConfigurationsGetOptions struct { 9192 // placeholder for future optional parameters 9193} 9194 9195// LoadBalancerFrontendIPConfigurationsListOptions contains the optional parameters for the LoadBalancerFrontendIPConfigurations.List method. 9196type LoadBalancerFrontendIPConfigurationsListOptions struct { 9197 // placeholder for future optional parameters 9198} 9199 9200// LoadBalancerListResult - Response for ListLoadBalancers API service call. 9201type LoadBalancerListResult struct { 9202 // A list of load balancers in a resource group. 9203 Value []*LoadBalancer `json:"value,omitempty"` 9204 9205 // READ-ONLY; The URL to get the next set of results. 9206 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9207} 9208 9209// MarshalJSON implements the json.Marshaller interface for type LoadBalancerListResult. 9210func (l LoadBalancerListResult) MarshalJSON() ([]byte, error) { 9211 objectMap := make(map[string]interface{}) 9212 populate(objectMap, "nextLink", l.NextLink) 9213 populate(objectMap, "value", l.Value) 9214 return json.Marshal(objectMap) 9215} 9216 9217// LoadBalancerLoadBalancingRuleListResult - Response for ListLoadBalancingRule API service call. 9218type LoadBalancerLoadBalancingRuleListResult struct { 9219 // A list of load balancing rules in a load balancer. 9220 Value []*LoadBalancingRule `json:"value,omitempty"` 9221 9222 // READ-ONLY; The URL to get the next set of results. 9223 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9224} 9225 9226// MarshalJSON implements the json.Marshaller interface for type LoadBalancerLoadBalancingRuleListResult. 9227func (l LoadBalancerLoadBalancingRuleListResult) MarshalJSON() ([]byte, error) { 9228 objectMap := make(map[string]interface{}) 9229 populate(objectMap, "nextLink", l.NextLink) 9230 populate(objectMap, "value", l.Value) 9231 return json.Marshal(objectMap) 9232} 9233 9234// LoadBalancerLoadBalancingRulesGetOptions contains the optional parameters for the LoadBalancerLoadBalancingRules.Get method. 9235type LoadBalancerLoadBalancingRulesGetOptions struct { 9236 // placeholder for future optional parameters 9237} 9238 9239// LoadBalancerLoadBalancingRulesListOptions contains the optional parameters for the LoadBalancerLoadBalancingRules.List method. 9240type LoadBalancerLoadBalancingRulesListOptions struct { 9241 // placeholder for future optional parameters 9242} 9243 9244// LoadBalancerNetworkInterfacesListOptions contains the optional parameters for the LoadBalancerNetworkInterfaces.List method. 9245type LoadBalancerNetworkInterfacesListOptions struct { 9246 // placeholder for future optional parameters 9247} 9248 9249// LoadBalancerOutboundRuleListResult - Response for ListOutboundRule API service call. 9250type LoadBalancerOutboundRuleListResult struct { 9251 // A list of outbound rules in a load balancer. 9252 Value []*OutboundRule `json:"value,omitempty"` 9253 9254 // READ-ONLY; The URL to get the next set of results. 9255 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9256} 9257 9258// MarshalJSON implements the json.Marshaller interface for type LoadBalancerOutboundRuleListResult. 9259func (l LoadBalancerOutboundRuleListResult) MarshalJSON() ([]byte, error) { 9260 objectMap := make(map[string]interface{}) 9261 populate(objectMap, "nextLink", l.NextLink) 9262 populate(objectMap, "value", l.Value) 9263 return json.Marshal(objectMap) 9264} 9265 9266// LoadBalancerOutboundRulesGetOptions contains the optional parameters for the LoadBalancerOutboundRules.Get method. 9267type LoadBalancerOutboundRulesGetOptions struct { 9268 // placeholder for future optional parameters 9269} 9270 9271// LoadBalancerOutboundRulesListOptions contains the optional parameters for the LoadBalancerOutboundRules.List method. 9272type LoadBalancerOutboundRulesListOptions struct { 9273 // placeholder for future optional parameters 9274} 9275 9276// LoadBalancerProbeListResult - Response for ListProbe API service call. 9277type LoadBalancerProbeListResult struct { 9278 // A list of probes in a load balancer. 9279 Value []*Probe `json:"value,omitempty"` 9280 9281 // READ-ONLY; The URL to get the next set of results. 9282 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9283} 9284 9285// MarshalJSON implements the json.Marshaller interface for type LoadBalancerProbeListResult. 9286func (l LoadBalancerProbeListResult) MarshalJSON() ([]byte, error) { 9287 objectMap := make(map[string]interface{}) 9288 populate(objectMap, "nextLink", l.NextLink) 9289 populate(objectMap, "value", l.Value) 9290 return json.Marshal(objectMap) 9291} 9292 9293// LoadBalancerProbesGetOptions contains the optional parameters for the LoadBalancerProbes.Get method. 9294type LoadBalancerProbesGetOptions struct { 9295 // placeholder for future optional parameters 9296} 9297 9298// LoadBalancerProbesListOptions contains the optional parameters for the LoadBalancerProbes.List method. 9299type LoadBalancerProbesListOptions struct { 9300 // placeholder for future optional parameters 9301} 9302 9303// LoadBalancerPropertiesFormat - Properties of the load balancer. 9304type LoadBalancerPropertiesFormat struct { 9305 // Collection of backend address pools used by a load balancer. 9306 BackendAddressPools []*BackendAddressPool `json:"backendAddressPools,omitempty"` 9307 9308 // Object representing the frontend IPs to be used for the load balancer. 9309 FrontendIPConfigurations []*FrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` 9310 9311 // 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 9312 // for each NIC associated with the Load 9313 // 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. 9314 // Inbound NAT pools are referenced from virtual 9315 // machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual 9316 // inbound NAT rules. 9317 InboundNatPools []*InboundNatPool `json:"inboundNatPools,omitempty"` 9318 9319 // 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 9320 // NAT pool. Inbound NAT pools are referenced from 9321 // virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual 9322 // inbound NAT rules. 9323 InboundNatRules []*InboundNatRule `json:"inboundNatRules,omitempty"` 9324 9325 // Object collection representing the load balancing rules Gets the provisioning. 9326 LoadBalancingRules []*LoadBalancingRule `json:"loadBalancingRules,omitempty"` 9327 9328 // The outbound rules. 9329 OutboundRules []*OutboundRule `json:"outboundRules,omitempty"` 9330 9331 // Collection of probe objects used in the load balancer. 9332 Probes []*Probe `json:"probes,omitempty"` 9333 9334 // READ-ONLY; The provisioning state of the load balancer resource. 9335 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9336 9337 // READ-ONLY; The resource GUID property of the load balancer resource. 9338 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 9339} 9340 9341// MarshalJSON implements the json.Marshaller interface for type LoadBalancerPropertiesFormat. 9342func (l LoadBalancerPropertiesFormat) MarshalJSON() ([]byte, error) { 9343 objectMap := make(map[string]interface{}) 9344 populate(objectMap, "backendAddressPools", l.BackendAddressPools) 9345 populate(objectMap, "frontendIPConfigurations", l.FrontendIPConfigurations) 9346 populate(objectMap, "inboundNatPools", l.InboundNatPools) 9347 populate(objectMap, "inboundNatRules", l.InboundNatRules) 9348 populate(objectMap, "loadBalancingRules", l.LoadBalancingRules) 9349 populate(objectMap, "outboundRules", l.OutboundRules) 9350 populate(objectMap, "probes", l.Probes) 9351 populate(objectMap, "provisioningState", l.ProvisioningState) 9352 populate(objectMap, "resourceGuid", l.ResourceGUID) 9353 return json.Marshal(objectMap) 9354} 9355 9356// LoadBalancerSKU - SKU of a load balancer. 9357type LoadBalancerSKU struct { 9358 // Name of a load balancer SKU. 9359 Name *LoadBalancerSKUName `json:"name,omitempty"` 9360 9361 // Tier of a load balancer SKU. 9362 Tier *LoadBalancerSKUTier `json:"tier,omitempty"` 9363} 9364 9365// LoadBalancerVipSwapRequest - The request for a VIP swap. 9366type LoadBalancerVipSwapRequest struct { 9367 // A list of frontend IP configuration resources that should swap VIPs. 9368 FrontendIPConfigurations []*LoadBalancerVipSwapRequestFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` 9369} 9370 9371// MarshalJSON implements the json.Marshaller interface for type LoadBalancerVipSwapRequest. 9372func (l LoadBalancerVipSwapRequest) MarshalJSON() ([]byte, error) { 9373 objectMap := make(map[string]interface{}) 9374 populate(objectMap, "frontendIPConfigurations", l.FrontendIPConfigurations) 9375 return json.Marshal(objectMap) 9376} 9377 9378// LoadBalancerVipSwapRequestFrontendIPConfiguration - VIP swap request's frontend IP configuration object. 9379type LoadBalancerVipSwapRequestFrontendIPConfiguration struct { 9380 // The ID of frontend IP configuration resource. 9381 ID *string `json:"id,omitempty"` 9382 9383 // The properties of VIP swap request's frontend IP configuration object. 9384 Properties *LoadBalancerVipSwapRequestFrontendIPConfigurationProperties `json:"properties,omitempty"` 9385} 9386 9387// LoadBalancerVipSwapRequestFrontendIPConfigurationProperties - The properties of VIP swap request's frontend IP configuration object. 9388type LoadBalancerVipSwapRequestFrontendIPConfigurationProperties struct { 9389 // A reference to public IP address resource. 9390 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 9391} 9392 9393// LoadBalancersBeginCreateOrUpdateOptions contains the optional parameters for the LoadBalancers.BeginCreateOrUpdate method. 9394type LoadBalancersBeginCreateOrUpdateOptions struct { 9395 // placeholder for future optional parameters 9396} 9397 9398// LoadBalancersBeginDeleteOptions contains the optional parameters for the LoadBalancers.BeginDelete method. 9399type LoadBalancersBeginDeleteOptions struct { 9400 // placeholder for future optional parameters 9401} 9402 9403// LoadBalancersBeginSwapPublicIPAddressesOptions contains the optional parameters for the LoadBalancers.BeginSwapPublicIPAddresses method. 9404type LoadBalancersBeginSwapPublicIPAddressesOptions struct { 9405 // placeholder for future optional parameters 9406} 9407 9408// LoadBalancersGetOptions contains the optional parameters for the LoadBalancers.Get method. 9409type LoadBalancersGetOptions struct { 9410 // Expands referenced resources. 9411 Expand *string 9412} 9413 9414// LoadBalancersListAllOptions contains the optional parameters for the LoadBalancers.ListAll method. 9415type LoadBalancersListAllOptions struct { 9416 // placeholder for future optional parameters 9417} 9418 9419// LoadBalancersListOptions contains the optional parameters for the LoadBalancers.List method. 9420type LoadBalancersListOptions struct { 9421 // placeholder for future optional parameters 9422} 9423 9424// LoadBalancersUpdateTagsOptions contains the optional parameters for the LoadBalancers.UpdateTags method. 9425type LoadBalancersUpdateTagsOptions struct { 9426 // placeholder for future optional parameters 9427} 9428 9429// LoadBalancingRule - A load balancing rule for a load balancer. 9430type LoadBalancingRule struct { 9431 SubResource 9432 // 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. 9433 Name *string `json:"name,omitempty"` 9434 9435 // Properties of load balancer load balancing rule. 9436 Properties *LoadBalancingRulePropertiesFormat `json:"properties,omitempty"` 9437 9438 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9439 Etag *string `json:"etag,omitempty" azure:"ro"` 9440 9441 // READ-ONLY; Type of the resource. 9442 Type *string `json:"type,omitempty" azure:"ro"` 9443} 9444 9445// MarshalJSON implements the json.Marshaller interface for type LoadBalancingRule. 9446func (l LoadBalancingRule) MarshalJSON() ([]byte, error) { 9447 objectMap := l.SubResource.marshalInternal() 9448 populate(objectMap, "etag", l.Etag) 9449 populate(objectMap, "name", l.Name) 9450 populate(objectMap, "properties", l.Properties) 9451 populate(objectMap, "type", l.Type) 9452 return json.Marshal(objectMap) 9453} 9454 9455// LoadBalancingRulePropertiesFormat - Properties of the load balancer. 9456type LoadBalancingRulePropertiesFormat struct { 9457 // 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 9458 // 65534. Note that value 0 enables "Any Port". 9459 FrontendPort *int32 `json:"frontendPort,omitempty"` 9460 9461 // REQUIRED; The reference to the transport protocol used by the load balancing rule. 9462 Protocol *TransportProtocol `json:"protocol,omitempty"` 9463 9464 // A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. 9465 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 9466 9467 // An array of references to pool of DIPs. 9468 BackendAddressPools []*SubResource `json:"backendAddressPools,omitempty"` 9469 9470 // The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port". 9471 BackendPort *int32 `json:"backendPort,omitempty"` 9472 9473 // Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. 9474 DisableOutboundSnat *bool `json:"disableOutboundSnat,omitempty"` 9475 9476 // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required 9477 // when using the SQL AlwaysOn Availability Groups 9478 // in SQL server. This setting can't be changed after you create the endpoint. 9479 EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` 9480 9481 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 9482 // TCP. 9483 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 9484 9485 // A reference to frontend IP addresses. 9486 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 9487 9488 // 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 9489 // the protocol is set to TCP. 9490 IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 9491 9492 // The load distribution policy for this rule. 9493 LoadDistribution *LoadDistribution `json:"loadDistribution,omitempty"` 9494 9495 // The reference to the load balancer probe used by the load balancing rule. 9496 Probe *SubResource `json:"probe,omitempty"` 9497 9498 // READ-ONLY; The provisioning state of the load balancing rule resource. 9499 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9500} 9501 9502// MarshalJSON implements the json.Marshaller interface for type LoadBalancingRulePropertiesFormat. 9503func (l LoadBalancingRulePropertiesFormat) MarshalJSON() ([]byte, error) { 9504 objectMap := make(map[string]interface{}) 9505 populate(objectMap, "backendAddressPool", l.BackendAddressPool) 9506 populate(objectMap, "backendAddressPools", l.BackendAddressPools) 9507 populate(objectMap, "backendPort", l.BackendPort) 9508 populate(objectMap, "disableOutboundSnat", l.DisableOutboundSnat) 9509 populate(objectMap, "enableFloatingIP", l.EnableFloatingIP) 9510 populate(objectMap, "enableTcpReset", l.EnableTCPReset) 9511 populate(objectMap, "frontendIPConfiguration", l.FrontendIPConfiguration) 9512 populate(objectMap, "frontendPort", l.FrontendPort) 9513 populate(objectMap, "idleTimeoutInMinutes", l.IdleTimeoutInMinutes) 9514 populate(objectMap, "loadDistribution", l.LoadDistribution) 9515 populate(objectMap, "probe", l.Probe) 9516 populate(objectMap, "protocol", l.Protocol) 9517 populate(objectMap, "provisioningState", l.ProvisioningState) 9518 return json.Marshal(objectMap) 9519} 9520 9521// LocalNetworkGateway - A common class for general resource information. 9522type LocalNetworkGateway struct { 9523 Resource 9524 // REQUIRED; Properties of the local network gateway. 9525 Properties *LocalNetworkGatewayPropertiesFormat `json:"properties,omitempty"` 9526 9527 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9528 Etag *string `json:"etag,omitempty" azure:"ro"` 9529} 9530 9531// MarshalJSON implements the json.Marshaller interface for type LocalNetworkGateway. 9532func (l LocalNetworkGateway) MarshalJSON() ([]byte, error) { 9533 objectMap := l.Resource.marshalInternal() 9534 populate(objectMap, "etag", l.Etag) 9535 populate(objectMap, "properties", l.Properties) 9536 return json.Marshal(objectMap) 9537} 9538 9539// LocalNetworkGatewayListResult - Response for ListLocalNetworkGateways API service call. 9540type LocalNetworkGatewayListResult struct { 9541 // A list of local network gateways that exists in a resource group. 9542 Value []*LocalNetworkGateway `json:"value,omitempty"` 9543 9544 // READ-ONLY; The URL to get the next set of results. 9545 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9546} 9547 9548// MarshalJSON implements the json.Marshaller interface for type LocalNetworkGatewayListResult. 9549func (l LocalNetworkGatewayListResult) MarshalJSON() ([]byte, error) { 9550 objectMap := make(map[string]interface{}) 9551 populate(objectMap, "nextLink", l.NextLink) 9552 populate(objectMap, "value", l.Value) 9553 return json.Marshal(objectMap) 9554} 9555 9556// LocalNetworkGatewayPropertiesFormat - LocalNetworkGateway properties. 9557type LocalNetworkGatewayPropertiesFormat struct { 9558 // Local network gateway's BGP speaker settings. 9559 BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` 9560 9561 // FQDN of local network gateway. 9562 Fqdn *string `json:"fqdn,omitempty"` 9563 9564 // IP address of local network gateway. 9565 GatewayIPAddress *string `json:"gatewayIpAddress,omitempty"` 9566 9567 // Local network site address space. 9568 LocalNetworkAddressSpace *AddressSpace `json:"localNetworkAddressSpace,omitempty"` 9569 9570 // READ-ONLY; The provisioning state of the local network gateway resource. 9571 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9572 9573 // READ-ONLY; The resource GUID property of the local network gateway resource. 9574 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 9575} 9576 9577// LocalNetworkGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the LocalNetworkGateways.BeginCreateOrUpdate method. 9578type LocalNetworkGatewaysBeginCreateOrUpdateOptions struct { 9579 // placeholder for future optional parameters 9580} 9581 9582// LocalNetworkGatewaysBeginDeleteOptions contains the optional parameters for the LocalNetworkGateways.BeginDelete method. 9583type LocalNetworkGatewaysBeginDeleteOptions struct { 9584 // placeholder for future optional parameters 9585} 9586 9587// LocalNetworkGatewaysGetOptions contains the optional parameters for the LocalNetworkGateways.Get method. 9588type LocalNetworkGatewaysGetOptions struct { 9589 // placeholder for future optional parameters 9590} 9591 9592// LocalNetworkGatewaysListOptions contains the optional parameters for the LocalNetworkGateways.List method. 9593type LocalNetworkGatewaysListOptions struct { 9594 // placeholder for future optional parameters 9595} 9596 9597// LocalNetworkGatewaysUpdateTagsOptions contains the optional parameters for the LocalNetworkGateways.UpdateTags method. 9598type LocalNetworkGatewaysUpdateTagsOptions struct { 9599 // placeholder for future optional parameters 9600} 9601 9602// LogSpecification - Description of logging specification. 9603type LogSpecification struct { 9604 // Duration of the blob. 9605 BlobDuration *string `json:"blobDuration,omitempty"` 9606 9607 // The display name of the specification. 9608 DisplayName *string `json:"displayName,omitempty"` 9609 9610 // The name of the specification. 9611 Name *string `json:"name,omitempty"` 9612} 9613 9614// ManagedRuleGroupOverride - Defines a managed rule group override setting. 9615type ManagedRuleGroupOverride struct { 9616 // REQUIRED; The managed rule group to override. 9617 RuleGroupName *string `json:"ruleGroupName,omitempty"` 9618 9619 // List of rules that will be disabled. If none specified, all rules in the group will be disabled. 9620 Rules []*ManagedRuleOverride `json:"rules,omitempty"` 9621} 9622 9623// MarshalJSON implements the json.Marshaller interface for type ManagedRuleGroupOverride. 9624func (m ManagedRuleGroupOverride) MarshalJSON() ([]byte, error) { 9625 objectMap := make(map[string]interface{}) 9626 populate(objectMap, "ruleGroupName", m.RuleGroupName) 9627 populate(objectMap, "rules", m.Rules) 9628 return json.Marshal(objectMap) 9629} 9630 9631// ManagedRuleOverride - Defines a managed rule group override setting. 9632type ManagedRuleOverride struct { 9633 // REQUIRED; Identifier for the managed rule. 9634 RuleID *string `json:"ruleId,omitempty"` 9635 9636 // The state of the managed rule. Defaults to Disabled if not specified. 9637 State *ManagedRuleEnabledState `json:"state,omitempty"` 9638} 9639 9640// ManagedRuleSet - Defines a managed rule set. 9641type ManagedRuleSet struct { 9642 // REQUIRED; Defines the rule set type to use. 9643 RuleSetType *string `json:"ruleSetType,omitempty"` 9644 9645 // REQUIRED; Defines the version of the rule set to use. 9646 RuleSetVersion *string `json:"ruleSetVersion,omitempty"` 9647 9648 // Defines the rule group overrides to apply to the rule set. 9649 RuleGroupOverrides []*ManagedRuleGroupOverride `json:"ruleGroupOverrides,omitempty"` 9650} 9651 9652// MarshalJSON implements the json.Marshaller interface for type ManagedRuleSet. 9653func (m ManagedRuleSet) MarshalJSON() ([]byte, error) { 9654 objectMap := make(map[string]interface{}) 9655 populate(objectMap, "ruleGroupOverrides", m.RuleGroupOverrides) 9656 populate(objectMap, "ruleSetType", m.RuleSetType) 9657 populate(objectMap, "ruleSetVersion", m.RuleSetVersion) 9658 return json.Marshal(objectMap) 9659} 9660 9661// ManagedRulesDefinition - Allow to exclude some variable satisfy the condition for the WAF check. 9662type ManagedRulesDefinition struct { 9663 // REQUIRED; The managed rule sets that are associated with the policy. 9664 ManagedRuleSets []*ManagedRuleSet `json:"managedRuleSets,omitempty"` 9665 9666 // The Exclusions that are applied on the policy. 9667 Exclusions []*OwaspCrsExclusionEntry `json:"exclusions,omitempty"` 9668} 9669 9670// MarshalJSON implements the json.Marshaller interface for type ManagedRulesDefinition. 9671func (m ManagedRulesDefinition) MarshalJSON() ([]byte, error) { 9672 objectMap := make(map[string]interface{}) 9673 populate(objectMap, "exclusions", m.Exclusions) 9674 populate(objectMap, "managedRuleSets", m.ManagedRuleSets) 9675 return json.Marshal(objectMap) 9676} 9677 9678// ManagedServiceIdentity - Identity for the resource. 9679type ManagedServiceIdentity struct { 9680 // The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned 9681 // identities. The type 'None' will remove any 9682 // identities from the virtual machine. 9683 Type *ResourceIdentityType `json:"type,omitempty"` 9684 9685 // The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: 9686 // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 9687 UserAssignedIdentities map[string]*Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties `json:"userAssignedIdentities,omitempty"` 9688 9689 // READ-ONLY; The principal id of the system assigned identity. This property will only be provided for a system assigned identity. 9690 PrincipalID *string `json:"principalId,omitempty" azure:"ro"` 9691 9692 // READ-ONLY; The tenant id of the system assigned identity. This property will only be provided for a system assigned identity. 9693 TenantID *string `json:"tenantId,omitempty" azure:"ro"` 9694} 9695 9696// MarshalJSON implements the json.Marshaller interface for type ManagedServiceIdentity. 9697func (m ManagedServiceIdentity) MarshalJSON() ([]byte, error) { 9698 objectMap := make(map[string]interface{}) 9699 populate(objectMap, "principalId", m.PrincipalID) 9700 populate(objectMap, "tenantId", m.TenantID) 9701 populate(objectMap, "type", m.Type) 9702 populate(objectMap, "userAssignedIdentities", m.UserAssignedIdentities) 9703 return json.Marshal(objectMap) 9704} 9705 9706// MatchCondition - Define match conditions. 9707type MatchCondition struct { 9708 // REQUIRED; Match value. 9709 MatchValues []*string `json:"matchValues,omitempty"` 9710 9711 // REQUIRED; List of match variables. 9712 MatchVariables []*MatchVariable `json:"matchVariables,omitempty"` 9713 9714 // REQUIRED; The operator to be matched. 9715 Operator *WebApplicationFirewallOperator `json:"operator,omitempty"` 9716 9717 // Whether this is negate condition or not. 9718 NegationConditon *bool `json:"negationConditon,omitempty"` 9719 9720 // List of transforms. 9721 Transforms []*WebApplicationFirewallTransform `json:"transforms,omitempty"` 9722} 9723 9724// MarshalJSON implements the json.Marshaller interface for type MatchCondition. 9725func (m MatchCondition) MarshalJSON() ([]byte, error) { 9726 objectMap := make(map[string]interface{}) 9727 populate(objectMap, "matchValues", m.MatchValues) 9728 populate(objectMap, "matchVariables", m.MatchVariables) 9729 populate(objectMap, "negationConditon", m.NegationConditon) 9730 populate(objectMap, "operator", m.Operator) 9731 populate(objectMap, "transforms", m.Transforms) 9732 return json.Marshal(objectMap) 9733} 9734 9735// MatchVariable - Define match variables. 9736type MatchVariable struct { 9737 // REQUIRED; Match Variable. 9738 VariableName *WebApplicationFirewallMatchVariable `json:"variableName,omitempty"` 9739 9740 // The selector of match variable. 9741 Selector *string `json:"selector,omitempty"` 9742} 9743 9744// MatchedRule - Matched rule. 9745type MatchedRule struct { 9746 // The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'. 9747 Action *string `json:"action,omitempty"` 9748 9749 // Name of the matched network security rule. 9750 RuleName *string `json:"ruleName,omitempty"` 9751} 9752 9753// MetricSpecification - Description of metrics specification. 9754type MetricSpecification struct { 9755 // The aggregation type. 9756 AggregationType *string `json:"aggregationType,omitempty"` 9757 9758 // List of availability. 9759 Availabilities []*Availability `json:"availabilities,omitempty"` 9760 9761 // List of dimensions. 9762 Dimensions []*Dimension `json:"dimensions,omitempty"` 9763 9764 // The description of the metric. 9765 DisplayDescription *string `json:"displayDescription,omitempty"` 9766 9767 // The display name of the metric. 9768 DisplayName *string `json:"displayName,omitempty"` 9769 9770 // Whether regional MDM account enabled. 9771 EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` 9772 9773 // Whether gaps would be filled with zeros. 9774 FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` 9775 9776 // Whether the metric is internal. 9777 IsInternal *bool `json:"isInternal,omitempty"` 9778 9779 // Pattern for the filter of the metric. 9780 MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` 9781 9782 // The name of the metric. 9783 Name *string `json:"name,omitempty"` 9784 9785 // The resource Id dimension name override. 9786 ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` 9787 9788 // The source MDM account. 9789 SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` 9790 9791 // The source MDM namespace. 9792 SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` 9793 9794 // Units the metric to be displayed in. 9795 Unit *string `json:"unit,omitempty"` 9796} 9797 9798// MarshalJSON implements the json.Marshaller interface for type MetricSpecification. 9799func (m MetricSpecification) MarshalJSON() ([]byte, error) { 9800 objectMap := make(map[string]interface{}) 9801 populate(objectMap, "aggregationType", m.AggregationType) 9802 populate(objectMap, "availabilities", m.Availabilities) 9803 populate(objectMap, "dimensions", m.Dimensions) 9804 populate(objectMap, "displayDescription", m.DisplayDescription) 9805 populate(objectMap, "displayName", m.DisplayName) 9806 populate(objectMap, "enableRegionalMdmAccount", m.EnableRegionalMdmAccount) 9807 populate(objectMap, "fillGapWithZero", m.FillGapWithZero) 9808 populate(objectMap, "isInternal", m.IsInternal) 9809 populate(objectMap, "metricFilterPattern", m.MetricFilterPattern) 9810 populate(objectMap, "name", m.Name) 9811 populate(objectMap, "resourceIdDimensionNameOverride", m.ResourceIDDimensionNameOverride) 9812 populate(objectMap, "sourceMdmAccount", m.SourceMdmAccount) 9813 populate(objectMap, "sourceMdmNamespace", m.SourceMdmNamespace) 9814 populate(objectMap, "unit", m.Unit) 9815 return json.Marshal(objectMap) 9816} 9817 9818// NatGateway - Nat Gateway resource. 9819type NatGateway struct { 9820 Resource 9821 // Nat Gateway properties. 9822 Properties *NatGatewayPropertiesFormat `json:"properties,omitempty"` 9823 9824 // The nat gateway SKU. 9825 SKU *NatGatewaySKU `json:"sku,omitempty"` 9826 9827 // A list of availability zones denoting the zone in which Nat Gateway should be deployed. 9828 Zones []*string `json:"zones,omitempty"` 9829 9830 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9831 Etag *string `json:"etag,omitempty" azure:"ro"` 9832} 9833 9834// MarshalJSON implements the json.Marshaller interface for type NatGateway. 9835func (n NatGateway) MarshalJSON() ([]byte, error) { 9836 objectMap := n.Resource.marshalInternal() 9837 populate(objectMap, "etag", n.Etag) 9838 populate(objectMap, "properties", n.Properties) 9839 populate(objectMap, "sku", n.SKU) 9840 populate(objectMap, "zones", n.Zones) 9841 return json.Marshal(objectMap) 9842} 9843 9844// NatGatewayListResult - Response for ListNatGateways API service call. 9845type NatGatewayListResult struct { 9846 // The URL to get the next set of results. 9847 NextLink *string `json:"nextLink,omitempty"` 9848 9849 // A list of Nat Gateways that exists in a resource group. 9850 Value []*NatGateway `json:"value,omitempty"` 9851} 9852 9853// MarshalJSON implements the json.Marshaller interface for type NatGatewayListResult. 9854func (n NatGatewayListResult) MarshalJSON() ([]byte, error) { 9855 objectMap := make(map[string]interface{}) 9856 populate(objectMap, "nextLink", n.NextLink) 9857 populate(objectMap, "value", n.Value) 9858 return json.Marshal(objectMap) 9859} 9860 9861// NatGatewayPropertiesFormat - Nat Gateway properties. 9862type NatGatewayPropertiesFormat struct { 9863 // The idle timeout of the nat gateway. 9864 IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 9865 9866 // An array of public ip addresses associated with the nat gateway resource. 9867 PublicIPAddresses []*SubResource `json:"publicIpAddresses,omitempty"` 9868 9869 // An array of public ip prefixes associated with the nat gateway resource. 9870 PublicIPPrefixes []*SubResource `json:"publicIpPrefixes,omitempty"` 9871 9872 // READ-ONLY; The provisioning state of the NAT gateway resource. 9873 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9874 9875 // READ-ONLY; The resource GUID property of the NAT gateway resource. 9876 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 9877 9878 // READ-ONLY; An array of references to the subnets using this nat gateway resource. 9879 Subnets []*SubResource `json:"subnets,omitempty" azure:"ro"` 9880} 9881 9882// MarshalJSON implements the json.Marshaller interface for type NatGatewayPropertiesFormat. 9883func (n NatGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { 9884 objectMap := make(map[string]interface{}) 9885 populate(objectMap, "idleTimeoutInMinutes", n.IdleTimeoutInMinutes) 9886 populate(objectMap, "provisioningState", n.ProvisioningState) 9887 populate(objectMap, "publicIpAddresses", n.PublicIPAddresses) 9888 populate(objectMap, "publicIpPrefixes", n.PublicIPPrefixes) 9889 populate(objectMap, "resourceGuid", n.ResourceGUID) 9890 populate(objectMap, "subnets", n.Subnets) 9891 return json.Marshal(objectMap) 9892} 9893 9894// NatGatewaySKU - SKU of nat gateway. 9895type NatGatewaySKU struct { 9896 // Name of Nat Gateway SKU. 9897 Name *NatGatewaySKUName `json:"name,omitempty"` 9898} 9899 9900// NatGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the NatGateways.BeginCreateOrUpdate method. 9901type NatGatewaysBeginCreateOrUpdateOptions struct { 9902 // placeholder for future optional parameters 9903} 9904 9905// NatGatewaysBeginDeleteOptions contains the optional parameters for the NatGateways.BeginDelete method. 9906type NatGatewaysBeginDeleteOptions struct { 9907 // placeholder for future optional parameters 9908} 9909 9910// NatGatewaysGetOptions contains the optional parameters for the NatGateways.Get method. 9911type NatGatewaysGetOptions struct { 9912 // Expands referenced resources. 9913 Expand *string 9914} 9915 9916// NatGatewaysListAllOptions contains the optional parameters for the NatGateways.ListAll method. 9917type NatGatewaysListAllOptions struct { 9918 // placeholder for future optional parameters 9919} 9920 9921// NatGatewaysListOptions contains the optional parameters for the NatGateways.List method. 9922type NatGatewaysListOptions struct { 9923 // placeholder for future optional parameters 9924} 9925 9926// NatGatewaysUpdateTagsOptions contains the optional parameters for the NatGateways.UpdateTags method. 9927type NatGatewaysUpdateTagsOptions struct { 9928 // placeholder for future optional parameters 9929} 9930 9931// NatRule - Rule of type nat. 9932type NatRule struct { 9933 FirewallPolicyRule 9934 // List of destination IP addresses or Service Tags. 9935 DestinationAddresses []*string `json:"destinationAddresses,omitempty"` 9936 9937 // List of destination ports. 9938 DestinationPorts []*string `json:"destinationPorts,omitempty"` 9939 9940 // Array of FirewallPolicyRuleNetworkProtocols. 9941 IPProtocols []*FirewallPolicyRuleNetworkProtocol `json:"ipProtocols,omitempty"` 9942 9943 // List of source IP addresses for this rule. 9944 SourceAddresses []*string `json:"sourceAddresses,omitempty"` 9945 9946 // List of source IpGroups for this rule. 9947 SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` 9948 9949 // The translated address for this NAT rule. 9950 TranslatedAddress *string `json:"translatedAddress,omitempty"` 9951 9952 // The translated FQDN for this NAT rule. 9953 TranslatedFqdn *string `json:"translatedFqdn,omitempty"` 9954 9955 // The translated port for this NAT rule. 9956 TranslatedPort *string `json:"translatedPort,omitempty"` 9957} 9958 9959// MarshalJSON implements the json.Marshaller interface for type NatRule. 9960func (n NatRule) MarshalJSON() ([]byte, error) { 9961 objectMap := n.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeNatRule) 9962 populate(objectMap, "destinationAddresses", n.DestinationAddresses) 9963 populate(objectMap, "destinationPorts", n.DestinationPorts) 9964 populate(objectMap, "ipProtocols", n.IPProtocols) 9965 populate(objectMap, "sourceAddresses", n.SourceAddresses) 9966 populate(objectMap, "sourceIpGroups", n.SourceIPGroups) 9967 populate(objectMap, "translatedAddress", n.TranslatedAddress) 9968 populate(objectMap, "translatedFqdn", n.TranslatedFqdn) 9969 populate(objectMap, "translatedPort", n.TranslatedPort) 9970 return json.Marshal(objectMap) 9971} 9972 9973// UnmarshalJSON implements the json.Unmarshaller interface for type NatRule. 9974func (n *NatRule) UnmarshalJSON(data []byte) error { 9975 var rawMsg map[string]json.RawMessage 9976 if err := json.Unmarshal(data, &rawMsg); err != nil { 9977 return err 9978 } 9979 for key, val := range rawMsg { 9980 var err error 9981 switch key { 9982 case "destinationAddresses": 9983 err = unpopulate(val, &n.DestinationAddresses) 9984 delete(rawMsg, key) 9985 case "destinationPorts": 9986 err = unpopulate(val, &n.DestinationPorts) 9987 delete(rawMsg, key) 9988 case "ipProtocols": 9989 err = unpopulate(val, &n.IPProtocols) 9990 delete(rawMsg, key) 9991 case "sourceAddresses": 9992 err = unpopulate(val, &n.SourceAddresses) 9993 delete(rawMsg, key) 9994 case "sourceIpGroups": 9995 err = unpopulate(val, &n.SourceIPGroups) 9996 delete(rawMsg, key) 9997 case "translatedAddress": 9998 err = unpopulate(val, &n.TranslatedAddress) 9999 delete(rawMsg, key) 10000 case "translatedFqdn": 10001 err = unpopulate(val, &n.TranslatedFqdn) 10002 delete(rawMsg, key) 10003 case "translatedPort": 10004 err = unpopulate(val, &n.TranslatedPort) 10005 delete(rawMsg, key) 10006 } 10007 if err != nil { 10008 return err 10009 } 10010 } 10011 return n.FirewallPolicyRule.unmarshalInternal(rawMsg) 10012} 10013 10014// NatRulesBeginCreateOrUpdateOptions contains the optional parameters for the NatRules.BeginCreateOrUpdate method. 10015type NatRulesBeginCreateOrUpdateOptions struct { 10016 // placeholder for future optional parameters 10017} 10018 10019// NatRulesBeginDeleteOptions contains the optional parameters for the NatRules.BeginDelete method. 10020type NatRulesBeginDeleteOptions struct { 10021 // placeholder for future optional parameters 10022} 10023 10024// NatRulesGetOptions contains the optional parameters for the NatRules.Get method. 10025type NatRulesGetOptions struct { 10026 // placeholder for future optional parameters 10027} 10028 10029// NatRulesListByVPNGatewayOptions contains the optional parameters for the NatRules.ListByVPNGateway method. 10030type NatRulesListByVPNGatewayOptions struct { 10031 // placeholder for future optional parameters 10032} 10033 10034// NetworkConfigurationDiagnosticParameters - Parameters to get network configuration diagnostic. 10035type NetworkConfigurationDiagnosticParameters struct { 10036 // REQUIRED; List of network configuration diagnostic profiles. 10037 Profiles []*NetworkConfigurationDiagnosticProfile `json:"profiles,omitempty"` 10038 10039 // REQUIRED; The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and 10040 // Application Gateway. 10041 TargetResourceID *string `json:"targetResourceId,omitempty"` 10042 10043 // Verbosity level. 10044 VerbosityLevel *VerbosityLevel `json:"verbosityLevel,omitempty"` 10045} 10046 10047// MarshalJSON implements the json.Marshaller interface for type NetworkConfigurationDiagnosticParameters. 10048func (n NetworkConfigurationDiagnosticParameters) MarshalJSON() ([]byte, error) { 10049 objectMap := make(map[string]interface{}) 10050 populate(objectMap, "profiles", n.Profiles) 10051 populate(objectMap, "targetResourceId", n.TargetResourceID) 10052 populate(objectMap, "verbosityLevel", n.VerbosityLevel) 10053 return json.Marshal(objectMap) 10054} 10055 10056// NetworkConfigurationDiagnosticProfile - Parameters to compare with network configuration. 10057type NetworkConfigurationDiagnosticProfile struct { 10058 // REQUIRED; Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag. 10059 Destination *string `json:"destination,omitempty"` 10060 10061 // REQUIRED; Traffic destination port. Accepted values are '*' and a single port in the range (0 - 65535). 10062 DestinationPort *string `json:"destinationPort,omitempty"` 10063 10064 // REQUIRED; The direction of the traffic. 10065 Direction *Direction `json:"direction,omitempty"` 10066 10067 // REQUIRED; Protocol to be verified on. Accepted values are '*', TCP, UDP. 10068 Protocol *string `json:"protocol,omitempty"` 10069 10070 // REQUIRED; Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. 10071 Source *string `json:"source,omitempty"` 10072} 10073 10074// NetworkConfigurationDiagnosticResponse - Results of network configuration diagnostic on the target resource. 10075type NetworkConfigurationDiagnosticResponse struct { 10076 // READ-ONLY; List of network configuration diagnostic results. 10077 Results []*NetworkConfigurationDiagnosticResult `json:"results,omitempty" azure:"ro"` 10078} 10079 10080// MarshalJSON implements the json.Marshaller interface for type NetworkConfigurationDiagnosticResponse. 10081func (n NetworkConfigurationDiagnosticResponse) MarshalJSON() ([]byte, error) { 10082 objectMap := make(map[string]interface{}) 10083 populate(objectMap, "results", n.Results) 10084 return json.Marshal(objectMap) 10085} 10086 10087// NetworkConfigurationDiagnosticResult - Network configuration diagnostic result corresponded to provided traffic query. 10088type NetworkConfigurationDiagnosticResult struct { 10089 // Network security group result. 10090 NetworkSecurityGroupResult *NetworkSecurityGroupResult `json:"networkSecurityGroupResult,omitempty"` 10091 10092 // Network configuration diagnostic profile. 10093 Profile *NetworkConfigurationDiagnosticProfile `json:"profile,omitempty"` 10094} 10095 10096// NetworkIntentPolicy - Network Intent Policy resource. 10097type NetworkIntentPolicy struct { 10098 Resource 10099 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10100 Etag *string `json:"etag,omitempty" azure:"ro"` 10101} 10102 10103// MarshalJSON implements the json.Marshaller interface for type NetworkIntentPolicy. 10104func (n NetworkIntentPolicy) MarshalJSON() ([]byte, error) { 10105 objectMap := n.Resource.marshalInternal() 10106 populate(objectMap, "etag", n.Etag) 10107 return json.Marshal(objectMap) 10108} 10109 10110// NetworkIntentPolicyConfiguration - Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. 10111type NetworkIntentPolicyConfiguration struct { 10112 // The name of the Network Intent Policy for storing in target subscription. 10113 NetworkIntentPolicyName *string `json:"networkIntentPolicyName,omitempty"` 10114 10115 // Source network intent policy. 10116 SourceNetworkIntentPolicy *NetworkIntentPolicy `json:"sourceNetworkIntentPolicy,omitempty"` 10117} 10118 10119// NetworkInterface - A network interface in a resource group. 10120type NetworkInterface struct { 10121 Resource 10122 // The extended location of the network interface. 10123 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 10124 10125 // Properties of the network interface. 10126 Properties *NetworkInterfacePropertiesFormat `json:"properties,omitempty"` 10127 10128 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10129 Etag *string `json:"etag,omitempty" azure:"ro"` 10130} 10131 10132// MarshalJSON implements the json.Marshaller interface for type NetworkInterface. 10133func (n NetworkInterface) MarshalJSON() ([]byte, error) { 10134 objectMap := n.Resource.marshalInternal() 10135 populate(objectMap, "etag", n.Etag) 10136 populate(objectMap, "extendedLocation", n.ExtendedLocation) 10137 populate(objectMap, "properties", n.Properties) 10138 return json.Marshal(objectMap) 10139} 10140 10141// NetworkInterfaceAssociation - Network interface and its custom security rules. 10142type NetworkInterfaceAssociation struct { 10143 // Collection of custom security rules. 10144 SecurityRules []*SecurityRule `json:"securityRules,omitempty"` 10145 10146 // READ-ONLY; Network interface ID. 10147 ID *string `json:"id,omitempty" azure:"ro"` 10148} 10149 10150// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceAssociation. 10151func (n NetworkInterfaceAssociation) MarshalJSON() ([]byte, error) { 10152 objectMap := make(map[string]interface{}) 10153 populate(objectMap, "id", n.ID) 10154 populate(objectMap, "securityRules", n.SecurityRules) 10155 return json.Marshal(objectMap) 10156} 10157 10158// NetworkInterfaceDNSSettings - DNS settings of a network interface. 10159type NetworkInterfaceDNSSettings struct { 10160 // List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with 10161 // other IPs, it must be the only value in dnsServers 10162 // collection. 10163 DNSServers []*string `json:"dnsServers,omitempty"` 10164 10165 // Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. 10166 InternalDNSNameLabel *string `json:"internalDnsNameLabel,omitempty"` 10167 10168 // 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 10169 // part of the Availability Set. This property is what is 10170 // configured on each of those VMs. 10171 AppliedDNSServers []*string `json:"appliedDnsServers,omitempty" azure:"ro"` 10172 10173 // 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 10174 // the VM name with the value of 10175 // internalDomainNameSuffix. 10176 InternalDomainNameSuffix *string `json:"internalDomainNameSuffix,omitempty" azure:"ro"` 10177 10178 // READ-ONLY; Fully qualified DNS name supporting internal communications between VMs in the same virtual network. 10179 InternalFqdn *string `json:"internalFqdn,omitempty" azure:"ro"` 10180} 10181 10182// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceDNSSettings. 10183func (n NetworkInterfaceDNSSettings) MarshalJSON() ([]byte, error) { 10184 objectMap := make(map[string]interface{}) 10185 populate(objectMap, "appliedDnsServers", n.AppliedDNSServers) 10186 populate(objectMap, "dnsServers", n.DNSServers) 10187 populate(objectMap, "internalDnsNameLabel", n.InternalDNSNameLabel) 10188 populate(objectMap, "internalDomainNameSuffix", n.InternalDomainNameSuffix) 10189 populate(objectMap, "internalFqdn", n.InternalFqdn) 10190 return json.Marshal(objectMap) 10191} 10192 10193// NetworkInterfaceIPConfiguration - IPConfiguration in a network interface. 10194type NetworkInterfaceIPConfiguration struct { 10195 SubResource 10196 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 10197 Name *string `json:"name,omitempty"` 10198 10199 // Network interface IP configuration properties. 10200 Properties *NetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` 10201 10202 // Resource type. 10203 Type *string `json:"type,omitempty"` 10204 10205 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10206 Etag *string `json:"etag,omitempty" azure:"ro"` 10207} 10208 10209// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfiguration. 10210func (n NetworkInterfaceIPConfiguration) MarshalJSON() ([]byte, error) { 10211 objectMap := n.SubResource.marshalInternal() 10212 populate(objectMap, "etag", n.Etag) 10213 populate(objectMap, "name", n.Name) 10214 populate(objectMap, "properties", n.Properties) 10215 populate(objectMap, "type", n.Type) 10216 return json.Marshal(objectMap) 10217} 10218 10219// NetworkInterfaceIPConfigurationListResult - Response for list ip configurations API service call. 10220type NetworkInterfaceIPConfigurationListResult struct { 10221 // A list of ip configurations. 10222 Value []*NetworkInterfaceIPConfiguration `json:"value,omitempty"` 10223 10224 // READ-ONLY; The URL to get the next set of results. 10225 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 10226} 10227 10228// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfigurationListResult. 10229func (n NetworkInterfaceIPConfigurationListResult) MarshalJSON() ([]byte, error) { 10230 objectMap := make(map[string]interface{}) 10231 populate(objectMap, "nextLink", n.NextLink) 10232 populate(objectMap, "value", n.Value) 10233 return json.Marshal(objectMap) 10234} 10235 10236// NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties - PrivateLinkConnection properties for the network interface. 10237type NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties struct { 10238 // READ-ONLY; List of FQDNs for current private link connection. 10239 Fqdns []*string `json:"fqdns,omitempty" azure:"ro"` 10240 10241 // READ-ONLY; The group ID for current private link connection. 10242 GroupID *string `json:"groupId,omitempty" azure:"ro"` 10243 10244 // READ-ONLY; The required member name for current private link connection. 10245 RequiredMemberName *string `json:"requiredMemberName,omitempty" azure:"ro"` 10246} 10247 10248// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties. 10249func (n NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties) MarshalJSON() ([]byte, error) { 10250 objectMap := make(map[string]interface{}) 10251 populate(objectMap, "fqdns", n.Fqdns) 10252 populate(objectMap, "groupId", n.GroupID) 10253 populate(objectMap, "requiredMemberName", n.RequiredMemberName) 10254 return json.Marshal(objectMap) 10255} 10256 10257// NetworkInterfaceIPConfigurationPropertiesFormat - Properties of IP configuration. 10258type NetworkInterfaceIPConfigurationPropertiesFormat struct { 10259 // The reference to ApplicationGatewayBackendAddressPool resource. 10260 ApplicationGatewayBackendAddressPools []*ApplicationGatewayBackendAddressPool `json:"applicationGatewayBackendAddressPools,omitempty"` 10261 10262 // Application security groups in which the IP configuration is included. 10263 ApplicationSecurityGroups []*ApplicationSecurityGroup `json:"applicationSecurityGroups,omitempty"` 10264 10265 // The reference to gateway load balancer frontend IP. 10266 GatewayLoadBalancer *SubResource `json:"gatewayLoadBalancer,omitempty"` 10267 10268 // The reference to LoadBalancerBackendAddressPool resource. 10269 LoadBalancerBackendAddressPools []*BackendAddressPool `json:"loadBalancerBackendAddressPools,omitempty"` 10270 10271 // A list of references of LoadBalancerInboundNatRules. 10272 LoadBalancerInboundNatRules []*InboundNatRule `json:"loadBalancerInboundNatRules,omitempty"` 10273 10274 // Whether this is a primary customer address on the network interface. 10275 Primary *bool `json:"primary,omitempty"` 10276 10277 // Private IP address of the IP configuration. 10278 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 10279 10280 // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. 10281 PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` 10282 10283 // The private IP address allocation method. 10284 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 10285 10286 // Public IP address bound to the IP configuration. 10287 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 10288 10289 // Subnet bound to the IP configuration. 10290 Subnet *Subnet `json:"subnet,omitempty"` 10291 10292 // The reference to Virtual Network Taps. 10293 VirtualNetworkTaps []*VirtualNetworkTap `json:"virtualNetworkTaps,omitempty"` 10294 10295 // READ-ONLY; PrivateLinkConnection properties for the network interface. 10296 PrivateLinkConnectionProperties *NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties `json:"privateLinkConnectionProperties,omitempty" azure:"ro"` 10297 10298 // READ-ONLY; The provisioning state of the network interface IP configuration. 10299 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10300} 10301 10302// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceIPConfigurationPropertiesFormat. 10303func (n NetworkInterfaceIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 10304 objectMap := make(map[string]interface{}) 10305 populate(objectMap, "applicationGatewayBackendAddressPools", n.ApplicationGatewayBackendAddressPools) 10306 populate(objectMap, "applicationSecurityGroups", n.ApplicationSecurityGroups) 10307 populate(objectMap, "gatewayLoadBalancer", n.GatewayLoadBalancer) 10308 populate(objectMap, "loadBalancerBackendAddressPools", n.LoadBalancerBackendAddressPools) 10309 populate(objectMap, "loadBalancerInboundNatRules", n.LoadBalancerInboundNatRules) 10310 populate(objectMap, "primary", n.Primary) 10311 populate(objectMap, "privateIPAddress", n.PrivateIPAddress) 10312 populate(objectMap, "privateIPAddressVersion", n.PrivateIPAddressVersion) 10313 populate(objectMap, "privateIPAllocationMethod", n.PrivateIPAllocationMethod) 10314 populate(objectMap, "privateLinkConnectionProperties", n.PrivateLinkConnectionProperties) 10315 populate(objectMap, "provisioningState", n.ProvisioningState) 10316 populate(objectMap, "publicIPAddress", n.PublicIPAddress) 10317 populate(objectMap, "subnet", n.Subnet) 10318 populate(objectMap, "virtualNetworkTaps", n.VirtualNetworkTaps) 10319 return json.Marshal(objectMap) 10320} 10321 10322// NetworkInterfaceIPConfigurationsGetOptions contains the optional parameters for the NetworkInterfaceIPConfigurations.Get method. 10323type NetworkInterfaceIPConfigurationsGetOptions struct { 10324 // placeholder for future optional parameters 10325} 10326 10327// NetworkInterfaceIPConfigurationsListOptions contains the optional parameters for the NetworkInterfaceIPConfigurations.List method. 10328type NetworkInterfaceIPConfigurationsListOptions struct { 10329 // placeholder for future optional parameters 10330} 10331 10332// NetworkInterfaceListResult - Response for the ListNetworkInterface API service call. 10333type NetworkInterfaceListResult struct { 10334 // A list of network interfaces in a resource group. 10335 Value []*NetworkInterface `json:"value,omitempty"` 10336 10337 // READ-ONLY; The URL to get the next set of results. 10338 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 10339} 10340 10341// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceListResult. 10342func (n NetworkInterfaceListResult) MarshalJSON() ([]byte, error) { 10343 objectMap := make(map[string]interface{}) 10344 populate(objectMap, "nextLink", n.NextLink) 10345 populate(objectMap, "value", n.Value) 10346 return json.Marshal(objectMap) 10347} 10348 10349// NetworkInterfaceLoadBalancerListResult - Response for list ip configurations API service call. 10350type NetworkInterfaceLoadBalancerListResult struct { 10351 // A list of load balancers. 10352 Value []*LoadBalancer `json:"value,omitempty"` 10353 10354 // READ-ONLY; The URL to get the next set of results. 10355 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 10356} 10357 10358// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceLoadBalancerListResult. 10359func (n NetworkInterfaceLoadBalancerListResult) MarshalJSON() ([]byte, error) { 10360 objectMap := make(map[string]interface{}) 10361 populate(objectMap, "nextLink", n.NextLink) 10362 populate(objectMap, "value", n.Value) 10363 return json.Marshal(objectMap) 10364} 10365 10366// NetworkInterfaceLoadBalancersListOptions contains the optional parameters for the NetworkInterfaceLoadBalancers.List method. 10367type NetworkInterfaceLoadBalancersListOptions struct { 10368 // placeholder for future optional parameters 10369} 10370 10371// NetworkInterfacePropertiesFormat - NetworkInterface properties. 10372type NetworkInterfacePropertiesFormat struct { 10373 // The DNS settings in network interface. 10374 DNSSettings *NetworkInterfaceDNSSettings `json:"dnsSettings,omitempty"` 10375 10376 // If the network interface is accelerated networking enabled. 10377 EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"` 10378 10379 // Indicates whether IP forwarding is enabled on this network interface. 10380 EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"` 10381 10382 // A list of IPConfigurations of the network interface. 10383 IPConfigurations []*NetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty"` 10384 10385 // Migration phase of Network Interface resource. 10386 MigrationPhase *NetworkInterfaceMigrationPhase `json:"migrationPhase,omitempty"` 10387 10388 // The reference to the NetworkSecurityGroup resource. 10389 NetworkSecurityGroup *NetworkSecurityGroup `json:"networkSecurityGroup,omitempty"` 10390 10391 // Type of Network Interface resource. 10392 NicType *NetworkInterfaceNicType `json:"nicType,omitempty"` 10393 10394 // Privatelinkservice of the network interface resource. 10395 PrivateLinkService *PrivateLinkService `json:"privateLinkService,omitempty"` 10396 10397 // WorkloadType of the NetworkInterface for BareMetal resources 10398 WorkloadType *string `json:"workloadType,omitempty"` 10399 10400 // READ-ONLY; A reference to the dscp configuration to which the network interface is linked. 10401 DscpConfiguration *SubResource `json:"dscpConfiguration,omitempty" azure:"ro"` 10402 10403 // READ-ONLY; A list of references to linked BareMetal resources. 10404 HostedWorkloads []*string `json:"hostedWorkloads,omitempty" azure:"ro"` 10405 10406 // READ-ONLY; The MAC address of the network interface. 10407 MacAddress *string `json:"macAddress,omitempty" azure:"ro"` 10408 10409 // READ-ONLY; Whether this is a primary network interface on a virtual machine. 10410 Primary *bool `json:"primary,omitempty" azure:"ro"` 10411 10412 // READ-ONLY; A reference to the private endpoint to which the network interface is linked. 10413 PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` 10414 10415 // READ-ONLY; The provisioning state of the network interface resource. 10416 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10417 10418 // READ-ONLY; The resource GUID property of the network interface resource. 10419 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 10420 10421 // READ-ONLY; A list of TapConfigurations of the network interface. 10422 TapConfigurations []*NetworkInterfaceTapConfiguration `json:"tapConfigurations,omitempty" azure:"ro"` 10423 10424 // READ-ONLY; The reference to a virtual machine. 10425 VirtualMachine *SubResource `json:"virtualMachine,omitempty" azure:"ro"` 10426} 10427 10428// MarshalJSON implements the json.Marshaller interface for type NetworkInterfacePropertiesFormat. 10429func (n NetworkInterfacePropertiesFormat) MarshalJSON() ([]byte, error) { 10430 objectMap := make(map[string]interface{}) 10431 populate(objectMap, "dnsSettings", n.DNSSettings) 10432 populate(objectMap, "dscpConfiguration", n.DscpConfiguration) 10433 populate(objectMap, "enableAcceleratedNetworking", n.EnableAcceleratedNetworking) 10434 populate(objectMap, "enableIPForwarding", n.EnableIPForwarding) 10435 populate(objectMap, "hostedWorkloads", n.HostedWorkloads) 10436 populate(objectMap, "ipConfigurations", n.IPConfigurations) 10437 populate(objectMap, "macAddress", n.MacAddress) 10438 populate(objectMap, "migrationPhase", n.MigrationPhase) 10439 populate(objectMap, "networkSecurityGroup", n.NetworkSecurityGroup) 10440 populate(objectMap, "nicType", n.NicType) 10441 populate(objectMap, "primary", n.Primary) 10442 populate(objectMap, "privateEndpoint", n.PrivateEndpoint) 10443 populate(objectMap, "privateLinkService", n.PrivateLinkService) 10444 populate(objectMap, "provisioningState", n.ProvisioningState) 10445 populate(objectMap, "resourceGuid", n.ResourceGUID) 10446 populate(objectMap, "tapConfigurations", n.TapConfigurations) 10447 populate(objectMap, "virtualMachine", n.VirtualMachine) 10448 populate(objectMap, "workloadType", n.WorkloadType) 10449 return json.Marshal(objectMap) 10450} 10451 10452// NetworkInterfaceTapConfiguration - Tap configuration in a Network Interface. 10453type NetworkInterfaceTapConfiguration struct { 10454 SubResource 10455 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 10456 Name *string `json:"name,omitempty"` 10457 10458 // Properties of the Virtual Network Tap configuration. 10459 Properties *NetworkInterfaceTapConfigurationPropertiesFormat `json:"properties,omitempty"` 10460 10461 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10462 Etag *string `json:"etag,omitempty" azure:"ro"` 10463 10464 // READ-ONLY; Sub Resource type. 10465 Type *string `json:"type,omitempty" azure:"ro"` 10466} 10467 10468// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceTapConfiguration. 10469func (n NetworkInterfaceTapConfiguration) MarshalJSON() ([]byte, error) { 10470 objectMap := n.SubResource.marshalInternal() 10471 populate(objectMap, "etag", n.Etag) 10472 populate(objectMap, "name", n.Name) 10473 populate(objectMap, "properties", n.Properties) 10474 populate(objectMap, "type", n.Type) 10475 return json.Marshal(objectMap) 10476} 10477 10478// NetworkInterfaceTapConfigurationListResult - Response for list tap configurations API service call. 10479type NetworkInterfaceTapConfigurationListResult struct { 10480 // A list of tap configurations. 10481 Value []*NetworkInterfaceTapConfiguration `json:"value,omitempty"` 10482 10483 // READ-ONLY; The URL to get the next set of results. 10484 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 10485} 10486 10487// MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceTapConfigurationListResult. 10488func (n NetworkInterfaceTapConfigurationListResult) MarshalJSON() ([]byte, error) { 10489 objectMap := make(map[string]interface{}) 10490 populate(objectMap, "nextLink", n.NextLink) 10491 populate(objectMap, "value", n.Value) 10492 return json.Marshal(objectMap) 10493} 10494 10495// NetworkInterfaceTapConfigurationPropertiesFormat - Properties of Virtual Network Tap configuration. 10496type NetworkInterfaceTapConfigurationPropertiesFormat struct { 10497 // The reference to the Virtual Network Tap resource. 10498 VirtualNetworkTap *VirtualNetworkTap `json:"virtualNetworkTap,omitempty"` 10499 10500 // READ-ONLY; The provisioning state of the network interface tap configuration resource. 10501 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10502} 10503 10504// NetworkInterfaceTapConfigurationsBeginCreateOrUpdateOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.BeginCreateOrUpdate 10505// method. 10506type NetworkInterfaceTapConfigurationsBeginCreateOrUpdateOptions struct { 10507 // placeholder for future optional parameters 10508} 10509 10510// NetworkInterfaceTapConfigurationsBeginDeleteOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.BeginDelete method. 10511type NetworkInterfaceTapConfigurationsBeginDeleteOptions struct { 10512 // placeholder for future optional parameters 10513} 10514 10515// NetworkInterfaceTapConfigurationsGetOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.Get method. 10516type NetworkInterfaceTapConfigurationsGetOptions struct { 10517 // placeholder for future optional parameters 10518} 10519 10520// NetworkInterfaceTapConfigurationsListOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.List method. 10521type NetworkInterfaceTapConfigurationsListOptions struct { 10522 // placeholder for future optional parameters 10523} 10524 10525// NetworkInterfacesBeginCreateOrUpdateOptions contains the optional parameters for the NetworkInterfaces.BeginCreateOrUpdate method. 10526type NetworkInterfacesBeginCreateOrUpdateOptions struct { 10527 // placeholder for future optional parameters 10528} 10529 10530// NetworkInterfacesBeginDeleteOptions contains the optional parameters for the NetworkInterfaces.BeginDelete method. 10531type NetworkInterfacesBeginDeleteOptions struct { 10532 // placeholder for future optional parameters 10533} 10534 10535// NetworkInterfacesBeginGetEffectiveRouteTableOptions contains the optional parameters for the NetworkInterfaces.BeginGetEffectiveRouteTable method. 10536type NetworkInterfacesBeginGetEffectiveRouteTableOptions struct { 10537 // placeholder for future optional parameters 10538} 10539 10540// NetworkInterfacesBeginListEffectiveNetworkSecurityGroupsOptions contains the optional parameters for the NetworkInterfaces.BeginListEffectiveNetworkSecurityGroups 10541// method. 10542type NetworkInterfacesBeginListEffectiveNetworkSecurityGroupsOptions struct { 10543 // placeholder for future optional parameters 10544} 10545 10546// NetworkInterfacesGetCloudServiceNetworkInterfaceOptions contains the optional parameters for the NetworkInterfaces.GetCloudServiceNetworkInterface method. 10547type NetworkInterfacesGetCloudServiceNetworkInterfaceOptions struct { 10548 // Expands referenced resources. 10549 Expand *string 10550} 10551 10552// NetworkInterfacesGetOptions contains the optional parameters for the NetworkInterfaces.Get method. 10553type NetworkInterfacesGetOptions struct { 10554 // Expands referenced resources. 10555 Expand *string 10556} 10557 10558// NetworkInterfacesGetVirtualMachineScaleSetIPConfigurationOptions contains the optional parameters for the NetworkInterfaces.GetVirtualMachineScaleSetIPConfiguration 10559// method. 10560type NetworkInterfacesGetVirtualMachineScaleSetIPConfigurationOptions struct { 10561 // Expands referenced resources. 10562 Expand *string 10563} 10564 10565// NetworkInterfacesGetVirtualMachineScaleSetNetworkInterfaceOptions contains the optional parameters for the NetworkInterfaces.GetVirtualMachineScaleSetNetworkInterface 10566// method. 10567type NetworkInterfacesGetVirtualMachineScaleSetNetworkInterfaceOptions struct { 10568 // Expands referenced resources. 10569 Expand *string 10570} 10571 10572// NetworkInterfacesListAllOptions contains the optional parameters for the NetworkInterfaces.ListAll method. 10573type NetworkInterfacesListAllOptions struct { 10574 // placeholder for future optional parameters 10575} 10576 10577// NetworkInterfacesListCloudServiceNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListCloudServiceNetworkInterfaces 10578// method. 10579type NetworkInterfacesListCloudServiceNetworkInterfacesOptions struct { 10580 // placeholder for future optional parameters 10581} 10582 10583// NetworkInterfacesListCloudServiceRoleInstanceNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListCloudServiceRoleInstanceNetworkInterfaces 10584// method. 10585type NetworkInterfacesListCloudServiceRoleInstanceNetworkInterfacesOptions struct { 10586 // placeholder for future optional parameters 10587} 10588 10589// NetworkInterfacesListOptions contains the optional parameters for the NetworkInterfaces.List method. 10590type NetworkInterfacesListOptions struct { 10591 // placeholder for future optional parameters 10592} 10593 10594// NetworkInterfacesListVirtualMachineScaleSetIPConfigurationsOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetIPConfigurations 10595// method. 10596type NetworkInterfacesListVirtualMachineScaleSetIPConfigurationsOptions struct { 10597 // Expands referenced resources. 10598 Expand *string 10599} 10600 10601// NetworkInterfacesListVirtualMachineScaleSetNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetNetworkInterfaces 10602// method. 10603type NetworkInterfacesListVirtualMachineScaleSetNetworkInterfacesOptions struct { 10604 // placeholder for future optional parameters 10605} 10606 10607// NetworkInterfacesListVirtualMachineScaleSetVMNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetVMNetworkInterfaces 10608// method. 10609type NetworkInterfacesListVirtualMachineScaleSetVMNetworkInterfacesOptions struct { 10610 // placeholder for future optional parameters 10611} 10612 10613// NetworkInterfacesUpdateTagsOptions contains the optional parameters for the NetworkInterfaces.UpdateTags method. 10614type NetworkInterfacesUpdateTagsOptions struct { 10615 // placeholder for future optional parameters 10616} 10617 10618// NetworkManagementClientBeginDeleteBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.BeginDeleteBastionShareableLink 10619// method. 10620type NetworkManagementClientBeginDeleteBastionShareableLinkOptions struct { 10621 // placeholder for future optional parameters 10622} 10623 10624// NetworkManagementClientBeginGeneratevirtualwanvpnserverconfigurationvpnprofileOptions contains the optional parameters for the NetworkManagementClient.BeginGeneratevirtualwanvpnserverconfigurationvpnprofile 10625// method. 10626type NetworkManagementClientBeginGeneratevirtualwanvpnserverconfigurationvpnprofileOptions struct { 10627 // placeholder for future optional parameters 10628} 10629 10630// NetworkManagementClientBeginGetActiveSessionsOptions contains the optional parameters for the NetworkManagementClient.BeginGetActiveSessions method. 10631type NetworkManagementClientBeginGetActiveSessionsOptions struct { 10632 // placeholder for future optional parameters 10633} 10634 10635// NetworkManagementClientBeginPutBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.BeginPutBastionShareableLink 10636// method. 10637type NetworkManagementClientBeginPutBastionShareableLinkOptions struct { 10638 // placeholder for future optional parameters 10639} 10640 10641// NetworkManagementClientCheckDNSNameAvailabilityOptions contains the optional parameters for the NetworkManagementClient.CheckDNSNameAvailability method. 10642type NetworkManagementClientCheckDNSNameAvailabilityOptions struct { 10643 // placeholder for future optional parameters 10644} 10645 10646// NetworkManagementClientDisconnectActiveSessionsOptions contains the optional parameters for the NetworkManagementClient.DisconnectActiveSessions method. 10647type NetworkManagementClientDisconnectActiveSessionsOptions struct { 10648 // placeholder for future optional parameters 10649} 10650 10651// NetworkManagementClientGetBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.GetBastionShareableLink method. 10652type NetworkManagementClientGetBastionShareableLinkOptions struct { 10653 // placeholder for future optional parameters 10654} 10655 10656// NetworkManagementClientSupportedSecurityProvidersOptions contains the optional parameters for the NetworkManagementClient.SupportedSecurityProviders 10657// method. 10658type NetworkManagementClientSupportedSecurityProvidersOptions struct { 10659 // placeholder for future optional parameters 10660} 10661 10662// NetworkProfile - Network profile resource. 10663type NetworkProfile struct { 10664 Resource 10665 // Network profile properties. 10666 Properties *NetworkProfilePropertiesFormat `json:"properties,omitempty"` 10667 10668 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10669 Etag *string `json:"etag,omitempty" azure:"ro"` 10670} 10671 10672// MarshalJSON implements the json.Marshaller interface for type NetworkProfile. 10673func (n NetworkProfile) MarshalJSON() ([]byte, error) { 10674 objectMap := n.Resource.marshalInternal() 10675 populate(objectMap, "etag", n.Etag) 10676 populate(objectMap, "properties", n.Properties) 10677 return json.Marshal(objectMap) 10678} 10679 10680// NetworkProfileListResult - Response for ListNetworkProfiles API service call. 10681type NetworkProfileListResult struct { 10682 // The URL to get the next set of results. 10683 NextLink *string `json:"nextLink,omitempty"` 10684 10685 // A list of network profiles that exist in a resource group. 10686 Value []*NetworkProfile `json:"value,omitempty"` 10687} 10688 10689// MarshalJSON implements the json.Marshaller interface for type NetworkProfileListResult. 10690func (n NetworkProfileListResult) MarshalJSON() ([]byte, error) { 10691 objectMap := make(map[string]interface{}) 10692 populate(objectMap, "nextLink", n.NextLink) 10693 populate(objectMap, "value", n.Value) 10694 return json.Marshal(objectMap) 10695} 10696 10697// NetworkProfilePropertiesFormat - Network profile properties. 10698type NetworkProfilePropertiesFormat struct { 10699 // List of chid container network interface configurations. 10700 ContainerNetworkInterfaceConfigurations []*ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfigurations,omitempty"` 10701 10702 // READ-ONLY; List of child container network interfaces. 10703 ContainerNetworkInterfaces []*ContainerNetworkInterface `json:"containerNetworkInterfaces,omitempty" azure:"ro"` 10704 10705 // READ-ONLY; The provisioning state of the network profile resource. 10706 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10707 10708 // READ-ONLY; The resource GUID property of the network profile resource. 10709 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 10710} 10711 10712// MarshalJSON implements the json.Marshaller interface for type NetworkProfilePropertiesFormat. 10713func (n NetworkProfilePropertiesFormat) MarshalJSON() ([]byte, error) { 10714 objectMap := make(map[string]interface{}) 10715 populate(objectMap, "containerNetworkInterfaceConfigurations", n.ContainerNetworkInterfaceConfigurations) 10716 populate(objectMap, "containerNetworkInterfaces", n.ContainerNetworkInterfaces) 10717 populate(objectMap, "provisioningState", n.ProvisioningState) 10718 populate(objectMap, "resourceGuid", n.ResourceGUID) 10719 return json.Marshal(objectMap) 10720} 10721 10722// NetworkProfilesBeginDeleteOptions contains the optional parameters for the NetworkProfiles.BeginDelete method. 10723type NetworkProfilesBeginDeleteOptions struct { 10724 // placeholder for future optional parameters 10725} 10726 10727// NetworkProfilesCreateOrUpdateOptions contains the optional parameters for the NetworkProfiles.CreateOrUpdate method. 10728type NetworkProfilesCreateOrUpdateOptions struct { 10729 // placeholder for future optional parameters 10730} 10731 10732// NetworkProfilesGetOptions contains the optional parameters for the NetworkProfiles.Get method. 10733type NetworkProfilesGetOptions struct { 10734 // Expands referenced resources. 10735 Expand *string 10736} 10737 10738// NetworkProfilesListAllOptions contains the optional parameters for the NetworkProfiles.ListAll method. 10739type NetworkProfilesListAllOptions struct { 10740 // placeholder for future optional parameters 10741} 10742 10743// NetworkProfilesListOptions contains the optional parameters for the NetworkProfiles.List method. 10744type NetworkProfilesListOptions struct { 10745 // placeholder for future optional parameters 10746} 10747 10748// NetworkProfilesUpdateTagsOptions contains the optional parameters for the NetworkProfiles.UpdateTags method. 10749type NetworkProfilesUpdateTagsOptions struct { 10750 // placeholder for future optional parameters 10751} 10752 10753// NetworkRule - Rule of type network. 10754type NetworkRule struct { 10755 FirewallPolicyRule 10756 // List of destination IP addresses or Service Tags. 10757 DestinationAddresses []*string `json:"destinationAddresses,omitempty"` 10758 10759 // List of destination FQDNs. 10760 DestinationFqdns []*string `json:"destinationFqdns,omitempty"` 10761 10762 // List of destination IpGroups for this rule. 10763 DestinationIPGroups []*string `json:"destinationIpGroups,omitempty"` 10764 10765 // List of destination ports. 10766 DestinationPorts []*string `json:"destinationPorts,omitempty"` 10767 10768 // Array of FirewallPolicyRuleNetworkProtocols. 10769 IPProtocols []*FirewallPolicyRuleNetworkProtocol `json:"ipProtocols,omitempty"` 10770 10771 // List of source IP addresses for this rule. 10772 SourceAddresses []*string `json:"sourceAddresses,omitempty"` 10773 10774 // List of source IpGroups for this rule. 10775 SourceIPGroups []*string `json:"sourceIpGroups,omitempty"` 10776} 10777 10778// MarshalJSON implements the json.Marshaller interface for type NetworkRule. 10779func (n NetworkRule) MarshalJSON() ([]byte, error) { 10780 objectMap := n.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeNetworkRule) 10781 populate(objectMap, "destinationAddresses", n.DestinationAddresses) 10782 populate(objectMap, "destinationFqdns", n.DestinationFqdns) 10783 populate(objectMap, "destinationIpGroups", n.DestinationIPGroups) 10784 populate(objectMap, "destinationPorts", n.DestinationPorts) 10785 populate(objectMap, "ipProtocols", n.IPProtocols) 10786 populate(objectMap, "sourceAddresses", n.SourceAddresses) 10787 populate(objectMap, "sourceIpGroups", n.SourceIPGroups) 10788 return json.Marshal(objectMap) 10789} 10790 10791// UnmarshalJSON implements the json.Unmarshaller interface for type NetworkRule. 10792func (n *NetworkRule) UnmarshalJSON(data []byte) error { 10793 var rawMsg map[string]json.RawMessage 10794 if err := json.Unmarshal(data, &rawMsg); err != nil { 10795 return err 10796 } 10797 for key, val := range rawMsg { 10798 var err error 10799 switch key { 10800 case "destinationAddresses": 10801 err = unpopulate(val, &n.DestinationAddresses) 10802 delete(rawMsg, key) 10803 case "destinationFqdns": 10804 err = unpopulate(val, &n.DestinationFqdns) 10805 delete(rawMsg, key) 10806 case "destinationIpGroups": 10807 err = unpopulate(val, &n.DestinationIPGroups) 10808 delete(rawMsg, key) 10809 case "destinationPorts": 10810 err = unpopulate(val, &n.DestinationPorts) 10811 delete(rawMsg, key) 10812 case "ipProtocols": 10813 err = unpopulate(val, &n.IPProtocols) 10814 delete(rawMsg, key) 10815 case "sourceAddresses": 10816 err = unpopulate(val, &n.SourceAddresses) 10817 delete(rawMsg, key) 10818 case "sourceIpGroups": 10819 err = unpopulate(val, &n.SourceIPGroups) 10820 delete(rawMsg, key) 10821 } 10822 if err != nil { 10823 return err 10824 } 10825 } 10826 return n.FirewallPolicyRule.unmarshalInternal(rawMsg) 10827} 10828 10829// NetworkSecurityGroup resource. 10830type NetworkSecurityGroup struct { 10831 Resource 10832 // Properties of the network security group. 10833 Properties *NetworkSecurityGroupPropertiesFormat `json:"properties,omitempty"` 10834 10835 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10836 Etag *string `json:"etag,omitempty" azure:"ro"` 10837} 10838 10839// MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroup. 10840func (n NetworkSecurityGroup) MarshalJSON() ([]byte, error) { 10841 objectMap := n.Resource.marshalInternal() 10842 populate(objectMap, "etag", n.Etag) 10843 populate(objectMap, "properties", n.Properties) 10844 return json.Marshal(objectMap) 10845} 10846 10847// NetworkSecurityGroupListResult - Response for ListNetworkSecurityGroups API service call. 10848type NetworkSecurityGroupListResult struct { 10849 // The URL to get the next set of results. 10850 NextLink *string `json:"nextLink,omitempty"` 10851 10852 // A list of NetworkSecurityGroup resources. 10853 Value []*NetworkSecurityGroup `json:"value,omitempty"` 10854} 10855 10856// MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroupListResult. 10857func (n NetworkSecurityGroupListResult) MarshalJSON() ([]byte, error) { 10858 objectMap := make(map[string]interface{}) 10859 populate(objectMap, "nextLink", n.NextLink) 10860 populate(objectMap, "value", n.Value) 10861 return json.Marshal(objectMap) 10862} 10863 10864// NetworkSecurityGroupPropertiesFormat - Network Security Group resource. 10865type NetworkSecurityGroupPropertiesFormat struct { 10866 // A collection of security rules of the network security group. 10867 SecurityRules []*SecurityRule `json:"securityRules,omitempty"` 10868 10869 // READ-ONLY; The default security rules of network security group. 10870 DefaultSecurityRules []*SecurityRule `json:"defaultSecurityRules,omitempty" azure:"ro"` 10871 10872 // READ-ONLY; A collection of references to flow log resources. 10873 FlowLogs []*FlowLog `json:"flowLogs,omitempty" azure:"ro"` 10874 10875 // READ-ONLY; A collection of references to network interfaces. 10876 NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` 10877 10878 // READ-ONLY; The provisioning state of the network security group resource. 10879 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10880 10881 // READ-ONLY; The resource GUID property of the network security group resource. 10882 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 10883 10884 // READ-ONLY; A collection of references to subnets. 10885 Subnets []*Subnet `json:"subnets,omitempty" azure:"ro"` 10886} 10887 10888// MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroupPropertiesFormat. 10889func (n NetworkSecurityGroupPropertiesFormat) MarshalJSON() ([]byte, error) { 10890 objectMap := make(map[string]interface{}) 10891 populate(objectMap, "defaultSecurityRules", n.DefaultSecurityRules) 10892 populate(objectMap, "flowLogs", n.FlowLogs) 10893 populate(objectMap, "networkInterfaces", n.NetworkInterfaces) 10894 populate(objectMap, "provisioningState", n.ProvisioningState) 10895 populate(objectMap, "resourceGuid", n.ResourceGUID) 10896 populate(objectMap, "securityRules", n.SecurityRules) 10897 populate(objectMap, "subnets", n.Subnets) 10898 return json.Marshal(objectMap) 10899} 10900 10901// NetworkSecurityGroupResult - Network configuration diagnostic result corresponded provided traffic query. 10902type NetworkSecurityGroupResult struct { 10903 // The network traffic is allowed or denied. 10904 SecurityRuleAccessResult *SecurityRuleAccess `json:"securityRuleAccessResult,omitempty"` 10905 10906 // READ-ONLY; List of results network security groups diagnostic. 10907 EvaluatedNetworkSecurityGroups []*EvaluatedNetworkSecurityGroup `json:"evaluatedNetworkSecurityGroups,omitempty" azure:"ro"` 10908} 10909 10910// MarshalJSON implements the json.Marshaller interface for type NetworkSecurityGroupResult. 10911func (n NetworkSecurityGroupResult) MarshalJSON() ([]byte, error) { 10912 objectMap := make(map[string]interface{}) 10913 populate(objectMap, "evaluatedNetworkSecurityGroups", n.EvaluatedNetworkSecurityGroups) 10914 populate(objectMap, "securityRuleAccessResult", n.SecurityRuleAccessResult) 10915 return json.Marshal(objectMap) 10916} 10917 10918// NetworkSecurityGroupsBeginCreateOrUpdateOptions contains the optional parameters for the NetworkSecurityGroups.BeginCreateOrUpdate method. 10919type NetworkSecurityGroupsBeginCreateOrUpdateOptions struct { 10920 // placeholder for future optional parameters 10921} 10922 10923// NetworkSecurityGroupsBeginDeleteOptions contains the optional parameters for the NetworkSecurityGroups.BeginDelete method. 10924type NetworkSecurityGroupsBeginDeleteOptions struct { 10925 // placeholder for future optional parameters 10926} 10927 10928// NetworkSecurityGroupsGetOptions contains the optional parameters for the NetworkSecurityGroups.Get method. 10929type NetworkSecurityGroupsGetOptions struct { 10930 // Expands referenced resources. 10931 Expand *string 10932} 10933 10934// NetworkSecurityGroupsListAllOptions contains the optional parameters for the NetworkSecurityGroups.ListAll method. 10935type NetworkSecurityGroupsListAllOptions struct { 10936 // placeholder for future optional parameters 10937} 10938 10939// NetworkSecurityGroupsListOptions contains the optional parameters for the NetworkSecurityGroups.List method. 10940type NetworkSecurityGroupsListOptions struct { 10941 // placeholder for future optional parameters 10942} 10943 10944// NetworkSecurityGroupsUpdateTagsOptions contains the optional parameters for the NetworkSecurityGroups.UpdateTags method. 10945type NetworkSecurityGroupsUpdateTagsOptions struct { 10946 // placeholder for future optional parameters 10947} 10948 10949// NetworkSecurityRulesEvaluationResult - Network security rules evaluation result. 10950type NetworkSecurityRulesEvaluationResult struct { 10951 // Value indicating whether destination is matched. 10952 DestinationMatched *bool `json:"destinationMatched,omitempty"` 10953 10954 // Value indicating whether destination port is matched. 10955 DestinationPortMatched *bool `json:"destinationPortMatched,omitempty"` 10956 10957 // Name of the network security rule. 10958 Name *string `json:"name,omitempty"` 10959 10960 // Value indicating whether protocol is matched. 10961 ProtocolMatched *bool `json:"protocolMatched,omitempty"` 10962 10963 // Value indicating whether source is matched. 10964 SourceMatched *bool `json:"sourceMatched,omitempty"` 10965 10966 // Value indicating whether source port is matched. 10967 SourcePortMatched *bool `json:"sourcePortMatched,omitempty"` 10968} 10969 10970// NetworkVirtualAppliance Resource. 10971type NetworkVirtualAppliance struct { 10972 Resource 10973 // The service principal that has read access to cloud-init and config blob. 10974 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 10975 10976 // Properties of the Network Virtual Appliance. 10977 Properties *NetworkVirtualAppliancePropertiesFormat `json:"properties,omitempty"` 10978 10979 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10980 Etag *string `json:"etag,omitempty" azure:"ro"` 10981} 10982 10983// MarshalJSON implements the json.Marshaller interface for type NetworkVirtualAppliance. 10984func (n NetworkVirtualAppliance) MarshalJSON() ([]byte, error) { 10985 objectMap := n.Resource.marshalInternal() 10986 populate(objectMap, "etag", n.Etag) 10987 populate(objectMap, "identity", n.Identity) 10988 populate(objectMap, "properties", n.Properties) 10989 return json.Marshal(objectMap) 10990} 10991 10992// NetworkVirtualApplianceListResult - Response for ListNetworkVirtualAppliances API service call. 10993type NetworkVirtualApplianceListResult struct { 10994 // URL to get the next set of results. 10995 NextLink *string `json:"nextLink,omitempty"` 10996 10997 // List of Network Virtual Appliances. 10998 Value []*NetworkVirtualAppliance `json:"value,omitempty"` 10999} 11000 11001// MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceListResult. 11002func (n NetworkVirtualApplianceListResult) MarshalJSON() ([]byte, error) { 11003 objectMap := make(map[string]interface{}) 11004 populate(objectMap, "nextLink", n.NextLink) 11005 populate(objectMap, "value", n.Value) 11006 return json.Marshal(objectMap) 11007} 11008 11009// NetworkVirtualAppliancePropertiesFormat - Network Virtual Appliance definition. 11010type NetworkVirtualAppliancePropertiesFormat struct { 11011 // BootStrapConfigurationBlobs storage URLs. 11012 BootStrapConfigurationBlobs []*string `json:"bootStrapConfigurationBlobs,omitempty"` 11013 11014 // CloudInitConfiguration string in plain text. 11015 CloudInitConfiguration *string `json:"cloudInitConfiguration,omitempty"` 11016 11017 // CloudInitConfigurationBlob storage URLs. 11018 CloudInitConfigurationBlobs []*string `json:"cloudInitConfigurationBlobs,omitempty"` 11019 11020 // Network Virtual Appliance SKU. 11021 NvaSKU *VirtualApplianceSKUProperties `json:"nvaSku,omitempty"` 11022 11023 // VirtualAppliance ASN. 11024 VirtualApplianceAsn *int64 `json:"virtualApplianceAsn,omitempty"` 11025 11026 // The Virtual Hub where Network Virtual Appliance is being deployed. 11027 VirtualHub *SubResource `json:"virtualHub,omitempty"` 11028 11029 // READ-ONLY; Address Prefix. 11030 AddressPrefix *string `json:"addressPrefix,omitempty" azure:"ro"` 11031 11032 // READ-ONLY; List of references to InboundSecurityRules. 11033 InboundSecurityRules []*SubResource `json:"inboundSecurityRules,omitempty" azure:"ro"` 11034 11035 // READ-ONLY; The provisioning state of the resource. 11036 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11037 11038 // READ-ONLY; List of Virtual Appliance Network Interfaces. 11039 VirtualApplianceNics []*VirtualApplianceNicProperties `json:"virtualApplianceNics,omitempty" azure:"ro"` 11040 11041 // READ-ONLY; List of references to VirtualApplianceSite. 11042 VirtualApplianceSites []*SubResource `json:"virtualApplianceSites,omitempty" azure:"ro"` 11043} 11044 11045// MarshalJSON implements the json.Marshaller interface for type NetworkVirtualAppliancePropertiesFormat. 11046func (n NetworkVirtualAppliancePropertiesFormat) MarshalJSON() ([]byte, error) { 11047 objectMap := make(map[string]interface{}) 11048 populate(objectMap, "addressPrefix", n.AddressPrefix) 11049 populate(objectMap, "bootStrapConfigurationBlobs", n.BootStrapConfigurationBlobs) 11050 populate(objectMap, "cloudInitConfiguration", n.CloudInitConfiguration) 11051 populate(objectMap, "cloudInitConfigurationBlobs", n.CloudInitConfigurationBlobs) 11052 populate(objectMap, "inboundSecurityRules", n.InboundSecurityRules) 11053 populate(objectMap, "nvaSku", n.NvaSKU) 11054 populate(objectMap, "provisioningState", n.ProvisioningState) 11055 populate(objectMap, "virtualApplianceAsn", n.VirtualApplianceAsn) 11056 populate(objectMap, "virtualApplianceNics", n.VirtualApplianceNics) 11057 populate(objectMap, "virtualApplianceSites", n.VirtualApplianceSites) 11058 populate(objectMap, "virtualHub", n.VirtualHub) 11059 return json.Marshal(objectMap) 11060} 11061 11062// NetworkVirtualApplianceSKU - Definition of the NetworkVirtualApplianceSkus resource. 11063type NetworkVirtualApplianceSKU struct { 11064 Resource 11065 // NetworkVirtualApplianceSku properties. 11066 Properties *NetworkVirtualApplianceSKUPropertiesFormat `json:"properties,omitempty"` 11067 11068 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11069 Etag *string `json:"etag,omitempty" azure:"ro"` 11070} 11071 11072// MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSKU. 11073func (n NetworkVirtualApplianceSKU) MarshalJSON() ([]byte, error) { 11074 objectMap := n.Resource.marshalInternal() 11075 populate(objectMap, "etag", n.Etag) 11076 populate(objectMap, "properties", n.Properties) 11077 return json.Marshal(objectMap) 11078} 11079 11080// NetworkVirtualApplianceSKUInstances - List of available Sku and instances. 11081type NetworkVirtualApplianceSKUInstances struct { 11082 // READ-ONLY; Instance Count. 11083 InstanceCount *int32 `json:"instanceCount,omitempty" azure:"ro"` 11084 11085 // READ-ONLY; Scale Unit. 11086 ScaleUnit *string `json:"scaleUnit,omitempty" azure:"ro"` 11087} 11088 11089// NetworkVirtualApplianceSKUListResult - Response for ListNetworkVirtualApplianceSkus API service call. 11090type NetworkVirtualApplianceSKUListResult struct { 11091 // URL to get the next set of results. 11092 NextLink *string `json:"nextLink,omitempty"` 11093 11094 // List of Network Virtual Appliance Skus that are available. 11095 Value []*NetworkVirtualApplianceSKU `json:"value,omitempty"` 11096} 11097 11098// MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSKUListResult. 11099func (n NetworkVirtualApplianceSKUListResult) MarshalJSON() ([]byte, error) { 11100 objectMap := make(map[string]interface{}) 11101 populate(objectMap, "nextLink", n.NextLink) 11102 populate(objectMap, "value", n.Value) 11103 return json.Marshal(objectMap) 11104} 11105 11106// NetworkVirtualApplianceSKUPropertiesFormat - Properties specific to NetworkVirtualApplianceSkus. 11107type NetworkVirtualApplianceSKUPropertiesFormat struct { 11108 // The list of scale units available. 11109 AvailableScaleUnits []*NetworkVirtualApplianceSKUInstances `json:"availableScaleUnits,omitempty"` 11110 11111 // READ-ONLY; Available Network Virtual Appliance versions. 11112 AvailableVersions []*string `json:"availableVersions,omitempty" azure:"ro"` 11113 11114 // READ-ONLY; Network Virtual Appliance Sku vendor. 11115 Vendor *string `json:"vendor,omitempty" azure:"ro"` 11116} 11117 11118// MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSKUPropertiesFormat. 11119func (n NetworkVirtualApplianceSKUPropertiesFormat) MarshalJSON() ([]byte, error) { 11120 objectMap := make(map[string]interface{}) 11121 populate(objectMap, "availableScaleUnits", n.AvailableScaleUnits) 11122 populate(objectMap, "availableVersions", n.AvailableVersions) 11123 populate(objectMap, "vendor", n.Vendor) 11124 return json.Marshal(objectMap) 11125} 11126 11127// NetworkVirtualApplianceSiteListResult - Response for ListNetworkVirtualApplianceSites API service call. 11128type NetworkVirtualApplianceSiteListResult struct { 11129 // URL to get the next set of results. 11130 NextLink *string `json:"nextLink,omitempty"` 11131 11132 // List of Network Virtual Appliance sites. 11133 Value []*VirtualApplianceSite `json:"value,omitempty"` 11134} 11135 11136// MarshalJSON implements the json.Marshaller interface for type NetworkVirtualApplianceSiteListResult. 11137func (n NetworkVirtualApplianceSiteListResult) MarshalJSON() ([]byte, error) { 11138 objectMap := make(map[string]interface{}) 11139 populate(objectMap, "nextLink", n.NextLink) 11140 populate(objectMap, "value", n.Value) 11141 return json.Marshal(objectMap) 11142} 11143 11144// NetworkVirtualAppliancesBeginCreateOrUpdateOptions contains the optional parameters for the NetworkVirtualAppliances.BeginCreateOrUpdate method. 11145type NetworkVirtualAppliancesBeginCreateOrUpdateOptions struct { 11146 // placeholder for future optional parameters 11147} 11148 11149// NetworkVirtualAppliancesBeginDeleteOptions contains the optional parameters for the NetworkVirtualAppliances.BeginDelete method. 11150type NetworkVirtualAppliancesBeginDeleteOptions struct { 11151 // placeholder for future optional parameters 11152} 11153 11154// NetworkVirtualAppliancesGetOptions contains the optional parameters for the NetworkVirtualAppliances.Get method. 11155type NetworkVirtualAppliancesGetOptions struct { 11156 // Expands referenced resources. 11157 Expand *string 11158} 11159 11160// NetworkVirtualAppliancesListByResourceGroupOptions contains the optional parameters for the NetworkVirtualAppliances.ListByResourceGroup method. 11161type NetworkVirtualAppliancesListByResourceGroupOptions struct { 11162 // placeholder for future optional parameters 11163} 11164 11165// NetworkVirtualAppliancesListOptions contains the optional parameters for the NetworkVirtualAppliances.List method. 11166type NetworkVirtualAppliancesListOptions struct { 11167 // placeholder for future optional parameters 11168} 11169 11170// NetworkVirtualAppliancesUpdateTagsOptions contains the optional parameters for the NetworkVirtualAppliances.UpdateTags method. 11171type NetworkVirtualAppliancesUpdateTagsOptions struct { 11172 // placeholder for future optional parameters 11173} 11174 11175// NetworkWatcher - Network watcher in a resource group. 11176type NetworkWatcher struct { 11177 Resource 11178 // Properties of the network watcher. 11179 Properties *NetworkWatcherPropertiesFormat `json:"properties,omitempty"` 11180 11181 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11182 Etag *string `json:"etag,omitempty" azure:"ro"` 11183} 11184 11185// MarshalJSON implements the json.Marshaller interface for type NetworkWatcher. 11186func (n NetworkWatcher) MarshalJSON() ([]byte, error) { 11187 objectMap := n.Resource.marshalInternal() 11188 populate(objectMap, "etag", n.Etag) 11189 populate(objectMap, "properties", n.Properties) 11190 return json.Marshal(objectMap) 11191} 11192 11193// NetworkWatcherListResult - Response for ListNetworkWatchers API service call. 11194type NetworkWatcherListResult struct { 11195 // List of network watcher resources. 11196 Value []*NetworkWatcher `json:"value,omitempty"` 11197} 11198 11199// MarshalJSON implements the json.Marshaller interface for type NetworkWatcherListResult. 11200func (n NetworkWatcherListResult) MarshalJSON() ([]byte, error) { 11201 objectMap := make(map[string]interface{}) 11202 populate(objectMap, "value", n.Value) 11203 return json.Marshal(objectMap) 11204} 11205 11206// NetworkWatcherPropertiesFormat - The network watcher properties. 11207type NetworkWatcherPropertiesFormat struct { 11208 // READ-ONLY; The provisioning state of the network watcher resource. 11209 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11210} 11211 11212// NetworkWatchersBeginCheckConnectivityOptions contains the optional parameters for the NetworkWatchers.BeginCheckConnectivity method. 11213type NetworkWatchersBeginCheckConnectivityOptions struct { 11214 // placeholder for future optional parameters 11215} 11216 11217// NetworkWatchersBeginDeleteOptions contains the optional parameters for the NetworkWatchers.BeginDelete method. 11218type NetworkWatchersBeginDeleteOptions struct { 11219 // placeholder for future optional parameters 11220} 11221 11222// NetworkWatchersBeginGetAzureReachabilityReportOptions contains the optional parameters for the NetworkWatchers.BeginGetAzureReachabilityReport method. 11223type NetworkWatchersBeginGetAzureReachabilityReportOptions struct { 11224 // placeholder for future optional parameters 11225} 11226 11227// NetworkWatchersBeginGetFlowLogStatusOptions contains the optional parameters for the NetworkWatchers.BeginGetFlowLogStatus method. 11228type NetworkWatchersBeginGetFlowLogStatusOptions struct { 11229 // placeholder for future optional parameters 11230} 11231 11232// NetworkWatchersBeginGetNetworkConfigurationDiagnosticOptions contains the optional parameters for the NetworkWatchers.BeginGetNetworkConfigurationDiagnostic 11233// method. 11234type NetworkWatchersBeginGetNetworkConfigurationDiagnosticOptions struct { 11235 // placeholder for future optional parameters 11236} 11237 11238// NetworkWatchersBeginGetNextHopOptions contains the optional parameters for the NetworkWatchers.BeginGetNextHop method. 11239type NetworkWatchersBeginGetNextHopOptions struct { 11240 // placeholder for future optional parameters 11241} 11242 11243// NetworkWatchersBeginGetTroubleshootingOptions contains the optional parameters for the NetworkWatchers.BeginGetTroubleshooting method. 11244type NetworkWatchersBeginGetTroubleshootingOptions struct { 11245 // placeholder for future optional parameters 11246} 11247 11248// NetworkWatchersBeginGetTroubleshootingResultOptions contains the optional parameters for the NetworkWatchers.BeginGetTroubleshootingResult method. 11249type NetworkWatchersBeginGetTroubleshootingResultOptions struct { 11250 // placeholder for future optional parameters 11251} 11252 11253// NetworkWatchersBeginGetVMSecurityRulesOptions contains the optional parameters for the NetworkWatchers.BeginGetVMSecurityRules method. 11254type NetworkWatchersBeginGetVMSecurityRulesOptions struct { 11255 // placeholder for future optional parameters 11256} 11257 11258// NetworkWatchersBeginListAvailableProvidersOptions contains the optional parameters for the NetworkWatchers.BeginListAvailableProviders method. 11259type NetworkWatchersBeginListAvailableProvidersOptions struct { 11260 // placeholder for future optional parameters 11261} 11262 11263// NetworkWatchersBeginSetFlowLogConfigurationOptions contains the optional parameters for the NetworkWatchers.BeginSetFlowLogConfiguration method. 11264type NetworkWatchersBeginSetFlowLogConfigurationOptions struct { 11265 // placeholder for future optional parameters 11266} 11267 11268// NetworkWatchersBeginVerifyIPFlowOptions contains the optional parameters for the NetworkWatchers.BeginVerifyIPFlow method. 11269type NetworkWatchersBeginVerifyIPFlowOptions struct { 11270 // placeholder for future optional parameters 11271} 11272 11273// NetworkWatchersCreateOrUpdateOptions contains the optional parameters for the NetworkWatchers.CreateOrUpdate method. 11274type NetworkWatchersCreateOrUpdateOptions struct { 11275 // placeholder for future optional parameters 11276} 11277 11278// NetworkWatchersGetOptions contains the optional parameters for the NetworkWatchers.Get method. 11279type NetworkWatchersGetOptions struct { 11280 // placeholder for future optional parameters 11281} 11282 11283// NetworkWatchersGetTopologyOptions contains the optional parameters for the NetworkWatchers.GetTopology method. 11284type NetworkWatchersGetTopologyOptions struct { 11285 // placeholder for future optional parameters 11286} 11287 11288// NetworkWatchersListAllOptions contains the optional parameters for the NetworkWatchers.ListAll method. 11289type NetworkWatchersListAllOptions struct { 11290 // placeholder for future optional parameters 11291} 11292 11293// NetworkWatchersListOptions contains the optional parameters for the NetworkWatchers.List method. 11294type NetworkWatchersListOptions struct { 11295 // placeholder for future optional parameters 11296} 11297 11298// NetworkWatchersUpdateTagsOptions contains the optional parameters for the NetworkWatchers.UpdateTags method. 11299type NetworkWatchersUpdateTagsOptions struct { 11300 // placeholder for future optional parameters 11301} 11302 11303// NextHopParameters - Parameters that define the source and destination endpoint. 11304type NextHopParameters struct { 11305 // REQUIRED; The destination IP address. 11306 DestinationIPAddress *string `json:"destinationIPAddress,omitempty"` 11307 11308 // REQUIRED; The source IP address. 11309 SourceIPAddress *string `json:"sourceIPAddress,omitempty"` 11310 11311 // REQUIRED; The resource identifier of the target resource against which the action is to be performed. 11312 TargetResourceID *string `json:"targetResourceId,omitempty"` 11313 11314 // 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). 11315 TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` 11316} 11317 11318// NextHopResult - The information about next hop from the specified VM. 11319type NextHopResult struct { 11320 // Next hop IP Address. 11321 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 11322 11323 // Next hop type. 11324 NextHopType *NextHopType `json:"nextHopType,omitempty"` 11325 11326 // 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 11327 // routes then this field will be the string 11328 // 'System Route'. 11329 RouteTableID *string `json:"routeTableId,omitempty"` 11330} 11331 11332// O365BreakOutCategoryPolicies - Office365 breakout categories. 11333type O365BreakOutCategoryPolicies struct { 11334 // Flag to control allow category. 11335 Allow *bool `json:"allow,omitempty"` 11336 11337 // Flag to control default category. 11338 Default *bool `json:"default,omitempty"` 11339 11340 // Flag to control optimize category. 11341 Optimize *bool `json:"optimize,omitempty"` 11342} 11343 11344// O365PolicyProperties - The Office365 breakout policy. 11345type O365PolicyProperties struct { 11346 // Office365 breakout categories. 11347 BreakOutCategories *O365BreakOutCategoryPolicies `json:"breakOutCategories,omitempty"` 11348} 11349 11350// Office365PolicyProperties - Network Virtual Appliance Sku Properties. 11351type Office365PolicyProperties struct { 11352 // Office 365 breakout categories. 11353 BreakOutCategories *BreakOutCategoryPolicies `json:"breakOutCategories,omitempty"` 11354} 11355 11356// Operation - Network REST API operation definition. 11357type Operation struct { 11358 // Display metadata associated with the operation. 11359 Display *OperationDisplay `json:"display,omitempty"` 11360 11361 // Operation name: {provider}/{resource}/{operation}. 11362 Name *string `json:"name,omitempty"` 11363 11364 // Origin of the operation. 11365 Origin *string `json:"origin,omitempty"` 11366 11367 // Operation properties format. 11368 Properties *OperationPropertiesFormat `json:"properties,omitempty"` 11369} 11370 11371// OperationDisplay - Display metadata associated with the operation. 11372type OperationDisplay struct { 11373 // Description of the operation. 11374 Description *string `json:"description,omitempty"` 11375 11376 // Type of the operation: get, read, delete, etc. 11377 Operation *string `json:"operation,omitempty"` 11378 11379 // Service provider: Microsoft Network. 11380 Provider *string `json:"provider,omitempty"` 11381 11382 // Resource on which the operation is performed. 11383 Resource *string `json:"resource,omitempty"` 11384} 11385 11386// 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. 11387type OperationListResult struct { 11388 // URL to get the next set of operation list results if there are any. 11389 NextLink *string `json:"nextLink,omitempty"` 11390 11391 // List of Network operations supported by the Network resource provider. 11392 Value []*Operation `json:"value,omitempty"` 11393} 11394 11395// MarshalJSON implements the json.Marshaller interface for type OperationListResult. 11396func (o OperationListResult) MarshalJSON() ([]byte, error) { 11397 objectMap := make(map[string]interface{}) 11398 populate(objectMap, "nextLink", o.NextLink) 11399 populate(objectMap, "value", o.Value) 11400 return json.Marshal(objectMap) 11401} 11402 11403// OperationPropertiesFormat - Description of operation properties format. 11404type OperationPropertiesFormat struct { 11405 // Specification of the service. 11406 ServiceSpecification *OperationPropertiesFormatServiceSpecification `json:"serviceSpecification,omitempty"` 11407} 11408 11409// OperationPropertiesFormatServiceSpecification - Specification of the service. 11410type OperationPropertiesFormatServiceSpecification struct { 11411 // Operation log specification. 11412 LogSpecifications []*LogSpecification `json:"logSpecifications,omitempty"` 11413 11414 // Operation service specification. 11415 MetricSpecifications []*MetricSpecification `json:"metricSpecifications,omitempty"` 11416} 11417 11418// MarshalJSON implements the json.Marshaller interface for type OperationPropertiesFormatServiceSpecification. 11419func (o OperationPropertiesFormatServiceSpecification) MarshalJSON() ([]byte, error) { 11420 objectMap := make(map[string]interface{}) 11421 populate(objectMap, "logSpecifications", o.LogSpecifications) 11422 populate(objectMap, "metricSpecifications", o.MetricSpecifications) 11423 return json.Marshal(objectMap) 11424} 11425 11426// OperationsListOptions contains the optional parameters for the Operations.List method. 11427type OperationsListOptions struct { 11428 // placeholder for future optional parameters 11429} 11430 11431// OutboundRule - Outbound rule of the load balancer. 11432type OutboundRule struct { 11433 SubResource 11434 // 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. 11435 Name *string `json:"name,omitempty"` 11436 11437 // Properties of load balancer outbound rule. 11438 Properties *OutboundRulePropertiesFormat `json:"properties,omitempty"` 11439 11440 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11441 Etag *string `json:"etag,omitempty" azure:"ro"` 11442 11443 // READ-ONLY; Type of the resource. 11444 Type *string `json:"type,omitempty" azure:"ro"` 11445} 11446 11447// MarshalJSON implements the json.Marshaller interface for type OutboundRule. 11448func (o OutboundRule) MarshalJSON() ([]byte, error) { 11449 objectMap := o.SubResource.marshalInternal() 11450 populate(objectMap, "etag", o.Etag) 11451 populate(objectMap, "name", o.Name) 11452 populate(objectMap, "properties", o.Properties) 11453 populate(objectMap, "type", o.Type) 11454 return json.Marshal(objectMap) 11455} 11456 11457// OutboundRulePropertiesFormat - Outbound rule of the load balancer. 11458type OutboundRulePropertiesFormat struct { 11459 // REQUIRED; A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. 11460 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 11461 11462 // REQUIRED; The Frontend IP addresses of the load balancer. 11463 FrontendIPConfigurations []*SubResource `json:"frontendIPConfigurations,omitempty"` 11464 11465 // REQUIRED; The protocol for the outbound rule in load balancer. 11466 Protocol *LoadBalancerOutboundRuleProtocol `json:"protocol,omitempty"` 11467 11468 // The number of outbound ports to be used for NAT. 11469 AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` 11470 11471 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 11472 // TCP. 11473 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 11474 11475 // The timeout for the TCP idle connection. 11476 IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 11477 11478 // READ-ONLY; The provisioning state of the outbound rule resource. 11479 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11480} 11481 11482// MarshalJSON implements the json.Marshaller interface for type OutboundRulePropertiesFormat. 11483func (o OutboundRulePropertiesFormat) MarshalJSON() ([]byte, error) { 11484 objectMap := make(map[string]interface{}) 11485 populate(objectMap, "allocatedOutboundPorts", o.AllocatedOutboundPorts) 11486 populate(objectMap, "backendAddressPool", o.BackendAddressPool) 11487 populate(objectMap, "enableTcpReset", o.EnableTCPReset) 11488 populate(objectMap, "frontendIPConfigurations", o.FrontendIPConfigurations) 11489 populate(objectMap, "idleTimeoutInMinutes", o.IdleTimeoutInMinutes) 11490 populate(objectMap, "protocol", o.Protocol) 11491 populate(objectMap, "provisioningState", o.ProvisioningState) 11492 return json.Marshal(objectMap) 11493} 11494 11495// OwaspCrsExclusionEntry - Allow to exclude some variable satisfy the condition for the WAF check. 11496type OwaspCrsExclusionEntry struct { 11497 // REQUIRED; The variable to be excluded. 11498 MatchVariable *OwaspCrsExclusionEntryMatchVariable `json:"matchVariable,omitempty"` 11499 11500 // REQUIRED; When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. 11501 Selector *string `json:"selector,omitempty"` 11502 11503 // REQUIRED; When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. 11504 SelectorMatchOperator *OwaspCrsExclusionEntrySelectorMatchOperator `json:"selectorMatchOperator,omitempty"` 11505} 11506 11507// P2SConnectionConfiguration Resource. 11508type P2SConnectionConfiguration struct { 11509 SubResource 11510 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 11511 Name *string `json:"name,omitempty"` 11512 11513 // Properties of the P2S connection configuration. 11514 Properties *P2SConnectionConfigurationProperties `json:"properties,omitempty"` 11515 11516 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11517 Etag *string `json:"etag,omitempty" azure:"ro"` 11518} 11519 11520// MarshalJSON implements the json.Marshaller interface for type P2SConnectionConfiguration. 11521func (p P2SConnectionConfiguration) MarshalJSON() ([]byte, error) { 11522 objectMap := p.SubResource.marshalInternal() 11523 populate(objectMap, "etag", p.Etag) 11524 populate(objectMap, "name", p.Name) 11525 populate(objectMap, "properties", p.Properties) 11526 return json.Marshal(objectMap) 11527} 11528 11529// P2SConnectionConfigurationProperties - Parameters for P2SConnectionConfiguration. 11530type P2SConnectionConfigurationProperties struct { 11531 // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. 11532 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 11533 11534 // The Routing Configuration indicating the associated and propagated route tables on this connection. 11535 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 11536 11537 // The reference to the address space resource which represents Address space for P2S VpnClient. 11538 VPNClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` 11539 11540 // READ-ONLY; The provisioning state of the P2SConnectionConfiguration resource. 11541 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11542} 11543 11544// P2SVPNConnectionHealth - P2S Vpn connection detailed health written to sas url. 11545type P2SVPNConnectionHealth struct { 11546 // Returned sas url of the blob to which the p2s vpn connection detailed health will be written. 11547 SasURL *string `json:"sasUrl,omitempty"` 11548} 11549 11550// P2SVPNConnectionHealthRequest - List of P2S Vpn connection health request. 11551type P2SVPNConnectionHealthRequest struct { 11552 // The sas-url to download the P2S Vpn connection health detail. 11553 OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` 11554 11555 // The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for. 11556 VPNUserNamesFilter []*string `json:"vpnUserNamesFilter,omitempty"` 11557} 11558 11559// MarshalJSON implements the json.Marshaller interface for type P2SVPNConnectionHealthRequest. 11560func (p P2SVPNConnectionHealthRequest) MarshalJSON() ([]byte, error) { 11561 objectMap := make(map[string]interface{}) 11562 populate(objectMap, "outputBlobSasUrl", p.OutputBlobSasURL) 11563 populate(objectMap, "vpnUserNamesFilter", p.VPNUserNamesFilter) 11564 return json.Marshal(objectMap) 11565} 11566 11567// P2SVPNConnectionRequest - List of p2s vpn connections to be disconnected. 11568type P2SVPNConnectionRequest struct { 11569 // List of p2s vpn connection Ids. 11570 VPNConnectionIDs []*string `json:"vpnConnectionIds,omitempty"` 11571} 11572 11573// MarshalJSON implements the json.Marshaller interface for type P2SVPNConnectionRequest. 11574func (p P2SVPNConnectionRequest) MarshalJSON() ([]byte, error) { 11575 objectMap := make(map[string]interface{}) 11576 populate(objectMap, "vpnConnectionIds", p.VPNConnectionIDs) 11577 return json.Marshal(objectMap) 11578} 11579 11580// P2SVPNGateway - P2SVpnGateway Resource. 11581type P2SVPNGateway struct { 11582 Resource 11583 // Properties of the P2SVpnGateway. 11584 Properties *P2SVPNGatewayProperties `json:"properties,omitempty"` 11585 11586 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11587 Etag *string `json:"etag,omitempty" azure:"ro"` 11588} 11589 11590// MarshalJSON implements the json.Marshaller interface for type P2SVPNGateway. 11591func (p P2SVPNGateway) MarshalJSON() ([]byte, error) { 11592 objectMap := p.Resource.marshalInternal() 11593 populate(objectMap, "etag", p.Etag) 11594 populate(objectMap, "properties", p.Properties) 11595 return json.Marshal(objectMap) 11596} 11597 11598// P2SVPNGatewayProperties - Parameters for P2SVpnGateway. 11599type P2SVPNGatewayProperties struct { 11600 // List of all customer specified DNS servers IP addresses. 11601 CustomDNSServers []*string `json:"customDnsServers,omitempty"` 11602 11603 // Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. 11604 IsRoutingPreferenceInternet *bool `json:"isRoutingPreferenceInternet,omitempty"` 11605 11606 // List of all p2s connection configurations of the gateway. 11607 P2SConnectionConfigurations []*P2SConnectionConfiguration `json:"p2SConnectionConfigurations,omitempty"` 11608 11609 // The scale unit for this p2s vpn gateway. 11610 VPNGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` 11611 11612 // The VpnServerConfiguration to which the p2sVpnGateway is attached to. 11613 VPNServerConfiguration *SubResource `json:"vpnServerConfiguration,omitempty"` 11614 11615 // The VirtualHub to which the gateway belongs. 11616 VirtualHub *SubResource `json:"virtualHub,omitempty"` 11617 11618 // READ-ONLY; The provisioning state of the P2S VPN gateway resource. 11619 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11620 11621 // READ-ONLY; All P2S VPN clients' connection health status. 11622 VPNClientConnectionHealth *VPNClientConnectionHealth `json:"vpnClientConnectionHealth,omitempty" azure:"ro"` 11623} 11624 11625// MarshalJSON implements the json.Marshaller interface for type P2SVPNGatewayProperties. 11626func (p P2SVPNGatewayProperties) MarshalJSON() ([]byte, error) { 11627 objectMap := make(map[string]interface{}) 11628 populate(objectMap, "customDnsServers", p.CustomDNSServers) 11629 populate(objectMap, "isRoutingPreferenceInternet", p.IsRoutingPreferenceInternet) 11630 populate(objectMap, "p2SConnectionConfigurations", p.P2SConnectionConfigurations) 11631 populate(objectMap, "provisioningState", p.ProvisioningState) 11632 populate(objectMap, "vpnClientConnectionHealth", p.VPNClientConnectionHealth) 11633 populate(objectMap, "vpnGatewayScaleUnit", p.VPNGatewayScaleUnit) 11634 populate(objectMap, "vpnServerConfiguration", p.VPNServerConfiguration) 11635 populate(objectMap, "virtualHub", p.VirtualHub) 11636 return json.Marshal(objectMap) 11637} 11638 11639// P2SVPNGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the P2SVPNGateways.BeginCreateOrUpdate method. 11640type P2SVPNGatewaysBeginCreateOrUpdateOptions struct { 11641 // placeholder for future optional parameters 11642} 11643 11644// P2SVPNGatewaysBeginDeleteOptions contains the optional parameters for the P2SVPNGateways.BeginDelete method. 11645type P2SVPNGatewaysBeginDeleteOptions struct { 11646 // placeholder for future optional parameters 11647} 11648 11649// P2SVPNGatewaysBeginDisconnectP2SVPNConnectionsOptions contains the optional parameters for the P2SVPNGateways.BeginDisconnectP2SVPNConnections method. 11650type P2SVPNGatewaysBeginDisconnectP2SVPNConnectionsOptions struct { 11651 // placeholder for future optional parameters 11652} 11653 11654// P2SVPNGatewaysBeginGenerateVPNProfileOptions contains the optional parameters for the P2SVPNGateways.BeginGenerateVPNProfile method. 11655type P2SVPNGatewaysBeginGenerateVPNProfileOptions struct { 11656 // placeholder for future optional parameters 11657} 11658 11659// P2SVPNGatewaysBeginGetP2SVPNConnectionHealthDetailedOptions contains the optional parameters for the P2SVPNGateways.BeginGetP2SVPNConnectionHealthDetailed 11660// method. 11661type P2SVPNGatewaysBeginGetP2SVPNConnectionHealthDetailedOptions struct { 11662 // placeholder for future optional parameters 11663} 11664 11665// P2SVPNGatewaysBeginGetP2SVPNConnectionHealthOptions contains the optional parameters for the P2SVPNGateways.BeginGetP2SVPNConnectionHealth method. 11666type P2SVPNGatewaysBeginGetP2SVPNConnectionHealthOptions struct { 11667 // placeholder for future optional parameters 11668} 11669 11670// P2SVPNGatewaysBeginResetOptions contains the optional parameters for the P2SVPNGateways.BeginReset method. 11671type P2SVPNGatewaysBeginResetOptions struct { 11672 // placeholder for future optional parameters 11673} 11674 11675// P2SVPNGatewaysBeginUpdateTagsOptions contains the optional parameters for the P2SVPNGateways.BeginUpdateTags method. 11676type P2SVPNGatewaysBeginUpdateTagsOptions struct { 11677 // placeholder for future optional parameters 11678} 11679 11680// P2SVPNGatewaysGetOptions contains the optional parameters for the P2SVPNGateways.Get method. 11681type P2SVPNGatewaysGetOptions struct { 11682 // placeholder for future optional parameters 11683} 11684 11685// P2SVPNGatewaysListByResourceGroupOptions contains the optional parameters for the P2SVPNGateways.ListByResourceGroup method. 11686type P2SVPNGatewaysListByResourceGroupOptions struct { 11687 // placeholder for future optional parameters 11688} 11689 11690// P2SVPNGatewaysListOptions contains the optional parameters for the P2SVPNGateways.List method. 11691type P2SVPNGatewaysListOptions struct { 11692 // placeholder for future optional parameters 11693} 11694 11695// P2SVPNProfileParameters - Vpn Client Parameters for package generation. 11696type P2SVPNProfileParameters struct { 11697 // VPN client authentication method. 11698 AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` 11699} 11700 11701// PacketCapture - Parameters that define the create packet capture operation. 11702type PacketCapture struct { 11703 // REQUIRED; Properties of the packet capture. 11704 Properties *PacketCaptureParameters `json:"properties,omitempty"` 11705} 11706 11707// PacketCaptureFilter - Filter that is applied to packet capture request. Multiple filters can be applied. 11708type PacketCaptureFilter struct { 11709 // 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 11710 // entries. Multiple ranges not currently 11711 // supported. Mixing ranges with multiple entries not currently supported. Default = null. 11712 LocalIPAddress *string `json:"localIPAddress,omitempty"` 11713 11714 // 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. 11715 // Mixing ranges with multiple entries not 11716 // currently supported. Default = null. 11717 LocalPort *string `json:"localPort,omitempty"` 11718 11719 // Protocol to be filtered on. 11720 Protocol *PcProtocol `json:"protocol,omitempty"` 11721 11722 // 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 11723 // entries. Multiple ranges not currently 11724 // supported. Mixing ranges with multiple entries not currently supported. Default = null. 11725 RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` 11726 11727 // 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 11728 // supported. Mixing ranges with multiple entries not 11729 // currently supported. Default = null. 11730 RemotePort *string `json:"remotePort,omitempty"` 11731} 11732 11733// PacketCaptureListResult - List of packet capture sessions. 11734type PacketCaptureListResult struct { 11735 // Information about packet capture sessions. 11736 Value []*PacketCaptureResult `json:"value,omitempty"` 11737} 11738 11739// MarshalJSON implements the json.Marshaller interface for type PacketCaptureListResult. 11740func (p PacketCaptureListResult) MarshalJSON() ([]byte, error) { 11741 objectMap := make(map[string]interface{}) 11742 populate(objectMap, "value", p.Value) 11743 return json.Marshal(objectMap) 11744} 11745 11746// PacketCaptureParameters - Parameters that define the create packet capture operation. 11747type PacketCaptureParameters struct { 11748 // REQUIRED; The storage location for a packet capture session. 11749 StorageLocation *PacketCaptureStorageLocation `json:"storageLocation,omitempty"` 11750 11751 // REQUIRED; The ID of the targeted resource, only VM is currently supported. 11752 Target *string `json:"target,omitempty"` 11753 11754 // Number of bytes captured per packet, the remaining bytes are truncated. 11755 BytesToCapturePerPacket *int64 `json:"bytesToCapturePerPacket,omitempty"` 11756 11757 // A list of packet capture filters. 11758 Filters []*PacketCaptureFilter `json:"filters,omitempty"` 11759 11760 // Maximum duration of the capture session in seconds. 11761 TimeLimitInSeconds *int32 `json:"timeLimitInSeconds,omitempty"` 11762 11763 // Maximum size of the capture output. 11764 TotalBytesPerSession *int64 `json:"totalBytesPerSession,omitempty"` 11765} 11766 11767// MarshalJSON implements the json.Marshaller interface for type PacketCaptureParameters. 11768func (p PacketCaptureParameters) MarshalJSON() ([]byte, error) { 11769 objectMap := p.marshalInternal() 11770 return json.Marshal(objectMap) 11771} 11772 11773func (p PacketCaptureParameters) marshalInternal() map[string]interface{} { 11774 objectMap := make(map[string]interface{}) 11775 populate(objectMap, "bytesToCapturePerPacket", p.BytesToCapturePerPacket) 11776 populate(objectMap, "filters", p.Filters) 11777 populate(objectMap, "storageLocation", p.StorageLocation) 11778 populate(objectMap, "target", p.Target) 11779 populate(objectMap, "timeLimitInSeconds", p.TimeLimitInSeconds) 11780 populate(objectMap, "totalBytesPerSession", p.TotalBytesPerSession) 11781 return objectMap 11782} 11783 11784// PacketCaptureQueryStatusResult - Status of packet capture session. 11785type PacketCaptureQueryStatusResult struct { 11786 // The start time of the packet capture session. 11787 CaptureStartTime *time.Time `json:"captureStartTime,omitempty"` 11788 11789 // The ID of the packet capture resource. 11790 ID *string `json:"id,omitempty"` 11791 11792 // The name of the packet capture resource. 11793 Name *string `json:"name,omitempty"` 11794 11795 // List of errors of packet capture session. 11796 PacketCaptureError []*PcError `json:"packetCaptureError,omitempty"` 11797 11798 // The status of the packet capture session. 11799 PacketCaptureStatus *PcStatus `json:"packetCaptureStatus,omitempty"` 11800 11801 // The reason the current packet capture session was stopped. 11802 StopReason *string `json:"stopReason,omitempty"` 11803} 11804 11805// MarshalJSON implements the json.Marshaller interface for type PacketCaptureQueryStatusResult. 11806func (p PacketCaptureQueryStatusResult) MarshalJSON() ([]byte, error) { 11807 objectMap := make(map[string]interface{}) 11808 populate(objectMap, "captureStartTime", (*timeRFC3339)(p.CaptureStartTime)) 11809 populate(objectMap, "id", p.ID) 11810 populate(objectMap, "name", p.Name) 11811 populate(objectMap, "packetCaptureError", p.PacketCaptureError) 11812 populate(objectMap, "packetCaptureStatus", p.PacketCaptureStatus) 11813 populate(objectMap, "stopReason", p.StopReason) 11814 return json.Marshal(objectMap) 11815} 11816 11817// UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureQueryStatusResult. 11818func (p *PacketCaptureQueryStatusResult) UnmarshalJSON(data []byte) error { 11819 var rawMsg map[string]json.RawMessage 11820 if err := json.Unmarshal(data, &rawMsg); err != nil { 11821 return err 11822 } 11823 for key, val := range rawMsg { 11824 var err error 11825 switch key { 11826 case "captureStartTime": 11827 var aux timeRFC3339 11828 err = unpopulate(val, &aux) 11829 p.CaptureStartTime = (*time.Time)(&aux) 11830 delete(rawMsg, key) 11831 case "id": 11832 err = unpopulate(val, &p.ID) 11833 delete(rawMsg, key) 11834 case "name": 11835 err = unpopulate(val, &p.Name) 11836 delete(rawMsg, key) 11837 case "packetCaptureError": 11838 err = unpopulate(val, &p.PacketCaptureError) 11839 delete(rawMsg, key) 11840 case "packetCaptureStatus": 11841 err = unpopulate(val, &p.PacketCaptureStatus) 11842 delete(rawMsg, key) 11843 case "stopReason": 11844 err = unpopulate(val, &p.StopReason) 11845 delete(rawMsg, key) 11846 } 11847 if err != nil { 11848 return err 11849 } 11850 } 11851 return nil 11852} 11853 11854// PacketCaptureResult - Information about packet capture session. 11855type PacketCaptureResult struct { 11856 // Properties of the packet capture result. 11857 Properties *PacketCaptureResultProperties `json:"properties,omitempty"` 11858 11859 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11860 Etag *string `json:"etag,omitempty" azure:"ro"` 11861 11862 // READ-ONLY; ID of the packet capture operation. 11863 ID *string `json:"id,omitempty" azure:"ro"` 11864 11865 // READ-ONLY; Name of the packet capture session. 11866 Name *string `json:"name,omitempty" azure:"ro"` 11867} 11868 11869// PacketCaptureResultProperties - The properties of a packet capture session. 11870type PacketCaptureResultProperties struct { 11871 PacketCaptureParameters 11872 // READ-ONLY; The provisioning state of the packet capture session. 11873 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11874} 11875 11876// MarshalJSON implements the json.Marshaller interface for type PacketCaptureResultProperties. 11877func (p PacketCaptureResultProperties) MarshalJSON() ([]byte, error) { 11878 objectMap := p.PacketCaptureParameters.marshalInternal() 11879 populate(objectMap, "provisioningState", p.ProvisioningState) 11880 return json.Marshal(objectMap) 11881} 11882 11883// PacketCaptureStorageLocation - The storage location for a packet capture session. 11884type PacketCaptureStorageLocation struct { 11885 // 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. 11886 // Required if no storage ID is provided, otherwise 11887 // optional. 11888 FilePath *string `json:"filePath,omitempty"` 11889 11890 // The ID of the storage account to save the packet capture session. Required if no local file path is provided. 11891 StorageID *string `json:"storageId,omitempty"` 11892 11893 // 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. 11894 StoragePath *string `json:"storagePath,omitempty"` 11895} 11896 11897// PacketCapturesBeginCreateOptions contains the optional parameters for the PacketCaptures.BeginCreate method. 11898type PacketCapturesBeginCreateOptions struct { 11899 // placeholder for future optional parameters 11900} 11901 11902// PacketCapturesBeginDeleteOptions contains the optional parameters for the PacketCaptures.BeginDelete method. 11903type PacketCapturesBeginDeleteOptions struct { 11904 // placeholder for future optional parameters 11905} 11906 11907// PacketCapturesBeginGetStatusOptions contains the optional parameters for the PacketCaptures.BeginGetStatus method. 11908type PacketCapturesBeginGetStatusOptions struct { 11909 // placeholder for future optional parameters 11910} 11911 11912// PacketCapturesBeginStopOptions contains the optional parameters for the PacketCaptures.BeginStop method. 11913type PacketCapturesBeginStopOptions struct { 11914 // placeholder for future optional parameters 11915} 11916 11917// PacketCapturesGetOptions contains the optional parameters for the PacketCaptures.Get method. 11918type PacketCapturesGetOptions struct { 11919 // placeholder for future optional parameters 11920} 11921 11922// PacketCapturesListOptions contains the optional parameters for the PacketCaptures.List method. 11923type PacketCapturesListOptions struct { 11924 // placeholder for future optional parameters 11925} 11926 11927// PatchRouteFilter - Route Filter Resource. 11928type PatchRouteFilter struct { 11929 SubResource 11930 // Properties of the route filter. 11931 Properties *RouteFilterPropertiesFormat `json:"properties,omitempty"` 11932 11933 // Resource tags. 11934 Tags map[string]*string `json:"tags,omitempty"` 11935 11936 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11937 Etag *string `json:"etag,omitempty" azure:"ro"` 11938 11939 // READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. 11940 Name *string `json:"name,omitempty" azure:"ro"` 11941 11942 // READ-ONLY; Resource type. 11943 Type *string `json:"type,omitempty" azure:"ro"` 11944} 11945 11946// MarshalJSON implements the json.Marshaller interface for type PatchRouteFilter. 11947func (p PatchRouteFilter) MarshalJSON() ([]byte, error) { 11948 objectMap := p.SubResource.marshalInternal() 11949 populate(objectMap, "etag", p.Etag) 11950 populate(objectMap, "name", p.Name) 11951 populate(objectMap, "properties", p.Properties) 11952 populate(objectMap, "tags", p.Tags) 11953 populate(objectMap, "type", p.Type) 11954 return json.Marshal(objectMap) 11955} 11956 11957// PatchRouteFilterRule - Route Filter Rule Resource. 11958type PatchRouteFilterRule struct { 11959 SubResource 11960 // Properties of the route filter rule. 11961 Properties *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` 11962 11963 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11964 Etag *string `json:"etag,omitempty" azure:"ro"` 11965 11966 // READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. 11967 Name *string `json:"name,omitempty" azure:"ro"` 11968} 11969 11970// MarshalJSON implements the json.Marshaller interface for type PatchRouteFilterRule. 11971func (p PatchRouteFilterRule) MarshalJSON() ([]byte, error) { 11972 objectMap := p.SubResource.marshalInternal() 11973 populate(objectMap, "etag", p.Etag) 11974 populate(objectMap, "name", p.Name) 11975 populate(objectMap, "properties", p.Properties) 11976 return json.Marshal(objectMap) 11977} 11978 11979// PeerExpressRouteCircuitConnection - Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 11980type PeerExpressRouteCircuitConnection struct { 11981 SubResource 11982 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 11983 Name *string `json:"name,omitempty"` 11984 11985 // Properties of the peer express route circuit connection. 11986 Properties *PeerExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` 11987 11988 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11989 Etag *string `json:"etag,omitempty" azure:"ro"` 11990 11991 // READ-ONLY; Type of the resource. 11992 Type *string `json:"type,omitempty" azure:"ro"` 11993} 11994 11995// MarshalJSON implements the json.Marshaller interface for type PeerExpressRouteCircuitConnection. 11996func (p PeerExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { 11997 objectMap := p.SubResource.marshalInternal() 11998 populate(objectMap, "etag", p.Etag) 11999 populate(objectMap, "name", p.Name) 12000 populate(objectMap, "properties", p.Properties) 12001 populate(objectMap, "type", p.Type) 12002 return json.Marshal(objectMap) 12003} 12004 12005// PeerExpressRouteCircuitConnectionListResult - Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections 12006// that belongs to a Private Peering for an ExpressRouteCircuit. 12007type PeerExpressRouteCircuitConnectionListResult struct { 12008 // The URL to get the next set of results. 12009 NextLink *string `json:"nextLink,omitempty"` 12010 12011 // The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit. 12012 Value []*PeerExpressRouteCircuitConnection `json:"value,omitempty"` 12013} 12014 12015// MarshalJSON implements the json.Marshaller interface for type PeerExpressRouteCircuitConnectionListResult. 12016func (p PeerExpressRouteCircuitConnectionListResult) MarshalJSON() ([]byte, error) { 12017 objectMap := make(map[string]interface{}) 12018 populate(objectMap, "nextLink", p.NextLink) 12019 populate(objectMap, "value", p.Value) 12020 return json.Marshal(objectMap) 12021} 12022 12023// PeerExpressRouteCircuitConnectionPropertiesFormat - Properties of the peer express route circuit connection. 12024type PeerExpressRouteCircuitConnectionPropertiesFormat struct { 12025 // /29 IP address space to carve out Customer addresses for tunnels. 12026 AddressPrefix *string `json:"addressPrefix,omitempty"` 12027 12028 // The resource guid of the authorization used for the express route circuit connection. 12029 AuthResourceGUID *string `json:"authResourceGuid,omitempty"` 12030 12031 // The name of the express route circuit connection resource. 12032 ConnectionName *string `json:"connectionName,omitempty"` 12033 12034 // Reference to Express Route Circuit Private Peering Resource of the circuit. 12035 ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` 12036 12037 // Reference to Express Route Circuit Private Peering Resource of the peered circuit. 12038 PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` 12039 12040 // READ-ONLY; Express Route Circuit connection state. 12041 CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` 12042 12043 // READ-ONLY; The provisioning state of the peer express route circuit connection resource. 12044 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12045} 12046 12047// PeerExpressRouteCircuitConnectionsGetOptions contains the optional parameters for the PeerExpressRouteCircuitConnections.Get method. 12048type PeerExpressRouteCircuitConnectionsGetOptions struct { 12049 // placeholder for future optional parameters 12050} 12051 12052// PeerExpressRouteCircuitConnectionsListOptions contains the optional parameters for the PeerExpressRouteCircuitConnections.List method. 12053type PeerExpressRouteCircuitConnectionsListOptions struct { 12054 // placeholder for future optional parameters 12055} 12056 12057// PeerRoute - Peer routing details. 12058type PeerRoute struct { 12059 // READ-ONLY; The route's AS path sequence. 12060 AsPath *string `json:"asPath,omitempty" azure:"ro"` 12061 12062 // READ-ONLY; The peer's local address. 12063 LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` 12064 12065 // READ-ONLY; The route's network prefix. 12066 Network *string `json:"network,omitempty" azure:"ro"` 12067 12068 // READ-ONLY; The route's next hop. 12069 NextHop *string `json:"nextHop,omitempty" azure:"ro"` 12070 12071 // READ-ONLY; The source this route was learned from. 12072 Origin *string `json:"origin,omitempty" azure:"ro"` 12073 12074 // READ-ONLY; The peer this route was learned from. 12075 SourcePeer *string `json:"sourcePeer,omitempty" azure:"ro"` 12076 12077 // READ-ONLY; The route's weight. 12078 Weight *int32 `json:"weight,omitempty" azure:"ro"` 12079} 12080 12081// PeerRouteList - List of virtual router peer routes. 12082type PeerRouteList struct { 12083 // List of peer routes. 12084 Value []*PeerRoute `json:"value,omitempty"` 12085} 12086 12087// MarshalJSON implements the json.Marshaller interface for type PeerRouteList. 12088func (p PeerRouteList) MarshalJSON() ([]byte, error) { 12089 objectMap := make(map[string]interface{}) 12090 populate(objectMap, "value", p.Value) 12091 return json.Marshal(objectMap) 12092} 12093 12094// PolicySettings - Defines contents of a web application firewall global configuration. 12095type PolicySettings struct { 12096 // Maximum file upload size in Mb for WAF. 12097 FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` 12098 12099 // Maximum request body size in Kb for WAF. 12100 MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` 12101 12102 // The mode of the policy. 12103 Mode *WebApplicationFirewallMode `json:"mode,omitempty"` 12104 12105 // Whether to allow WAF to check request Body. 12106 RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` 12107 12108 // The state of the policy. 12109 State *WebApplicationFirewallEnabledState `json:"state,omitempty"` 12110} 12111 12112// PrepareNetworkPoliciesRequest - Details of PrepareNetworkPolicies for Subnet. 12113type PrepareNetworkPoliciesRequest struct { 12114 // A list of NetworkIntentPolicyConfiguration. 12115 NetworkIntentPolicyConfigurations []*NetworkIntentPolicyConfiguration `json:"networkIntentPolicyConfigurations,omitempty"` 12116 12117 // The name of the service for which subnet is being prepared for. 12118 ServiceName *string `json:"serviceName,omitempty"` 12119} 12120 12121// MarshalJSON implements the json.Marshaller interface for type PrepareNetworkPoliciesRequest. 12122func (p PrepareNetworkPoliciesRequest) MarshalJSON() ([]byte, error) { 12123 objectMap := make(map[string]interface{}) 12124 populate(objectMap, "networkIntentPolicyConfigurations", p.NetworkIntentPolicyConfigurations) 12125 populate(objectMap, "serviceName", p.ServiceName) 12126 return json.Marshal(objectMap) 12127} 12128 12129// PrivateDNSZoneConfig - PrivateDnsZoneConfig resource. 12130type PrivateDNSZoneConfig struct { 12131 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 12132 Name *string `json:"name,omitempty"` 12133 12134 // Properties of the private dns zone configuration. 12135 Properties *PrivateDNSZonePropertiesFormat `json:"properties,omitempty"` 12136} 12137 12138// PrivateDNSZoneGroup - Private dns zone group resource. 12139type PrivateDNSZoneGroup struct { 12140 SubResource 12141 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 12142 Name *string `json:"name,omitempty"` 12143 12144 // Properties of the private dns zone group. 12145 Properties *PrivateDNSZoneGroupPropertiesFormat `json:"properties,omitempty"` 12146 12147 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12148 Etag *string `json:"etag,omitempty" azure:"ro"` 12149} 12150 12151// MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroup. 12152func (p PrivateDNSZoneGroup) MarshalJSON() ([]byte, error) { 12153 objectMap := p.SubResource.marshalInternal() 12154 populate(objectMap, "etag", p.Etag) 12155 populate(objectMap, "name", p.Name) 12156 populate(objectMap, "properties", p.Properties) 12157 return json.Marshal(objectMap) 12158} 12159 12160// PrivateDNSZoneGroupListResult - Response for the ListPrivateDnsZoneGroups API service call. 12161type PrivateDNSZoneGroupListResult struct { 12162 // A list of private dns zone group resources in a private endpoint. 12163 Value []*PrivateDNSZoneGroup `json:"value,omitempty"` 12164 12165 // READ-ONLY; The URL to get the next set of results. 12166 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 12167} 12168 12169// MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroupListResult. 12170func (p PrivateDNSZoneGroupListResult) MarshalJSON() ([]byte, error) { 12171 objectMap := make(map[string]interface{}) 12172 populate(objectMap, "nextLink", p.NextLink) 12173 populate(objectMap, "value", p.Value) 12174 return json.Marshal(objectMap) 12175} 12176 12177// PrivateDNSZoneGroupPropertiesFormat - Properties of the private dns zone group. 12178type PrivateDNSZoneGroupPropertiesFormat struct { 12179 // A collection of private dns zone configurations of the private dns zone group. 12180 PrivateDNSZoneConfigs []*PrivateDNSZoneConfig `json:"privateDnsZoneConfigs,omitempty"` 12181 12182 // READ-ONLY; The provisioning state of the private dns zone group resource. 12183 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12184} 12185 12186// MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroupPropertiesFormat. 12187func (p PrivateDNSZoneGroupPropertiesFormat) MarshalJSON() ([]byte, error) { 12188 objectMap := make(map[string]interface{}) 12189 populate(objectMap, "privateDnsZoneConfigs", p.PrivateDNSZoneConfigs) 12190 populate(objectMap, "provisioningState", p.ProvisioningState) 12191 return json.Marshal(objectMap) 12192} 12193 12194// PrivateDNSZoneGroupsBeginCreateOrUpdateOptions contains the optional parameters for the PrivateDNSZoneGroups.BeginCreateOrUpdate method. 12195type PrivateDNSZoneGroupsBeginCreateOrUpdateOptions struct { 12196 // placeholder for future optional parameters 12197} 12198 12199// PrivateDNSZoneGroupsBeginDeleteOptions contains the optional parameters for the PrivateDNSZoneGroups.BeginDelete method. 12200type PrivateDNSZoneGroupsBeginDeleteOptions struct { 12201 // placeholder for future optional parameters 12202} 12203 12204// PrivateDNSZoneGroupsGetOptions contains the optional parameters for the PrivateDNSZoneGroups.Get method. 12205type PrivateDNSZoneGroupsGetOptions struct { 12206 // placeholder for future optional parameters 12207} 12208 12209// PrivateDNSZoneGroupsListOptions contains the optional parameters for the PrivateDNSZoneGroups.List method. 12210type PrivateDNSZoneGroupsListOptions struct { 12211 // placeholder for future optional parameters 12212} 12213 12214// PrivateDNSZonePropertiesFormat - Properties of the private dns zone configuration resource. 12215type PrivateDNSZonePropertiesFormat struct { 12216 // The resource id of the private dns zone. 12217 PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty"` 12218 12219 // READ-ONLY; A collection of information regarding a recordSet, holding information to identify private resources. 12220 RecordSets []*RecordSet `json:"recordSets,omitempty" azure:"ro"` 12221} 12222 12223// MarshalJSON implements the json.Marshaller interface for type PrivateDNSZonePropertiesFormat. 12224func (p PrivateDNSZonePropertiesFormat) MarshalJSON() ([]byte, error) { 12225 objectMap := make(map[string]interface{}) 12226 populate(objectMap, "privateDnsZoneId", p.PrivateDNSZoneID) 12227 populate(objectMap, "recordSets", p.RecordSets) 12228 return json.Marshal(objectMap) 12229} 12230 12231// PrivateEndpoint - Private endpoint resource. 12232type PrivateEndpoint struct { 12233 Resource 12234 // The extended location of the load balancer. 12235 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 12236 12237 // Properties of the private endpoint. 12238 Properties *PrivateEndpointProperties `json:"properties,omitempty"` 12239 12240 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12241 Etag *string `json:"etag,omitempty" azure:"ro"` 12242} 12243 12244// MarshalJSON implements the json.Marshaller interface for type PrivateEndpoint. 12245func (p PrivateEndpoint) MarshalJSON() ([]byte, error) { 12246 objectMap := p.Resource.marshalInternal() 12247 populate(objectMap, "etag", p.Etag) 12248 populate(objectMap, "extendedLocation", p.ExtendedLocation) 12249 populate(objectMap, "properties", p.Properties) 12250 return json.Marshal(objectMap) 12251} 12252 12253// PrivateEndpointConnection resource. 12254type PrivateEndpointConnection struct { 12255 SubResource 12256 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 12257 Name *string `json:"name,omitempty"` 12258 12259 // Properties of the private end point connection. 12260 Properties *PrivateEndpointConnectionProperties `json:"properties,omitempty"` 12261 12262 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12263 Etag *string `json:"etag,omitempty" azure:"ro"` 12264 12265 // READ-ONLY; The resource type. 12266 Type *string `json:"type,omitempty" azure:"ro"` 12267} 12268 12269// MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnection. 12270func (p PrivateEndpointConnection) MarshalJSON() ([]byte, error) { 12271 objectMap := p.SubResource.marshalInternal() 12272 populate(objectMap, "etag", p.Etag) 12273 populate(objectMap, "name", p.Name) 12274 populate(objectMap, "properties", p.Properties) 12275 populate(objectMap, "type", p.Type) 12276 return json.Marshal(objectMap) 12277} 12278 12279// PrivateEndpointConnectionListResult - Response for the ListPrivateEndpointConnection API service call. 12280type PrivateEndpointConnectionListResult struct { 12281 // A list of PrivateEndpointConnection resources for a specific private link service. 12282 Value []*PrivateEndpointConnection `json:"value,omitempty"` 12283 12284 // READ-ONLY; The URL to get the next set of results. 12285 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 12286} 12287 12288// MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnectionListResult. 12289func (p PrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { 12290 objectMap := make(map[string]interface{}) 12291 populate(objectMap, "nextLink", p.NextLink) 12292 populate(objectMap, "value", p.Value) 12293 return json.Marshal(objectMap) 12294} 12295 12296// PrivateEndpointConnectionProperties - Properties of the PrivateEndpointConnectProperties. 12297type PrivateEndpointConnectionProperties struct { 12298 // A collection of information about the state of the connection between service consumer and provider. 12299 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` 12300 12301 // READ-ONLY; The consumer link id. 12302 LinkIdentifier *string `json:"linkIdentifier,omitempty" azure:"ro"` 12303 12304 // READ-ONLY; The resource of private end point. 12305 PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` 12306 12307 // READ-ONLY; The provisioning state of the private endpoint connection resource. 12308 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12309} 12310 12311// PrivateEndpointListResult - Response for the ListPrivateEndpoints API service call. 12312type PrivateEndpointListResult struct { 12313 // A list of private endpoint resources in a resource group. 12314 Value []*PrivateEndpoint `json:"value,omitempty"` 12315 12316 // READ-ONLY; The URL to get the next set of results. 12317 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 12318} 12319 12320// MarshalJSON implements the json.Marshaller interface for type PrivateEndpointListResult. 12321func (p PrivateEndpointListResult) MarshalJSON() ([]byte, error) { 12322 objectMap := make(map[string]interface{}) 12323 populate(objectMap, "nextLink", p.NextLink) 12324 populate(objectMap, "value", p.Value) 12325 return json.Marshal(objectMap) 12326} 12327 12328// PrivateEndpointProperties - Properties of the private endpoint. 12329type PrivateEndpointProperties struct { 12330 // An array of custom dns configurations. 12331 CustomDNSConfigs []*CustomDNSConfigPropertiesFormat `json:"customDnsConfigs,omitempty"` 12332 12333 // 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 12334 // remote resource. 12335 ManualPrivateLinkServiceConnections []*PrivateLinkServiceConnection `json:"manualPrivateLinkServiceConnections,omitempty"` 12336 12337 // A grouping of information about the connection to the remote resource. 12338 PrivateLinkServiceConnections []*PrivateLinkServiceConnection `json:"privateLinkServiceConnections,omitempty"` 12339 12340 // The ID of the subnet from which the private IP will be allocated. 12341 Subnet *Subnet `json:"subnet,omitempty"` 12342 12343 // READ-ONLY; An array of references to the network interfaces created for this private endpoint. 12344 NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` 12345 12346 // READ-ONLY; The provisioning state of the private endpoint resource. 12347 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12348} 12349 12350// MarshalJSON implements the json.Marshaller interface for type PrivateEndpointProperties. 12351func (p PrivateEndpointProperties) MarshalJSON() ([]byte, error) { 12352 objectMap := make(map[string]interface{}) 12353 populate(objectMap, "customDnsConfigs", p.CustomDNSConfigs) 12354 populate(objectMap, "manualPrivateLinkServiceConnections", p.ManualPrivateLinkServiceConnections) 12355 populate(objectMap, "networkInterfaces", p.NetworkInterfaces) 12356 populate(objectMap, "privateLinkServiceConnections", p.PrivateLinkServiceConnections) 12357 populate(objectMap, "provisioningState", p.ProvisioningState) 12358 populate(objectMap, "subnet", p.Subnet) 12359 return json.Marshal(objectMap) 12360} 12361 12362// PrivateEndpointsBeginCreateOrUpdateOptions contains the optional parameters for the PrivateEndpoints.BeginCreateOrUpdate method. 12363type PrivateEndpointsBeginCreateOrUpdateOptions struct { 12364 // placeholder for future optional parameters 12365} 12366 12367// PrivateEndpointsBeginDeleteOptions contains the optional parameters for the PrivateEndpoints.BeginDelete method. 12368type PrivateEndpointsBeginDeleteOptions struct { 12369 // placeholder for future optional parameters 12370} 12371 12372// PrivateEndpointsGetOptions contains the optional parameters for the PrivateEndpoints.Get method. 12373type PrivateEndpointsGetOptions struct { 12374 // Expands referenced resources. 12375 Expand *string 12376} 12377 12378// PrivateEndpointsListBySubscriptionOptions contains the optional parameters for the PrivateEndpoints.ListBySubscription method. 12379type PrivateEndpointsListBySubscriptionOptions struct { 12380 // placeholder for future optional parameters 12381} 12382 12383// PrivateEndpointsListOptions contains the optional parameters for the PrivateEndpoints.List method. 12384type PrivateEndpointsListOptions struct { 12385 // placeholder for future optional parameters 12386} 12387 12388// PrivateLinkService - Private link service resource. 12389type PrivateLinkService struct { 12390 Resource 12391 // The extended location of the load balancer. 12392 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 12393 12394 // Properties of the private link service. 12395 Properties *PrivateLinkServiceProperties `json:"properties,omitempty"` 12396 12397 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12398 Etag *string `json:"etag,omitempty" azure:"ro"` 12399} 12400 12401// MarshalJSON implements the json.Marshaller interface for type PrivateLinkService. 12402func (p PrivateLinkService) MarshalJSON() ([]byte, error) { 12403 objectMap := p.Resource.marshalInternal() 12404 populate(objectMap, "etag", p.Etag) 12405 populate(objectMap, "extendedLocation", p.ExtendedLocation) 12406 populate(objectMap, "properties", p.Properties) 12407 return json.Marshal(objectMap) 12408} 12409 12410// PrivateLinkServiceConnection resource. 12411type PrivateLinkServiceConnection struct { 12412 SubResource 12413 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 12414 Name *string `json:"name,omitempty"` 12415 12416 // Properties of the private link service connection. 12417 Properties *PrivateLinkServiceConnectionProperties `json:"properties,omitempty"` 12418 12419 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12420 Etag *string `json:"etag,omitempty" azure:"ro"` 12421 12422 // READ-ONLY; The resource type. 12423 Type *string `json:"type,omitempty" azure:"ro"` 12424} 12425 12426// MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnection. 12427func (p PrivateLinkServiceConnection) MarshalJSON() ([]byte, error) { 12428 objectMap := p.SubResource.marshalInternal() 12429 populate(objectMap, "etag", p.Etag) 12430 populate(objectMap, "name", p.Name) 12431 populate(objectMap, "properties", p.Properties) 12432 populate(objectMap, "type", p.Type) 12433 return json.Marshal(objectMap) 12434} 12435 12436// PrivateLinkServiceConnectionProperties - Properties of the PrivateLinkServiceConnection. 12437type PrivateLinkServiceConnectionProperties struct { 12438 // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. 12439 GroupIDs []*string `json:"groupIds,omitempty"` 12440 12441 // A collection of read-only information about the state of the connection to the remote resource. 12442 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` 12443 12444 // The resource id of private link service. 12445 PrivateLinkServiceID *string `json:"privateLinkServiceId,omitempty"` 12446 12447 // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. 12448 RequestMessage *string `json:"requestMessage,omitempty"` 12449 12450 // READ-ONLY; The provisioning state of the private link service connection resource. 12451 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12452} 12453 12454// MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnectionProperties. 12455func (p PrivateLinkServiceConnectionProperties) MarshalJSON() ([]byte, error) { 12456 objectMap := make(map[string]interface{}) 12457 populate(objectMap, "groupIds", p.GroupIDs) 12458 populate(objectMap, "privateLinkServiceConnectionState", p.PrivateLinkServiceConnectionState) 12459 populate(objectMap, "privateLinkServiceId", p.PrivateLinkServiceID) 12460 populate(objectMap, "provisioningState", p.ProvisioningState) 12461 populate(objectMap, "requestMessage", p.RequestMessage) 12462 return json.Marshal(objectMap) 12463} 12464 12465// PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. 12466type PrivateLinkServiceConnectionState struct { 12467 // A message indicating if changes on the service provider require any updates on the consumer. 12468 ActionsRequired *string `json:"actionsRequired,omitempty"` 12469 12470 // The reason for approval/rejection of the connection. 12471 Description *string `json:"description,omitempty"` 12472 12473 // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. 12474 Status *string `json:"status,omitempty"` 12475} 12476 12477// PrivateLinkServiceIPConfiguration - The private link service ip configuration. 12478type PrivateLinkServiceIPConfiguration struct { 12479 SubResource 12480 // The name of private link service ip configuration. 12481 Name *string `json:"name,omitempty"` 12482 12483 // Properties of the private link service ip configuration. 12484 Properties *PrivateLinkServiceIPConfigurationProperties `json:"properties,omitempty"` 12485 12486 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12487 Etag *string `json:"etag,omitempty" azure:"ro"` 12488 12489 // READ-ONLY; The resource type. 12490 Type *string `json:"type,omitempty" azure:"ro"` 12491} 12492 12493// MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceIPConfiguration. 12494func (p PrivateLinkServiceIPConfiguration) MarshalJSON() ([]byte, error) { 12495 objectMap := p.SubResource.marshalInternal() 12496 populate(objectMap, "etag", p.Etag) 12497 populate(objectMap, "name", p.Name) 12498 populate(objectMap, "properties", p.Properties) 12499 populate(objectMap, "type", p.Type) 12500 return json.Marshal(objectMap) 12501} 12502 12503// PrivateLinkServiceIPConfigurationProperties - Properties of private link service IP configuration. 12504type PrivateLinkServiceIPConfigurationProperties struct { 12505 // Whether the ip configuration is primary or not. 12506 Primary *bool `json:"primary,omitempty"` 12507 12508 // The private IP address of the IP configuration. 12509 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 12510 12511 // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. 12512 PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` 12513 12514 // The private IP address allocation method. 12515 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 12516 12517 // The reference to the subnet resource. 12518 Subnet *Subnet `json:"subnet,omitempty"` 12519 12520 // READ-ONLY; The provisioning state of the private link service IP configuration resource. 12521 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12522} 12523 12524// PrivateLinkServiceListResult - Response for the ListPrivateLinkService API service call. 12525type PrivateLinkServiceListResult struct { 12526 // A list of PrivateLinkService resources in a resource group. 12527 Value []*PrivateLinkService `json:"value,omitempty"` 12528 12529 // READ-ONLY; The URL to get the next set of results. 12530 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 12531} 12532 12533// MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceListResult. 12534func (p PrivateLinkServiceListResult) MarshalJSON() ([]byte, error) { 12535 objectMap := make(map[string]interface{}) 12536 populate(objectMap, "nextLink", p.NextLink) 12537 populate(objectMap, "value", p.Value) 12538 return json.Marshal(objectMap) 12539} 12540 12541// PrivateLinkServiceProperties - Properties of the private link service. 12542type PrivateLinkServiceProperties struct { 12543 // The auto-approval list of the private link service. 12544 AutoApproval *PrivateLinkServicePropertiesAutoApproval `json:"autoApproval,omitempty"` 12545 12546 // Whether the private link service is enabled for proxy protocol or not. 12547 EnableProxyProtocol *bool `json:"enableProxyProtocol,omitempty"` 12548 12549 // The list of Fqdn. 12550 Fqdns []*string `json:"fqdns,omitempty"` 12551 12552 // An array of private link service IP configurations. 12553 IPConfigurations []*PrivateLinkServiceIPConfiguration `json:"ipConfigurations,omitempty"` 12554 12555 // An array of references to the load balancer IP configurations. 12556 LoadBalancerFrontendIPConfigurations []*FrontendIPConfiguration `json:"loadBalancerFrontendIpConfigurations,omitempty"` 12557 12558 // The visibility list of the private link service. 12559 Visibility *PrivateLinkServicePropertiesVisibility `json:"visibility,omitempty"` 12560 12561 // READ-ONLY; The alias of the private link service. 12562 Alias *string `json:"alias,omitempty" azure:"ro"` 12563 12564 // READ-ONLY; An array of references to the network interfaces created for this private link service. 12565 NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` 12566 12567 // READ-ONLY; An array of list about connections to the private endpoint. 12568 PrivateEndpointConnections []*PrivateEndpointConnection `json:"privateEndpointConnections,omitempty" azure:"ro"` 12569 12570 // READ-ONLY; The provisioning state of the private link service resource. 12571 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12572} 12573 12574// MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceProperties. 12575func (p PrivateLinkServiceProperties) MarshalJSON() ([]byte, error) { 12576 objectMap := make(map[string]interface{}) 12577 populate(objectMap, "alias", p.Alias) 12578 populate(objectMap, "autoApproval", p.AutoApproval) 12579 populate(objectMap, "enableProxyProtocol", p.EnableProxyProtocol) 12580 populate(objectMap, "fqdns", p.Fqdns) 12581 populate(objectMap, "ipConfigurations", p.IPConfigurations) 12582 populate(objectMap, "loadBalancerFrontendIpConfigurations", p.LoadBalancerFrontendIPConfigurations) 12583 populate(objectMap, "networkInterfaces", p.NetworkInterfaces) 12584 populate(objectMap, "privateEndpointConnections", p.PrivateEndpointConnections) 12585 populate(objectMap, "provisioningState", p.ProvisioningState) 12586 populate(objectMap, "visibility", p.Visibility) 12587 return json.Marshal(objectMap) 12588} 12589 12590// PrivateLinkServicePropertiesAutoApproval - The auto-approval list of the private link service. 12591type PrivateLinkServicePropertiesAutoApproval struct { 12592 ResourceSet 12593} 12594 12595// PrivateLinkServicePropertiesVisibility - The visibility list of the private link service. 12596type PrivateLinkServicePropertiesVisibility struct { 12597 ResourceSet 12598} 12599 12600// PrivateLinkServiceVisibility - Response for the CheckPrivateLinkServiceVisibility API service call. 12601type PrivateLinkServiceVisibility struct { 12602 // Private Link Service Visibility (True/False). 12603 Visible *bool `json:"visible,omitempty"` 12604} 12605 12606// PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityByResourceGroupOptions contains the optional parameters for the PrivateLinkServices.BeginCheckPrivateLinkServiceVisibilityByResourceGroup 12607// method. 12608type PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityByResourceGroupOptions struct { 12609 // placeholder for future optional parameters 12610} 12611 12612// PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityOptions contains the optional parameters for the PrivateLinkServices.BeginCheckPrivateLinkServiceVisibility 12613// method. 12614type PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityOptions struct { 12615 // placeholder for future optional parameters 12616} 12617 12618// PrivateLinkServicesBeginCreateOrUpdateOptions contains the optional parameters for the PrivateLinkServices.BeginCreateOrUpdate method. 12619type PrivateLinkServicesBeginCreateOrUpdateOptions struct { 12620 // placeholder for future optional parameters 12621} 12622 12623// PrivateLinkServicesBeginDeleteOptions contains the optional parameters for the PrivateLinkServices.BeginDelete method. 12624type PrivateLinkServicesBeginDeleteOptions struct { 12625 // placeholder for future optional parameters 12626} 12627 12628// PrivateLinkServicesBeginDeletePrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.BeginDeletePrivateEndpointConnection 12629// method. 12630type PrivateLinkServicesBeginDeletePrivateEndpointConnectionOptions struct { 12631 // placeholder for future optional parameters 12632} 12633 12634// PrivateLinkServicesGetOptions contains the optional parameters for the PrivateLinkServices.Get method. 12635type PrivateLinkServicesGetOptions struct { 12636 // Expands referenced resources. 12637 Expand *string 12638} 12639 12640// PrivateLinkServicesGetPrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.GetPrivateEndpointConnection method. 12641type PrivateLinkServicesGetPrivateEndpointConnectionOptions struct { 12642 // Expands referenced resources. 12643 Expand *string 12644} 12645 12646// PrivateLinkServicesListAutoApprovedPrivateLinkServicesByResourceGroupOptions contains the optional parameters for the PrivateLinkServices.ListAutoApprovedPrivateLinkServicesByResourceGroup 12647// method. 12648type PrivateLinkServicesListAutoApprovedPrivateLinkServicesByResourceGroupOptions struct { 12649 // placeholder for future optional parameters 12650} 12651 12652// PrivateLinkServicesListAutoApprovedPrivateLinkServicesOptions contains the optional parameters for the PrivateLinkServices.ListAutoApprovedPrivateLinkServices 12653// method. 12654type PrivateLinkServicesListAutoApprovedPrivateLinkServicesOptions struct { 12655 // placeholder for future optional parameters 12656} 12657 12658// PrivateLinkServicesListBySubscriptionOptions contains the optional parameters for the PrivateLinkServices.ListBySubscription method. 12659type PrivateLinkServicesListBySubscriptionOptions struct { 12660 // placeholder for future optional parameters 12661} 12662 12663// PrivateLinkServicesListOptions contains the optional parameters for the PrivateLinkServices.List method. 12664type PrivateLinkServicesListOptions struct { 12665 // placeholder for future optional parameters 12666} 12667 12668// PrivateLinkServicesListPrivateEndpointConnectionsOptions contains the optional parameters for the PrivateLinkServices.ListPrivateEndpointConnections 12669// method. 12670type PrivateLinkServicesListPrivateEndpointConnectionsOptions struct { 12671 // placeholder for future optional parameters 12672} 12673 12674// PrivateLinkServicesUpdatePrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.UpdatePrivateEndpointConnection 12675// method. 12676type PrivateLinkServicesUpdatePrivateEndpointConnectionOptions struct { 12677 // placeholder for future optional parameters 12678} 12679 12680// Probe - A load balancer probe. 12681type Probe struct { 12682 SubResource 12683 // 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. 12684 Name *string `json:"name,omitempty"` 12685 12686 // Properties of load balancer probe. 12687 Properties *ProbePropertiesFormat `json:"properties,omitempty"` 12688 12689 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12690 Etag *string `json:"etag,omitempty" azure:"ro"` 12691 12692 // READ-ONLY; Type of the resource. 12693 Type *string `json:"type,omitempty" azure:"ro"` 12694} 12695 12696// MarshalJSON implements the json.Marshaller interface for type Probe. 12697func (p Probe) MarshalJSON() ([]byte, error) { 12698 objectMap := p.SubResource.marshalInternal() 12699 populate(objectMap, "etag", p.Etag) 12700 populate(objectMap, "name", p.Name) 12701 populate(objectMap, "properties", p.Properties) 12702 populate(objectMap, "type", p.Type) 12703 return json.Marshal(objectMap) 12704} 12705 12706// ProbePropertiesFormat - Load balancer probe resource. 12707type ProbePropertiesFormat struct { 12708 // REQUIRED; The port for communicating the probe. Possible values range from 1 to 65535, inclusive. 12709 Port *int32 `json:"port,omitempty"` 12710 12711 // 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, 12712 // a 200 OK response from the specifies URI is required 12713 // for the probe to be successful. 12714 Protocol *ProbeProtocol `json:"protocol,omitempty"` 12715 12716 // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated 12717 // timeout period (in seconds) which allows two full 12718 // probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. 12719 IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` 12720 12721 // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints 12722 // to be taken out of rotation faster or slower than 12723 // the typical times used in Azure. 12724 NumberOfProbes *int32 `json:"numberOfProbes,omitempty"` 12725 12726 // 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 12727 // value. 12728 RequestPath *string `json:"requestPath,omitempty"` 12729 12730 // READ-ONLY; The load balancer rules that use this probe. 12731 LoadBalancingRules []*SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` 12732 12733 // READ-ONLY; The provisioning state of the probe resource. 12734 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12735} 12736 12737// MarshalJSON implements the json.Marshaller interface for type ProbePropertiesFormat. 12738func (p ProbePropertiesFormat) MarshalJSON() ([]byte, error) { 12739 objectMap := make(map[string]interface{}) 12740 populate(objectMap, "intervalInSeconds", p.IntervalInSeconds) 12741 populate(objectMap, "loadBalancingRules", p.LoadBalancingRules) 12742 populate(objectMap, "numberOfProbes", p.NumberOfProbes) 12743 populate(objectMap, "port", p.Port) 12744 populate(objectMap, "protocol", p.Protocol) 12745 populate(objectMap, "provisioningState", p.ProvisioningState) 12746 populate(objectMap, "requestPath", p.RequestPath) 12747 return json.Marshal(objectMap) 12748} 12749 12750// PropagatedRouteTable - The list of RouteTables to advertise the routes to. 12751type PropagatedRouteTable struct { 12752 // The list of resource ids of all the RouteTables. 12753 IDs []*SubResource `json:"ids,omitempty"` 12754 12755 // The list of labels. 12756 Labels []*string `json:"labels,omitempty"` 12757} 12758 12759// MarshalJSON implements the json.Marshaller interface for type PropagatedRouteTable. 12760func (p PropagatedRouteTable) MarshalJSON() ([]byte, error) { 12761 objectMap := make(map[string]interface{}) 12762 populate(objectMap, "ids", p.IDs) 12763 populate(objectMap, "labels", p.Labels) 12764 return json.Marshal(objectMap) 12765} 12766 12767// ProtocolConfiguration - Configuration of the protocol. 12768type ProtocolConfiguration struct { 12769 // HTTP configuration of the connectivity check. 12770 HTTPConfiguration *HTTPConfiguration `json:"HTTPConfiguration,omitempty"` 12771} 12772 12773// ProtocolCustomSettingsFormat - DDoS custom policy properties. 12774type ProtocolCustomSettingsFormat struct { 12775 // The protocol for which the DDoS protection policy is being customized. 12776 Protocol *DdosCustomPolicyProtocol `json:"protocol,omitempty"` 12777 12778 // The customized DDoS protection source rate. 12779 SourceRateOverride *string `json:"sourceRateOverride,omitempty"` 12780 12781 // The customized DDoS protection trigger rate. 12782 TriggerRateOverride *string `json:"triggerRateOverride,omitempty"` 12783 12784 // The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger 12785 // rate set with moderate sensitivity w.r.t. normal 12786 // 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. 12787 TriggerSensitivityOverride *DdosCustomPolicyTriggerSensitivityOverride `json:"triggerSensitivityOverride,omitempty"` 12788} 12789 12790// PublicIPAddress - Public IP address resource. 12791type PublicIPAddress struct { 12792 Resource 12793 // The extended location of the public ip address. 12794 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 12795 12796 // Public IP address properties. 12797 Properties *PublicIPAddressPropertiesFormat `json:"properties,omitempty"` 12798 12799 // The public IP address SKU. 12800 SKU *PublicIPAddressSKU `json:"sku,omitempty"` 12801 12802 // A list of availability zones denoting the IP allocated for the resource needs to come from. 12803 Zones []*string `json:"zones,omitempty"` 12804 12805 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12806 Etag *string `json:"etag,omitempty" azure:"ro"` 12807} 12808 12809// MarshalJSON implements the json.Marshaller interface for type PublicIPAddress. 12810func (p PublicIPAddress) MarshalJSON() ([]byte, error) { 12811 objectMap := p.Resource.marshalInternal() 12812 populate(objectMap, "etag", p.Etag) 12813 populate(objectMap, "extendedLocation", p.ExtendedLocation) 12814 populate(objectMap, "properties", p.Properties) 12815 populate(objectMap, "sku", p.SKU) 12816 populate(objectMap, "zones", p.Zones) 12817 return json.Marshal(objectMap) 12818} 12819 12820// PublicIPAddressDNSSettings - Contains FQDN of the DNS record associated with the public IP address. 12821type PublicIPAddressDNSSettings struct { 12822 // 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 12823 // the public IP address. If a domain name label is 12824 // specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. 12825 DomainNameLabel *string `json:"domainNameLabel,omitempty"` 12826 12827 // 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 12828 // DNS zone. 12829 Fqdn *string `json:"fqdn,omitempty"` 12830 12831 // 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 12832 // record is created pointing from the IP address in 12833 // the in-addr.arpa domain to the reverse FQDN. 12834 ReverseFqdn *string `json:"reverseFqdn,omitempty"` 12835} 12836 12837// PublicIPAddressListResult - Response for ListPublicIpAddresses API service call. 12838type PublicIPAddressListResult struct { 12839 // The URL to get the next set of results. 12840 NextLink *string `json:"nextLink,omitempty"` 12841 12842 // A list of public IP addresses that exists in a resource group. 12843 Value []*PublicIPAddress `json:"value,omitempty"` 12844} 12845 12846// MarshalJSON implements the json.Marshaller interface for type PublicIPAddressListResult. 12847func (p PublicIPAddressListResult) MarshalJSON() ([]byte, error) { 12848 objectMap := make(map[string]interface{}) 12849 populate(objectMap, "nextLink", p.NextLink) 12850 populate(objectMap, "value", p.Value) 12851 return json.Marshal(objectMap) 12852} 12853 12854// PublicIPAddressPropertiesFormat - Public IP address properties. 12855type PublicIPAddressPropertiesFormat struct { 12856 // The FQDN of the DNS record associated with the public IP address. 12857 DNSSettings *PublicIPAddressDNSSettings `json:"dnsSettings,omitempty"` 12858 12859 // The DDoS protection custom policy associated with the public IP address. 12860 DdosSettings *DdosSettings `json:"ddosSettings,omitempty"` 12861 12862 // Specify what happens to the public IP address when the VM using it is deleted 12863 DeleteOption *DeleteOptions `json:"deleteOption,omitempty"` 12864 12865 // The IP address associated with the public IP address resource. 12866 IPAddress *string `json:"ipAddress,omitempty"` 12867 12868 // The list of tags associated with the public IP address. 12869 IPTags []*IPTag `json:"ipTags,omitempty"` 12870 12871 // The idle timeout of the public IP address. 12872 IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 12873 12874 // The linked public IP address of the public IP address resource. 12875 LinkedPublicIPAddress *PublicIPAddress `json:"linkedPublicIPAddress,omitempty"` 12876 12877 // Migration phase of Public IP Address. 12878 MigrationPhase *PublicIPAddressMigrationPhase `json:"migrationPhase,omitempty"` 12879 12880 // The NatGateway for the Public IP address. 12881 NatGateway *NatGateway `json:"natGateway,omitempty"` 12882 12883 // The public IP address version. 12884 PublicIPAddressVersion *IPVersion `json:"publicIPAddressVersion,omitempty"` 12885 12886 // The public IP address allocation method. 12887 PublicIPAllocationMethod *IPAllocationMethod `json:"publicIPAllocationMethod,omitempty"` 12888 12889 // The Public IP Prefix this Public IP Address should be allocated from. 12890 PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` 12891 12892 // The service public IP address of the public IP address resource. 12893 ServicePublicIPAddress *PublicIPAddress `json:"servicePublicIPAddress,omitempty"` 12894 12895 // READ-ONLY; The IP configuration associated with the public IP address. 12896 IPConfiguration *IPConfiguration `json:"ipConfiguration,omitempty" azure:"ro"` 12897 12898 // READ-ONLY; The provisioning state of the public IP address resource. 12899 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12900 12901 // READ-ONLY; The resource GUID property of the public IP address resource. 12902 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 12903} 12904 12905// MarshalJSON implements the json.Marshaller interface for type PublicIPAddressPropertiesFormat. 12906func (p PublicIPAddressPropertiesFormat) MarshalJSON() ([]byte, error) { 12907 objectMap := make(map[string]interface{}) 12908 populate(objectMap, "dnsSettings", p.DNSSettings) 12909 populate(objectMap, "ddosSettings", p.DdosSettings) 12910 populate(objectMap, "deleteOption", p.DeleteOption) 12911 populate(objectMap, "ipAddress", p.IPAddress) 12912 populate(objectMap, "ipConfiguration", p.IPConfiguration) 12913 populate(objectMap, "ipTags", p.IPTags) 12914 populate(objectMap, "idleTimeoutInMinutes", p.IdleTimeoutInMinutes) 12915 populate(objectMap, "linkedPublicIPAddress", p.LinkedPublicIPAddress) 12916 populate(objectMap, "migrationPhase", p.MigrationPhase) 12917 populate(objectMap, "natGateway", p.NatGateway) 12918 populate(objectMap, "provisioningState", p.ProvisioningState) 12919 populate(objectMap, "publicIPAddressVersion", p.PublicIPAddressVersion) 12920 populate(objectMap, "publicIPAllocationMethod", p.PublicIPAllocationMethod) 12921 populate(objectMap, "publicIPPrefix", p.PublicIPPrefix) 12922 populate(objectMap, "resourceGuid", p.ResourceGUID) 12923 populate(objectMap, "servicePublicIPAddress", p.ServicePublicIPAddress) 12924 return json.Marshal(objectMap) 12925} 12926 12927// PublicIPAddressSKU - SKU of a public IP address. 12928type PublicIPAddressSKU struct { 12929 // Name of a public IP address SKU. 12930 Name *PublicIPAddressSKUName `json:"name,omitempty"` 12931 12932 // Tier of a public IP address SKU. 12933 Tier *PublicIPAddressSKUTier `json:"tier,omitempty"` 12934} 12935 12936// PublicIPAddressesBeginCreateOrUpdateOptions contains the optional parameters for the PublicIPAddresses.BeginCreateOrUpdate method. 12937type PublicIPAddressesBeginCreateOrUpdateOptions struct { 12938 // placeholder for future optional parameters 12939} 12940 12941// PublicIPAddressesBeginDeleteOptions contains the optional parameters for the PublicIPAddresses.BeginDelete method. 12942type PublicIPAddressesBeginDeleteOptions struct { 12943 // placeholder for future optional parameters 12944} 12945 12946// PublicIPAddressesGetCloudServicePublicIPAddressOptions contains the optional parameters for the PublicIPAddresses.GetCloudServicePublicIPAddress method. 12947type PublicIPAddressesGetCloudServicePublicIPAddressOptions struct { 12948 // Expands referenced resources. 12949 Expand *string 12950} 12951 12952// PublicIPAddressesGetOptions contains the optional parameters for the PublicIPAddresses.Get method. 12953type PublicIPAddressesGetOptions struct { 12954 // Expands referenced resources. 12955 Expand *string 12956} 12957 12958// PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptions contains the optional parameters for the PublicIPAddresses.GetVirtualMachineScaleSetPublicIPAddress 12959// method. 12960type PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptions struct { 12961 // Expands referenced resources. 12962 Expand *string 12963} 12964 12965// PublicIPAddressesListAllOptions contains the optional parameters for the PublicIPAddresses.ListAll method. 12966type PublicIPAddressesListAllOptions struct { 12967 // placeholder for future optional parameters 12968} 12969 12970// PublicIPAddressesListCloudServicePublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListCloudServicePublicIPAddresses 12971// method. 12972type PublicIPAddressesListCloudServicePublicIPAddressesOptions struct { 12973 // placeholder for future optional parameters 12974} 12975 12976// PublicIPAddressesListCloudServiceRoleInstancePublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListCloudServiceRoleInstancePublicIPAddresses 12977// method. 12978type PublicIPAddressesListCloudServiceRoleInstancePublicIPAddressesOptions struct { 12979 // placeholder for future optional parameters 12980} 12981 12982// PublicIPAddressesListOptions contains the optional parameters for the PublicIPAddresses.List method. 12983type PublicIPAddressesListOptions struct { 12984 // placeholder for future optional parameters 12985} 12986 12987// PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListVirtualMachineScaleSetPublicIPAddresses 12988// method. 12989type PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesOptions struct { 12990 // placeholder for future optional parameters 12991} 12992 12993// PublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListVirtualMachineScaleSetVMPublicIPAddresses 12994// method. 12995type PublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesOptions struct { 12996 // placeholder for future optional parameters 12997} 12998 12999// PublicIPAddressesUpdateTagsOptions contains the optional parameters for the PublicIPAddresses.UpdateTags method. 13000type PublicIPAddressesUpdateTagsOptions struct { 13001 // placeholder for future optional parameters 13002} 13003 13004// PublicIPPrefix - Public IP prefix resource. 13005type PublicIPPrefix struct { 13006 Resource 13007 // The extended location of the public ip address. 13008 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 13009 13010 // Public IP prefix properties. 13011 Properties *PublicIPPrefixPropertiesFormat `json:"properties,omitempty"` 13012 13013 // The public IP prefix SKU. 13014 SKU *PublicIPPrefixSKU `json:"sku,omitempty"` 13015 13016 // A list of availability zones denoting the IP allocated for the resource needs to come from. 13017 Zones []*string `json:"zones,omitempty"` 13018 13019 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13020 Etag *string `json:"etag,omitempty" azure:"ro"` 13021} 13022 13023// MarshalJSON implements the json.Marshaller interface for type PublicIPPrefix. 13024func (p PublicIPPrefix) MarshalJSON() ([]byte, error) { 13025 objectMap := p.Resource.marshalInternal() 13026 populate(objectMap, "etag", p.Etag) 13027 populate(objectMap, "extendedLocation", p.ExtendedLocation) 13028 populate(objectMap, "properties", p.Properties) 13029 populate(objectMap, "sku", p.SKU) 13030 populate(objectMap, "zones", p.Zones) 13031 return json.Marshal(objectMap) 13032} 13033 13034// PublicIPPrefixListResult - Response for ListPublicIpPrefixes API service call. 13035type PublicIPPrefixListResult struct { 13036 // The URL to get the next set of results. 13037 NextLink *string `json:"nextLink,omitempty"` 13038 13039 // A list of public IP prefixes that exists in a resource group. 13040 Value []*PublicIPPrefix `json:"value,omitempty"` 13041} 13042 13043// MarshalJSON implements the json.Marshaller interface for type PublicIPPrefixListResult. 13044func (p PublicIPPrefixListResult) MarshalJSON() ([]byte, error) { 13045 objectMap := make(map[string]interface{}) 13046 populate(objectMap, "nextLink", p.NextLink) 13047 populate(objectMap, "value", p.Value) 13048 return json.Marshal(objectMap) 13049} 13050 13051// PublicIPPrefixPropertiesFormat - Public IP prefix properties. 13052type PublicIPPrefixPropertiesFormat struct { 13053 // The customIpPrefix that this prefix is associated with. 13054 CustomIPPrefix *SubResource `json:"customIPPrefix,omitempty"` 13055 13056 // The list of tags associated with the public IP prefix. 13057 IPTags []*IPTag `json:"ipTags,omitempty"` 13058 13059 // NatGateway of Public IP Prefix. 13060 NatGateway *NatGateway `json:"natGateway,omitempty"` 13061 13062 // The Length of the Public IP Prefix. 13063 PrefixLength *int32 `json:"prefixLength,omitempty"` 13064 13065 // The public IP address version. 13066 PublicIPAddressVersion *IPVersion `json:"publicIPAddressVersion,omitempty"` 13067 13068 // READ-ONLY; The allocated Prefix. 13069 IPPrefix *string `json:"ipPrefix,omitempty" azure:"ro"` 13070 13071 // READ-ONLY; The reference to load balancer frontend IP configuration associated with the public IP prefix. 13072 LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIpConfiguration,omitempty" azure:"ro"` 13073 13074 // READ-ONLY; The provisioning state of the public IP prefix resource. 13075 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13076 13077 // READ-ONLY; The list of all referenced PublicIPAddresses. 13078 PublicIPAddresses []*ReferencedPublicIPAddress `json:"publicIPAddresses,omitempty" azure:"ro"` 13079 13080 // READ-ONLY; The resource GUID property of the public IP prefix resource. 13081 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 13082} 13083 13084// MarshalJSON implements the json.Marshaller interface for type PublicIPPrefixPropertiesFormat. 13085func (p PublicIPPrefixPropertiesFormat) MarshalJSON() ([]byte, error) { 13086 objectMap := make(map[string]interface{}) 13087 populate(objectMap, "customIPPrefix", p.CustomIPPrefix) 13088 populate(objectMap, "ipPrefix", p.IPPrefix) 13089 populate(objectMap, "ipTags", p.IPTags) 13090 populate(objectMap, "loadBalancerFrontendIpConfiguration", p.LoadBalancerFrontendIPConfiguration) 13091 populate(objectMap, "natGateway", p.NatGateway) 13092 populate(objectMap, "prefixLength", p.PrefixLength) 13093 populate(objectMap, "provisioningState", p.ProvisioningState) 13094 populate(objectMap, "publicIPAddressVersion", p.PublicIPAddressVersion) 13095 populate(objectMap, "publicIPAddresses", p.PublicIPAddresses) 13096 populate(objectMap, "resourceGuid", p.ResourceGUID) 13097 return json.Marshal(objectMap) 13098} 13099 13100// PublicIPPrefixSKU - SKU of a public IP prefix. 13101type PublicIPPrefixSKU struct { 13102 // Name of a public IP prefix SKU. 13103 Name *PublicIPPrefixSKUName `json:"name,omitempty"` 13104 13105 // Tier of a public IP prefix SKU. 13106 Tier *PublicIPPrefixSKUTier `json:"tier,omitempty"` 13107} 13108 13109// PublicIPPrefixesBeginCreateOrUpdateOptions contains the optional parameters for the PublicIPPrefixes.BeginCreateOrUpdate method. 13110type PublicIPPrefixesBeginCreateOrUpdateOptions struct { 13111 // placeholder for future optional parameters 13112} 13113 13114// PublicIPPrefixesBeginDeleteOptions contains the optional parameters for the PublicIPPrefixes.BeginDelete method. 13115type PublicIPPrefixesBeginDeleteOptions struct { 13116 // placeholder for future optional parameters 13117} 13118 13119// PublicIPPrefixesGetOptions contains the optional parameters for the PublicIPPrefixes.Get method. 13120type PublicIPPrefixesGetOptions struct { 13121 // Expands referenced resources. 13122 Expand *string 13123} 13124 13125// PublicIPPrefixesListAllOptions contains the optional parameters for the PublicIPPrefixes.ListAll method. 13126type PublicIPPrefixesListAllOptions struct { 13127 // placeholder for future optional parameters 13128} 13129 13130// PublicIPPrefixesListOptions contains the optional parameters for the PublicIPPrefixes.List method. 13131type PublicIPPrefixesListOptions struct { 13132 // placeholder for future optional parameters 13133} 13134 13135// PublicIPPrefixesUpdateTagsOptions contains the optional parameters for the PublicIPPrefixes.UpdateTags method. 13136type PublicIPPrefixesUpdateTagsOptions struct { 13137 // placeholder for future optional parameters 13138} 13139 13140// QosIPRange - Qos Traffic Profiler IP Range properties. 13141type QosIPRange struct { 13142 // End IP Address. 13143 EndIP *string `json:"endIP,omitempty"` 13144 13145 // Start IP Address. 13146 StartIP *string `json:"startIP,omitempty"` 13147} 13148 13149// QosPortRange - Qos Traffic Profiler Port range properties. 13150type QosPortRange struct { 13151 // Qos Port Range end. 13152 End *int32 `json:"end,omitempty"` 13153 13154 // Qos Port Range start. 13155 Start *int32 `json:"start,omitempty"` 13156} 13157 13158// QueryTroubleshootingParameters - Parameters that define the resource to query the troubleshooting result. 13159type QueryTroubleshootingParameters struct { 13160 // REQUIRED; The target resource ID to query the troubleshooting result. 13161 TargetResourceID *string `json:"targetResourceId,omitempty"` 13162} 13163 13164// RadiusServer - Radius Server Settings. 13165type RadiusServer struct { 13166 // REQUIRED; The address of this radius server. 13167 RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` 13168 13169 // The initial score assigned to this radius server. 13170 RadiusServerScore *int64 `json:"radiusServerScore,omitempty"` 13171 13172 // The secret used for this radius server. 13173 RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` 13174} 13175 13176// RecordSet - A collective group of information about the record set information. 13177type RecordSet struct { 13178 // Fqdn that resolves to private endpoint ip address. 13179 Fqdn *string `json:"fqdn,omitempty"` 13180 13181 // The private ip address of the private endpoint. 13182 IPAddresses []*string `json:"ipAddresses,omitempty"` 13183 13184 // Recordset name. 13185 RecordSetName *string `json:"recordSetName,omitempty"` 13186 13187 // Resource record type. 13188 RecordType *string `json:"recordType,omitempty"` 13189 13190 // Recordset time to live. 13191 TTL *int32 `json:"ttl,omitempty"` 13192 13193 // READ-ONLY; The provisioning state of the recordset. 13194 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13195} 13196 13197// MarshalJSON implements the json.Marshaller interface for type RecordSet. 13198func (r RecordSet) MarshalJSON() ([]byte, error) { 13199 objectMap := make(map[string]interface{}) 13200 populate(objectMap, "fqdn", r.Fqdn) 13201 populate(objectMap, "ipAddresses", r.IPAddresses) 13202 populate(objectMap, "provisioningState", r.ProvisioningState) 13203 populate(objectMap, "recordSetName", r.RecordSetName) 13204 populate(objectMap, "recordType", r.RecordType) 13205 populate(objectMap, "ttl", r.TTL) 13206 return json.Marshal(objectMap) 13207} 13208 13209// ReferencedPublicIPAddress - Reference to a public IP address. 13210type ReferencedPublicIPAddress struct { 13211 // The PublicIPAddress Reference. 13212 ID *string `json:"id,omitempty"` 13213} 13214 13215// Resource - Common resource representation. 13216type Resource struct { 13217 // Resource ID. 13218 ID *string `json:"id,omitempty"` 13219 13220 // Resource location. 13221 Location *string `json:"location,omitempty"` 13222 13223 // Resource tags. 13224 Tags map[string]*string `json:"tags,omitempty"` 13225 13226 // READ-ONLY; Resource name. 13227 Name *string `json:"name,omitempty" azure:"ro"` 13228 13229 // READ-ONLY; Resource type. 13230 Type *string `json:"type,omitempty" azure:"ro"` 13231} 13232 13233// MarshalJSON implements the json.Marshaller interface for type Resource. 13234func (r Resource) MarshalJSON() ([]byte, error) { 13235 objectMap := r.marshalInternal() 13236 return json.Marshal(objectMap) 13237} 13238 13239func (r Resource) marshalInternal() map[string]interface{} { 13240 objectMap := make(map[string]interface{}) 13241 populate(objectMap, "id", r.ID) 13242 populate(objectMap, "location", r.Location) 13243 populate(objectMap, "name", r.Name) 13244 populate(objectMap, "tags", r.Tags) 13245 populate(objectMap, "type", r.Type) 13246 return objectMap 13247} 13248 13249// ResourceNavigationLink resource. 13250type ResourceNavigationLink struct { 13251 SubResource 13252 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 13253 Name *string `json:"name,omitempty"` 13254 13255 // Resource navigation link properties format. 13256 Properties *ResourceNavigationLinkFormat `json:"properties,omitempty"` 13257 13258 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13259 Etag *string `json:"etag,omitempty" azure:"ro"` 13260 13261 // READ-ONLY; Resource type. 13262 Type *string `json:"type,omitempty" azure:"ro"` 13263} 13264 13265// MarshalJSON implements the json.Marshaller interface for type ResourceNavigationLink. 13266func (r ResourceNavigationLink) MarshalJSON() ([]byte, error) { 13267 objectMap := r.SubResource.marshalInternal() 13268 populate(objectMap, "etag", r.Etag) 13269 populate(objectMap, "name", r.Name) 13270 populate(objectMap, "properties", r.Properties) 13271 populate(objectMap, "type", r.Type) 13272 return json.Marshal(objectMap) 13273} 13274 13275// ResourceNavigationLinkFormat - Properties of ResourceNavigationLink. 13276type ResourceNavigationLinkFormat struct { 13277 // Link to the external resource. 13278 Link *string `json:"link,omitempty"` 13279 13280 // Resource type of the linked resource. 13281 LinkedResourceType *string `json:"linkedResourceType,omitempty"` 13282 13283 // READ-ONLY; The provisioning state of the resource navigation link resource. 13284 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13285} 13286 13287// ResourceNavigationLinksListOptions contains the optional parameters for the ResourceNavigationLinks.List method. 13288type ResourceNavigationLinksListOptions struct { 13289 // placeholder for future optional parameters 13290} 13291 13292// ResourceNavigationLinksListResult - Response for ResourceNavigationLinks_List operation. 13293type ResourceNavigationLinksListResult struct { 13294 // The resource navigation links in a subnet. 13295 Value []*ResourceNavigationLink `json:"value,omitempty"` 13296 13297 // READ-ONLY; The URL to get the next set of results. 13298 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 13299} 13300 13301// MarshalJSON implements the json.Marshaller interface for type ResourceNavigationLinksListResult. 13302func (r ResourceNavigationLinksListResult) MarshalJSON() ([]byte, error) { 13303 objectMap := make(map[string]interface{}) 13304 populate(objectMap, "nextLink", r.NextLink) 13305 populate(objectMap, "value", r.Value) 13306 return json.Marshal(objectMap) 13307} 13308 13309// ResourceSet - The base resource set for visibility and auto-approval. 13310type ResourceSet struct { 13311 // The list of subscriptions. 13312 Subscriptions []*string `json:"subscriptions,omitempty"` 13313} 13314 13315// MarshalJSON implements the json.Marshaller interface for type ResourceSet. 13316func (r ResourceSet) MarshalJSON() ([]byte, error) { 13317 objectMap := r.marshalInternal() 13318 return json.Marshal(objectMap) 13319} 13320 13321func (r ResourceSet) marshalInternal() map[string]interface{} { 13322 objectMap := make(map[string]interface{}) 13323 populate(objectMap, "subscriptions", r.Subscriptions) 13324 return objectMap 13325} 13326 13327// RetentionPolicyParameters - Parameters that define the retention policy for flow log. 13328type RetentionPolicyParameters struct { 13329 // Number of days to retain flow log records. 13330 Days *int32 `json:"days,omitempty"` 13331 13332 // Flag to enable/disable retention. 13333 Enabled *bool `json:"enabled,omitempty"` 13334} 13335 13336// Route resource. 13337type Route struct { 13338 SubResource 13339 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 13340 Name *string `json:"name,omitempty"` 13341 13342 // Properties of the route. 13343 Properties *RoutePropertiesFormat `json:"properties,omitempty"` 13344 13345 // The type of the resource. 13346 Type *string `json:"type,omitempty"` 13347 13348 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13349 Etag *string `json:"etag,omitempty" azure:"ro"` 13350} 13351 13352// MarshalJSON implements the json.Marshaller interface for type Route. 13353func (r Route) MarshalJSON() ([]byte, error) { 13354 objectMap := r.SubResource.marshalInternal() 13355 populate(objectMap, "etag", r.Etag) 13356 populate(objectMap, "name", r.Name) 13357 populate(objectMap, "properties", r.Properties) 13358 populate(objectMap, "type", r.Type) 13359 return json.Marshal(objectMap) 13360} 13361 13362// RouteFilter - Route Filter Resource. 13363type RouteFilter struct { 13364 Resource 13365 // Properties of the route filter. 13366 Properties *RouteFilterPropertiesFormat `json:"properties,omitempty"` 13367 13368 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13369 Etag *string `json:"etag,omitempty" azure:"ro"` 13370} 13371 13372// MarshalJSON implements the json.Marshaller interface for type RouteFilter. 13373func (r RouteFilter) MarshalJSON() ([]byte, error) { 13374 objectMap := r.Resource.marshalInternal() 13375 populate(objectMap, "etag", r.Etag) 13376 populate(objectMap, "properties", r.Properties) 13377 return json.Marshal(objectMap) 13378} 13379 13380// RouteFilterListResult - Response for the ListRouteFilters API service call. 13381type RouteFilterListResult struct { 13382 // The URL to get the next set of results. 13383 NextLink *string `json:"nextLink,omitempty"` 13384 13385 // A list of route filters in a resource group. 13386 Value []*RouteFilter `json:"value,omitempty"` 13387} 13388 13389// MarshalJSON implements the json.Marshaller interface for type RouteFilterListResult. 13390func (r RouteFilterListResult) MarshalJSON() ([]byte, error) { 13391 objectMap := make(map[string]interface{}) 13392 populate(objectMap, "nextLink", r.NextLink) 13393 populate(objectMap, "value", r.Value) 13394 return json.Marshal(objectMap) 13395} 13396 13397// RouteFilterPropertiesFormat - Route Filter Resource. 13398type RouteFilterPropertiesFormat struct { 13399 // Collection of RouteFilterRules contained within a route filter. 13400 Rules []*RouteFilterRule `json:"rules,omitempty"` 13401 13402 // READ-ONLY; A collection of references to express route circuit ipv6 peerings. 13403 IPv6Peerings []*ExpressRouteCircuitPeering `json:"ipv6Peerings,omitempty" azure:"ro"` 13404 13405 // READ-ONLY; A collection of references to express route circuit peerings. 13406 Peerings []*ExpressRouteCircuitPeering `json:"peerings,omitempty" azure:"ro"` 13407 13408 // READ-ONLY; The provisioning state of the route filter resource. 13409 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13410} 13411 13412// MarshalJSON implements the json.Marshaller interface for type RouteFilterPropertiesFormat. 13413func (r RouteFilterPropertiesFormat) MarshalJSON() ([]byte, error) { 13414 objectMap := make(map[string]interface{}) 13415 populate(objectMap, "ipv6Peerings", r.IPv6Peerings) 13416 populate(objectMap, "peerings", r.Peerings) 13417 populate(objectMap, "provisioningState", r.ProvisioningState) 13418 populate(objectMap, "rules", r.Rules) 13419 return json.Marshal(objectMap) 13420} 13421 13422// RouteFilterRule - Route Filter Rule Resource. 13423type RouteFilterRule struct { 13424 SubResource 13425 // Resource location. 13426 Location *string `json:"location,omitempty"` 13427 13428 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 13429 Name *string `json:"name,omitempty"` 13430 13431 // Properties of the route filter rule. 13432 Properties *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` 13433 13434 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13435 Etag *string `json:"etag,omitempty" azure:"ro"` 13436} 13437 13438// MarshalJSON implements the json.Marshaller interface for type RouteFilterRule. 13439func (r RouteFilterRule) MarshalJSON() ([]byte, error) { 13440 objectMap := r.SubResource.marshalInternal() 13441 populate(objectMap, "etag", r.Etag) 13442 populate(objectMap, "location", r.Location) 13443 populate(objectMap, "name", r.Name) 13444 populate(objectMap, "properties", r.Properties) 13445 return json.Marshal(objectMap) 13446} 13447 13448// RouteFilterRuleListResult - Response for the ListRouteFilterRules API service call. 13449type RouteFilterRuleListResult struct { 13450 // The URL to get the next set of results. 13451 NextLink *string `json:"nextLink,omitempty"` 13452 13453 // A list of RouteFilterRules in a resource group. 13454 Value []*RouteFilterRule `json:"value,omitempty"` 13455} 13456 13457// MarshalJSON implements the json.Marshaller interface for type RouteFilterRuleListResult. 13458func (r RouteFilterRuleListResult) MarshalJSON() ([]byte, error) { 13459 objectMap := make(map[string]interface{}) 13460 populate(objectMap, "nextLink", r.NextLink) 13461 populate(objectMap, "value", r.Value) 13462 return json.Marshal(objectMap) 13463} 13464 13465// RouteFilterRulePropertiesFormat - Route Filter Rule Resource. 13466type RouteFilterRulePropertiesFormat struct { 13467 // REQUIRED; The access type of the rule. 13468 Access *Access `json:"access,omitempty"` 13469 13470 // REQUIRED; The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. 13471 Communities []*string `json:"communities,omitempty"` 13472 13473 // REQUIRED; The rule type of the rule. 13474 RouteFilterRuleType *RouteFilterRuleType `json:"routeFilterRuleType,omitempty"` 13475 13476 // READ-ONLY; The provisioning state of the route filter rule resource. 13477 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13478} 13479 13480// MarshalJSON implements the json.Marshaller interface for type RouteFilterRulePropertiesFormat. 13481func (r RouteFilterRulePropertiesFormat) MarshalJSON() ([]byte, error) { 13482 objectMap := make(map[string]interface{}) 13483 populate(objectMap, "access", r.Access) 13484 populate(objectMap, "communities", r.Communities) 13485 populate(objectMap, "provisioningState", r.ProvisioningState) 13486 populate(objectMap, "routeFilterRuleType", r.RouteFilterRuleType) 13487 return json.Marshal(objectMap) 13488} 13489 13490// RouteFilterRulesBeginCreateOrUpdateOptions contains the optional parameters for the RouteFilterRules.BeginCreateOrUpdate method. 13491type RouteFilterRulesBeginCreateOrUpdateOptions struct { 13492 // placeholder for future optional parameters 13493} 13494 13495// RouteFilterRulesBeginDeleteOptions contains the optional parameters for the RouteFilterRules.BeginDelete method. 13496type RouteFilterRulesBeginDeleteOptions struct { 13497 // placeholder for future optional parameters 13498} 13499 13500// RouteFilterRulesGetOptions contains the optional parameters for the RouteFilterRules.Get method. 13501type RouteFilterRulesGetOptions struct { 13502 // placeholder for future optional parameters 13503} 13504 13505// RouteFilterRulesListByRouteFilterOptions contains the optional parameters for the RouteFilterRules.ListByRouteFilter method. 13506type RouteFilterRulesListByRouteFilterOptions struct { 13507 // placeholder for future optional parameters 13508} 13509 13510// RouteFiltersBeginCreateOrUpdateOptions contains the optional parameters for the RouteFilters.BeginCreateOrUpdate method. 13511type RouteFiltersBeginCreateOrUpdateOptions struct { 13512 // placeholder for future optional parameters 13513} 13514 13515// RouteFiltersBeginDeleteOptions contains the optional parameters for the RouteFilters.BeginDelete method. 13516type RouteFiltersBeginDeleteOptions struct { 13517 // placeholder for future optional parameters 13518} 13519 13520// RouteFiltersGetOptions contains the optional parameters for the RouteFilters.Get method. 13521type RouteFiltersGetOptions struct { 13522 // Expands referenced express route bgp peering resources. 13523 Expand *string 13524} 13525 13526// RouteFiltersListByResourceGroupOptions contains the optional parameters for the RouteFilters.ListByResourceGroup method. 13527type RouteFiltersListByResourceGroupOptions struct { 13528 // placeholder for future optional parameters 13529} 13530 13531// RouteFiltersListOptions contains the optional parameters for the RouteFilters.List method. 13532type RouteFiltersListOptions struct { 13533 // placeholder for future optional parameters 13534} 13535 13536// RouteFiltersUpdateTagsOptions contains the optional parameters for the RouteFilters.UpdateTags method. 13537type RouteFiltersUpdateTagsOptions struct { 13538 // placeholder for future optional parameters 13539} 13540 13541// RouteListResult - Response for the ListRoute API service call. 13542type RouteListResult struct { 13543 // The URL to get the next set of results. 13544 NextLink *string `json:"nextLink,omitempty"` 13545 13546 // A list of routes in a resource group. 13547 Value []*Route `json:"value,omitempty"` 13548} 13549 13550// MarshalJSON implements the json.Marshaller interface for type RouteListResult. 13551func (r RouteListResult) MarshalJSON() ([]byte, error) { 13552 objectMap := make(map[string]interface{}) 13553 populate(objectMap, "nextLink", r.NextLink) 13554 populate(objectMap, "value", r.Value) 13555 return json.Marshal(objectMap) 13556} 13557 13558// RoutePropertiesFormat - Route resource. 13559type RoutePropertiesFormat struct { 13560 // REQUIRED; The type of Azure hop the packet should be sent to. 13561 NextHopType *RouteNextHopType `json:"nextHopType,omitempty"` 13562 13563 // The destination CIDR to which the route applies. 13564 AddressPrefix *string `json:"addressPrefix,omitempty"` 13565 13566 // A value indicating whether this route overrides overlapping BGP routes regardless of LPM. 13567 HasBgpOverride *bool `json:"hasBgpOverride,omitempty"` 13568 13569 // The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. 13570 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 13571 13572 // READ-ONLY; The provisioning state of the route resource. 13573 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13574} 13575 13576// RouteTable - Route table resource. 13577type RouteTable struct { 13578 Resource 13579 // Properties of the route table. 13580 Properties *RouteTablePropertiesFormat `json:"properties,omitempty"` 13581 13582 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13583 Etag *string `json:"etag,omitempty" azure:"ro"` 13584} 13585 13586// MarshalJSON implements the json.Marshaller interface for type RouteTable. 13587func (r RouteTable) MarshalJSON() ([]byte, error) { 13588 objectMap := r.Resource.marshalInternal() 13589 populate(objectMap, "etag", r.Etag) 13590 populate(objectMap, "properties", r.Properties) 13591 return json.Marshal(objectMap) 13592} 13593 13594// RouteTableListResult - Response for the ListRouteTable API service call. 13595type RouteTableListResult struct { 13596 // The URL to get the next set of results. 13597 NextLink *string `json:"nextLink,omitempty"` 13598 13599 // A list of route tables in a resource group. 13600 Value []*RouteTable `json:"value,omitempty"` 13601} 13602 13603// MarshalJSON implements the json.Marshaller interface for type RouteTableListResult. 13604func (r RouteTableListResult) MarshalJSON() ([]byte, error) { 13605 objectMap := make(map[string]interface{}) 13606 populate(objectMap, "nextLink", r.NextLink) 13607 populate(objectMap, "value", r.Value) 13608 return json.Marshal(objectMap) 13609} 13610 13611// RouteTablePropertiesFormat - Route Table resource. 13612type RouteTablePropertiesFormat struct { 13613 // Whether to disable the routes learned by BGP on that route table. True means disable. 13614 DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` 13615 13616 // Collection of routes contained within a route table. 13617 Routes []*Route `json:"routes,omitempty"` 13618 13619 // READ-ONLY; The provisioning state of the route table resource. 13620 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13621 13622 // READ-ONLY; The resource GUID property of the route table. 13623 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 13624 13625 // READ-ONLY; A collection of references to subnets. 13626 Subnets []*Subnet `json:"subnets,omitempty" azure:"ro"` 13627} 13628 13629// MarshalJSON implements the json.Marshaller interface for type RouteTablePropertiesFormat. 13630func (r RouteTablePropertiesFormat) MarshalJSON() ([]byte, error) { 13631 objectMap := make(map[string]interface{}) 13632 populate(objectMap, "disableBgpRoutePropagation", r.DisableBgpRoutePropagation) 13633 populate(objectMap, "provisioningState", r.ProvisioningState) 13634 populate(objectMap, "resourceGuid", r.ResourceGUID) 13635 populate(objectMap, "routes", r.Routes) 13636 populate(objectMap, "subnets", r.Subnets) 13637 return json.Marshal(objectMap) 13638} 13639 13640// RouteTablesBeginCreateOrUpdateOptions contains the optional parameters for the RouteTables.BeginCreateOrUpdate method. 13641type RouteTablesBeginCreateOrUpdateOptions struct { 13642 // placeholder for future optional parameters 13643} 13644 13645// RouteTablesBeginDeleteOptions contains the optional parameters for the RouteTables.BeginDelete method. 13646type RouteTablesBeginDeleteOptions struct { 13647 // placeholder for future optional parameters 13648} 13649 13650// RouteTablesGetOptions contains the optional parameters for the RouteTables.Get method. 13651type RouteTablesGetOptions struct { 13652 // Expands referenced resources. 13653 Expand *string 13654} 13655 13656// RouteTablesListAllOptions contains the optional parameters for the RouteTables.ListAll method. 13657type RouteTablesListAllOptions struct { 13658 // placeholder for future optional parameters 13659} 13660 13661// RouteTablesListOptions contains the optional parameters for the RouteTables.List method. 13662type RouteTablesListOptions struct { 13663 // placeholder for future optional parameters 13664} 13665 13666// RouteTablesUpdateTagsOptions contains the optional parameters for the RouteTables.UpdateTags method. 13667type RouteTablesUpdateTagsOptions struct { 13668 // placeholder for future optional parameters 13669} 13670 13671// RoutesBeginCreateOrUpdateOptions contains the optional parameters for the Routes.BeginCreateOrUpdate method. 13672type RoutesBeginCreateOrUpdateOptions struct { 13673 // placeholder for future optional parameters 13674} 13675 13676// RoutesBeginDeleteOptions contains the optional parameters for the Routes.BeginDelete method. 13677type RoutesBeginDeleteOptions struct { 13678 // placeholder for future optional parameters 13679} 13680 13681// RoutesGetOptions contains the optional parameters for the Routes.Get method. 13682type RoutesGetOptions struct { 13683 // placeholder for future optional parameters 13684} 13685 13686// RoutesListOptions contains the optional parameters for the Routes.List method. 13687type RoutesListOptions struct { 13688 // placeholder for future optional parameters 13689} 13690 13691// RoutingConfiguration - Routing Configuration indicating the associated and propagated route tables for this connection. 13692type RoutingConfiguration struct { 13693 // The resource id RouteTable associated with this RoutingConfiguration. 13694 AssociatedRouteTable *SubResource `json:"associatedRouteTable,omitempty"` 13695 13696 // The list of RouteTables to advertise the routes to. 13697 PropagatedRouteTables *PropagatedRouteTable `json:"propagatedRouteTables,omitempty"` 13698 13699 // List of routes that control routing from VirtualHub into a virtual network connection. 13700 VnetRoutes *VnetRoute `json:"vnetRoutes,omitempty"` 13701} 13702 13703// SKU - The sku of this Bastion Host. 13704type SKU struct { 13705 // The name of this Bastion Host. 13706 Name *BastionHostSKUName `json:"name,omitempty"` 13707} 13708 13709// SecurityGroupNetworkInterface - Network interface and all its associated security rules. 13710type SecurityGroupNetworkInterface struct { 13711 // ID of the network interface. 13712 ID *string `json:"id,omitempty"` 13713 13714 // All security rules associated with the network interface. 13715 SecurityRuleAssociations *SecurityRuleAssociations `json:"securityRuleAssociations,omitempty"` 13716} 13717 13718// SecurityGroupViewParameters - Parameters that define the VM to check security groups for. 13719type SecurityGroupViewParameters struct { 13720 // REQUIRED; ID of the target VM. 13721 TargetResourceID *string `json:"targetResourceId,omitempty"` 13722} 13723 13724// SecurityGroupViewResult - The information about security rules applied to the specified VM. 13725type SecurityGroupViewResult struct { 13726 // List of network interfaces on the specified VM. 13727 NetworkInterfaces []*SecurityGroupNetworkInterface `json:"networkInterfaces,omitempty"` 13728} 13729 13730// MarshalJSON implements the json.Marshaller interface for type SecurityGroupViewResult. 13731func (s SecurityGroupViewResult) MarshalJSON() ([]byte, error) { 13732 objectMap := make(map[string]interface{}) 13733 populate(objectMap, "networkInterfaces", s.NetworkInterfaces) 13734 return json.Marshal(objectMap) 13735} 13736 13737// SecurityPartnerProvider - Security Partner Provider resource. 13738type SecurityPartnerProvider struct { 13739 Resource 13740 // Properties of the Security Partner Provider. 13741 Properties *SecurityPartnerProviderPropertiesFormat `json:"properties,omitempty"` 13742 13743 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13744 Etag *string `json:"etag,omitempty" azure:"ro"` 13745} 13746 13747// MarshalJSON implements the json.Marshaller interface for type SecurityPartnerProvider. 13748func (s SecurityPartnerProvider) MarshalJSON() ([]byte, error) { 13749 objectMap := s.Resource.marshalInternal() 13750 populate(objectMap, "etag", s.Etag) 13751 populate(objectMap, "properties", s.Properties) 13752 return json.Marshal(objectMap) 13753} 13754 13755// SecurityPartnerProviderListResult - Response for ListSecurityPartnerProviders API service call. 13756type SecurityPartnerProviderListResult struct { 13757 // URL to get the next set of results. 13758 NextLink *string `json:"nextLink,omitempty"` 13759 13760 // List of Security Partner Providers in a resource group. 13761 Value []*SecurityPartnerProvider `json:"value,omitempty"` 13762} 13763 13764// MarshalJSON implements the json.Marshaller interface for type SecurityPartnerProviderListResult. 13765func (s SecurityPartnerProviderListResult) MarshalJSON() ([]byte, error) { 13766 objectMap := make(map[string]interface{}) 13767 populate(objectMap, "nextLink", s.NextLink) 13768 populate(objectMap, "value", s.Value) 13769 return json.Marshal(objectMap) 13770} 13771 13772// SecurityPartnerProviderPropertiesFormat - Properties of the Security Partner Provider. 13773type SecurityPartnerProviderPropertiesFormat struct { 13774 // The security provider name. 13775 SecurityProviderName *SecurityProviderName `json:"securityProviderName,omitempty"` 13776 13777 // The virtualHub to which the Security Partner Provider belongs. 13778 VirtualHub *SubResource `json:"virtualHub,omitempty"` 13779 13780 // READ-ONLY; The connection status with the Security Partner Provider. 13781 ConnectionStatus *SecurityPartnerProviderConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 13782 13783 // READ-ONLY; The provisioning state of the Security Partner Provider resource. 13784 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13785} 13786 13787// SecurityPartnerProvidersBeginCreateOrUpdateOptions contains the optional parameters for the SecurityPartnerProviders.BeginCreateOrUpdate method. 13788type SecurityPartnerProvidersBeginCreateOrUpdateOptions struct { 13789 // placeholder for future optional parameters 13790} 13791 13792// SecurityPartnerProvidersBeginDeleteOptions contains the optional parameters for the SecurityPartnerProviders.BeginDelete method. 13793type SecurityPartnerProvidersBeginDeleteOptions struct { 13794 // placeholder for future optional parameters 13795} 13796 13797// SecurityPartnerProvidersGetOptions contains the optional parameters for the SecurityPartnerProviders.Get method. 13798type SecurityPartnerProvidersGetOptions struct { 13799 // placeholder for future optional parameters 13800} 13801 13802// SecurityPartnerProvidersListByResourceGroupOptions contains the optional parameters for the SecurityPartnerProviders.ListByResourceGroup method. 13803type SecurityPartnerProvidersListByResourceGroupOptions struct { 13804 // placeholder for future optional parameters 13805} 13806 13807// SecurityPartnerProvidersListOptions contains the optional parameters for the SecurityPartnerProviders.List method. 13808type SecurityPartnerProvidersListOptions struct { 13809 // placeholder for future optional parameters 13810} 13811 13812// SecurityPartnerProvidersUpdateTagsOptions contains the optional parameters for the SecurityPartnerProviders.UpdateTags method. 13813type SecurityPartnerProvidersUpdateTagsOptions struct { 13814 // placeholder for future optional parameters 13815} 13816 13817// SecurityRule - Network security rule. 13818type SecurityRule struct { 13819 SubResource 13820 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 13821 Name *string `json:"name,omitempty"` 13822 13823 // Properties of the security rule. 13824 Properties *SecurityRulePropertiesFormat `json:"properties,omitempty"` 13825 13826 // The type of the resource. 13827 Type *string `json:"type,omitempty"` 13828 13829 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13830 Etag *string `json:"etag,omitempty" azure:"ro"` 13831} 13832 13833// MarshalJSON implements the json.Marshaller interface for type SecurityRule. 13834func (s SecurityRule) MarshalJSON() ([]byte, error) { 13835 objectMap := s.SubResource.marshalInternal() 13836 populate(objectMap, "etag", s.Etag) 13837 populate(objectMap, "name", s.Name) 13838 populate(objectMap, "properties", s.Properties) 13839 populate(objectMap, "type", s.Type) 13840 return json.Marshal(objectMap) 13841} 13842 13843// SecurityRuleAssociations - All security rules associated with the network interface. 13844type SecurityRuleAssociations struct { 13845 // Collection of default security rules of the network security group. 13846 DefaultSecurityRules []*SecurityRule `json:"defaultSecurityRules,omitempty"` 13847 13848 // Collection of effective security rules. 13849 EffectiveSecurityRules []*EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` 13850 13851 // Network interface and it's custom security rules. 13852 NetworkInterfaceAssociation *NetworkInterfaceAssociation `json:"networkInterfaceAssociation,omitempty"` 13853 13854 // Subnet and it's custom security rules. 13855 SubnetAssociation *SubnetAssociation `json:"subnetAssociation,omitempty"` 13856} 13857 13858// MarshalJSON implements the json.Marshaller interface for type SecurityRuleAssociations. 13859func (s SecurityRuleAssociations) MarshalJSON() ([]byte, error) { 13860 objectMap := make(map[string]interface{}) 13861 populate(objectMap, "defaultSecurityRules", s.DefaultSecurityRules) 13862 populate(objectMap, "effectiveSecurityRules", s.EffectiveSecurityRules) 13863 populate(objectMap, "networkInterfaceAssociation", s.NetworkInterfaceAssociation) 13864 populate(objectMap, "subnetAssociation", s.SubnetAssociation) 13865 return json.Marshal(objectMap) 13866} 13867 13868// SecurityRuleListResult - Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 13869type SecurityRuleListResult struct { 13870 // The URL to get the next set of results. 13871 NextLink *string `json:"nextLink,omitempty"` 13872 13873 // The security rules in a network security group. 13874 Value []*SecurityRule `json:"value,omitempty"` 13875} 13876 13877// MarshalJSON implements the json.Marshaller interface for type SecurityRuleListResult. 13878func (s SecurityRuleListResult) MarshalJSON() ([]byte, error) { 13879 objectMap := make(map[string]interface{}) 13880 populate(objectMap, "nextLink", s.NextLink) 13881 populate(objectMap, "value", s.Value) 13882 return json.Marshal(objectMap) 13883} 13884 13885// SecurityRulePropertiesFormat - Security rule resource. 13886type SecurityRulePropertiesFormat struct { 13887 // REQUIRED; The network traffic is allowed or denied. 13888 Access *SecurityRuleAccess `json:"access,omitempty"` 13889 13890 // REQUIRED; The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. 13891 Direction *SecurityRuleDirection `json:"direction,omitempty"` 13892 13893 // REQUIRED; Network protocol this rule applies to. 13894 Protocol *SecurityRuleProtocol `json:"protocol,omitempty"` 13895 13896 // A description for this rule. Restricted to 140 chars. 13897 Description *string `json:"description,omitempty"` 13898 13899 // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 13900 // 'AzureLoadBalancer' and 'Internet' can also 13901 // be used. 13902 DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` 13903 13904 // The destination address prefixes. CIDR or destination IP ranges. 13905 DestinationAddressPrefixes []*string `json:"destinationAddressPrefixes,omitempty"` 13906 13907 // The application security group specified as destination. 13908 DestinationApplicationSecurityGroups []*ApplicationSecurityGroup `json:"destinationApplicationSecurityGroups,omitempty"` 13909 13910 // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. 13911 DestinationPortRange *string `json:"destinationPortRange,omitempty"` 13912 13913 // The destination port ranges. 13914 DestinationPortRanges []*string `json:"destinationPortRanges,omitempty"` 13915 13916 // 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 13917 // number, the higher the priority of the rule. 13918 Priority *int32 `json:"priority,omitempty"` 13919 13920 // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 13921 // can also be used. If this is an ingress 13922 // rule, specifies where network traffic originates from. 13923 SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` 13924 13925 // The CIDR or source IP ranges. 13926 SourceAddressPrefixes []*string `json:"sourceAddressPrefixes,omitempty"` 13927 13928 // The application security group specified as source. 13929 SourceApplicationSecurityGroups []*ApplicationSecurityGroup `json:"sourceApplicationSecurityGroups,omitempty"` 13930 13931 // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. 13932 SourcePortRange *string `json:"sourcePortRange,omitempty"` 13933 13934 // The source port ranges. 13935 SourcePortRanges []*string `json:"sourcePortRanges,omitempty"` 13936 13937 // READ-ONLY; The provisioning state of the security rule resource. 13938 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13939} 13940 13941// MarshalJSON implements the json.Marshaller interface for type SecurityRulePropertiesFormat. 13942func (s SecurityRulePropertiesFormat) MarshalJSON() ([]byte, error) { 13943 objectMap := make(map[string]interface{}) 13944 populate(objectMap, "access", s.Access) 13945 populate(objectMap, "description", s.Description) 13946 populate(objectMap, "destinationAddressPrefix", s.DestinationAddressPrefix) 13947 populate(objectMap, "destinationAddressPrefixes", s.DestinationAddressPrefixes) 13948 populate(objectMap, "destinationApplicationSecurityGroups", s.DestinationApplicationSecurityGroups) 13949 populate(objectMap, "destinationPortRange", s.DestinationPortRange) 13950 populate(objectMap, "destinationPortRanges", s.DestinationPortRanges) 13951 populate(objectMap, "direction", s.Direction) 13952 populate(objectMap, "priority", s.Priority) 13953 populate(objectMap, "protocol", s.Protocol) 13954 populate(objectMap, "provisioningState", s.ProvisioningState) 13955 populate(objectMap, "sourceAddressPrefix", s.SourceAddressPrefix) 13956 populate(objectMap, "sourceAddressPrefixes", s.SourceAddressPrefixes) 13957 populate(objectMap, "sourceApplicationSecurityGroups", s.SourceApplicationSecurityGroups) 13958 populate(objectMap, "sourcePortRange", s.SourcePortRange) 13959 populate(objectMap, "sourcePortRanges", s.SourcePortRanges) 13960 return json.Marshal(objectMap) 13961} 13962 13963// SecurityRulesBeginCreateOrUpdateOptions contains the optional parameters for the SecurityRules.BeginCreateOrUpdate method. 13964type SecurityRulesBeginCreateOrUpdateOptions struct { 13965 // placeholder for future optional parameters 13966} 13967 13968// SecurityRulesBeginDeleteOptions contains the optional parameters for the SecurityRules.BeginDelete method. 13969type SecurityRulesBeginDeleteOptions struct { 13970 // placeholder for future optional parameters 13971} 13972 13973// SecurityRulesGetOptions contains the optional parameters for the SecurityRules.Get method. 13974type SecurityRulesGetOptions struct { 13975 // placeholder for future optional parameters 13976} 13977 13978// SecurityRulesListOptions contains the optional parameters for the SecurityRules.List method. 13979type SecurityRulesListOptions struct { 13980 // placeholder for future optional parameters 13981} 13982 13983// ServiceAssociationLink resource. 13984type ServiceAssociationLink struct { 13985 SubResource 13986 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 13987 Name *string `json:"name,omitempty"` 13988 13989 // Resource navigation link properties format. 13990 Properties *ServiceAssociationLinkPropertiesFormat `json:"properties,omitempty"` 13991 13992 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13993 Etag *string `json:"etag,omitempty" azure:"ro"` 13994 13995 // READ-ONLY; Resource type. 13996 Type *string `json:"type,omitempty" azure:"ro"` 13997} 13998 13999// MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLink. 14000func (s ServiceAssociationLink) MarshalJSON() ([]byte, error) { 14001 objectMap := s.SubResource.marshalInternal() 14002 populate(objectMap, "etag", s.Etag) 14003 populate(objectMap, "name", s.Name) 14004 populate(objectMap, "properties", s.Properties) 14005 populate(objectMap, "type", s.Type) 14006 return json.Marshal(objectMap) 14007} 14008 14009// ServiceAssociationLinkPropertiesFormat - Properties of ServiceAssociationLink. 14010type ServiceAssociationLinkPropertiesFormat struct { 14011 // If true, the resource can be deleted. 14012 AllowDelete *bool `json:"allowDelete,omitempty"` 14013 14014 // Link to the external resource. 14015 Link *string `json:"link,omitempty"` 14016 14017 // Resource type of the linked resource. 14018 LinkedResourceType *string `json:"linkedResourceType,omitempty"` 14019 14020 // A list of locations. 14021 Locations []*string `json:"locations,omitempty"` 14022 14023 // READ-ONLY; The provisioning state of the service association link resource. 14024 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14025} 14026 14027// MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLinkPropertiesFormat. 14028func (s ServiceAssociationLinkPropertiesFormat) MarshalJSON() ([]byte, error) { 14029 objectMap := make(map[string]interface{}) 14030 populate(objectMap, "allowDelete", s.AllowDelete) 14031 populate(objectMap, "link", s.Link) 14032 populate(objectMap, "linkedResourceType", s.LinkedResourceType) 14033 populate(objectMap, "locations", s.Locations) 14034 populate(objectMap, "provisioningState", s.ProvisioningState) 14035 return json.Marshal(objectMap) 14036} 14037 14038// ServiceAssociationLinksListOptions contains the optional parameters for the ServiceAssociationLinks.List method. 14039type ServiceAssociationLinksListOptions struct { 14040 // placeholder for future optional parameters 14041} 14042 14043// ServiceAssociationLinksListResult - Response for ServiceAssociationLinks_List operation. 14044type ServiceAssociationLinksListResult struct { 14045 // The service association links in a subnet. 14046 Value []*ServiceAssociationLink `json:"value,omitempty"` 14047 14048 // READ-ONLY; The URL to get the next set of results. 14049 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 14050} 14051 14052// MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLinksListResult. 14053func (s ServiceAssociationLinksListResult) MarshalJSON() ([]byte, error) { 14054 objectMap := make(map[string]interface{}) 14055 populate(objectMap, "nextLink", s.NextLink) 14056 populate(objectMap, "value", s.Value) 14057 return json.Marshal(objectMap) 14058} 14059 14060// ServiceDelegationPropertiesFormat - Properties of a service delegation. 14061type ServiceDelegationPropertiesFormat struct { 14062 // The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). 14063 ServiceName *string `json:"serviceName,omitempty"` 14064 14065 // READ-ONLY; The actions permitted to the service upon delegation. 14066 Actions []*string `json:"actions,omitempty" azure:"ro"` 14067 14068 // READ-ONLY; The provisioning state of the service delegation resource. 14069 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14070} 14071 14072// MarshalJSON implements the json.Marshaller interface for type ServiceDelegationPropertiesFormat. 14073func (s ServiceDelegationPropertiesFormat) MarshalJSON() ([]byte, error) { 14074 objectMap := make(map[string]interface{}) 14075 populate(objectMap, "actions", s.Actions) 14076 populate(objectMap, "provisioningState", s.ProvisioningState) 14077 populate(objectMap, "serviceName", s.ServiceName) 14078 return json.Marshal(objectMap) 14079} 14080 14081// ServiceEndpointPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the ServiceEndpointPolicies.BeginCreateOrUpdate method. 14082type ServiceEndpointPoliciesBeginCreateOrUpdateOptions struct { 14083 // placeholder for future optional parameters 14084} 14085 14086// ServiceEndpointPoliciesBeginDeleteOptions contains the optional parameters for the ServiceEndpointPolicies.BeginDelete method. 14087type ServiceEndpointPoliciesBeginDeleteOptions struct { 14088 // placeholder for future optional parameters 14089} 14090 14091// ServiceEndpointPoliciesGetOptions contains the optional parameters for the ServiceEndpointPolicies.Get method. 14092type ServiceEndpointPoliciesGetOptions struct { 14093 // Expands referenced resources. 14094 Expand *string 14095} 14096 14097// ServiceEndpointPoliciesListByResourceGroupOptions contains the optional parameters for the ServiceEndpointPolicies.ListByResourceGroup method. 14098type ServiceEndpointPoliciesListByResourceGroupOptions struct { 14099 // placeholder for future optional parameters 14100} 14101 14102// ServiceEndpointPoliciesListOptions contains the optional parameters for the ServiceEndpointPolicies.List method. 14103type ServiceEndpointPoliciesListOptions struct { 14104 // placeholder for future optional parameters 14105} 14106 14107// ServiceEndpointPoliciesUpdateTagsOptions contains the optional parameters for the ServiceEndpointPolicies.UpdateTags method. 14108type ServiceEndpointPoliciesUpdateTagsOptions struct { 14109 // placeholder for future optional parameters 14110} 14111 14112// ServiceEndpointPolicy - Service End point policy resource. 14113type ServiceEndpointPolicy struct { 14114 Resource 14115 // Properties of the service end point policy. 14116 Properties *ServiceEndpointPolicyPropertiesFormat `json:"properties,omitempty"` 14117 14118 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14119 Etag *string `json:"etag,omitempty" azure:"ro"` 14120 14121 // READ-ONLY; Kind of service endpoint policy. This is metadata used for the Azure portal experience. 14122 Kind *string `json:"kind,omitempty" azure:"ro"` 14123} 14124 14125// MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicy. 14126func (s ServiceEndpointPolicy) MarshalJSON() ([]byte, error) { 14127 objectMap := s.Resource.marshalInternal() 14128 populate(objectMap, "etag", s.Etag) 14129 populate(objectMap, "kind", s.Kind) 14130 populate(objectMap, "properties", s.Properties) 14131 return json.Marshal(objectMap) 14132} 14133 14134// ServiceEndpointPolicyDefinition - Service Endpoint policy definitions. 14135type ServiceEndpointPolicyDefinition struct { 14136 SubResource 14137 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 14138 Name *string `json:"name,omitempty"` 14139 14140 // Properties of the service endpoint policy definition. 14141 Properties *ServiceEndpointPolicyDefinitionPropertiesFormat `json:"properties,omitempty"` 14142 14143 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14144 Etag *string `json:"etag,omitempty" azure:"ro"` 14145} 14146 14147// MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinition. 14148func (s ServiceEndpointPolicyDefinition) MarshalJSON() ([]byte, error) { 14149 objectMap := s.SubResource.marshalInternal() 14150 populate(objectMap, "etag", s.Etag) 14151 populate(objectMap, "name", s.Name) 14152 populate(objectMap, "properties", s.Properties) 14153 return json.Marshal(objectMap) 14154} 14155 14156// ServiceEndpointPolicyDefinitionListResult - Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy 14157// definition that belongs to a service endpoint policy. 14158type ServiceEndpointPolicyDefinitionListResult struct { 14159 // The URL to get the next set of results. 14160 NextLink *string `json:"nextLink,omitempty"` 14161 14162 // The service endpoint policy definition in a service endpoint policy. 14163 Value []*ServiceEndpointPolicyDefinition `json:"value,omitempty"` 14164} 14165 14166// MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinitionListResult. 14167func (s ServiceEndpointPolicyDefinitionListResult) MarshalJSON() ([]byte, error) { 14168 objectMap := make(map[string]interface{}) 14169 populate(objectMap, "nextLink", s.NextLink) 14170 populate(objectMap, "value", s.Value) 14171 return json.Marshal(objectMap) 14172} 14173 14174// ServiceEndpointPolicyDefinitionPropertiesFormat - Service Endpoint policy definition resource. 14175type ServiceEndpointPolicyDefinitionPropertiesFormat struct { 14176 // A description for this rule. Restricted to 140 chars. 14177 Description *string `json:"description,omitempty"` 14178 14179 // Service endpoint name. 14180 Service *string `json:"service,omitempty"` 14181 14182 // A list of service resources. 14183 ServiceResources []*string `json:"serviceResources,omitempty"` 14184 14185 // READ-ONLY; The provisioning state of the service endpoint policy definition resource. 14186 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14187} 14188 14189// MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinitionPropertiesFormat. 14190func (s ServiceEndpointPolicyDefinitionPropertiesFormat) MarshalJSON() ([]byte, error) { 14191 objectMap := make(map[string]interface{}) 14192 populate(objectMap, "description", s.Description) 14193 populate(objectMap, "provisioningState", s.ProvisioningState) 14194 populate(objectMap, "service", s.Service) 14195 populate(objectMap, "serviceResources", s.ServiceResources) 14196 return json.Marshal(objectMap) 14197} 14198 14199// ServiceEndpointPolicyDefinitionsBeginCreateOrUpdateOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.BeginCreateOrUpdate 14200// method. 14201type ServiceEndpointPolicyDefinitionsBeginCreateOrUpdateOptions struct { 14202 // placeholder for future optional parameters 14203} 14204 14205// ServiceEndpointPolicyDefinitionsBeginDeleteOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.BeginDelete method. 14206type ServiceEndpointPolicyDefinitionsBeginDeleteOptions struct { 14207 // placeholder for future optional parameters 14208} 14209 14210// ServiceEndpointPolicyDefinitionsGetOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.Get method. 14211type ServiceEndpointPolicyDefinitionsGetOptions struct { 14212 // placeholder for future optional parameters 14213} 14214 14215// ServiceEndpointPolicyDefinitionsListByResourceGroupOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.ListByResourceGroup 14216// method. 14217type ServiceEndpointPolicyDefinitionsListByResourceGroupOptions struct { 14218 // placeholder for future optional parameters 14219} 14220 14221// ServiceEndpointPolicyListResult - Response for ListServiceEndpointPolicies API service call. 14222type ServiceEndpointPolicyListResult struct { 14223 // A list of ServiceEndpointPolicy resources. 14224 Value []*ServiceEndpointPolicy `json:"value,omitempty"` 14225 14226 // READ-ONLY; The URL to get the next set of results. 14227 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 14228} 14229 14230// MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyListResult. 14231func (s ServiceEndpointPolicyListResult) MarshalJSON() ([]byte, error) { 14232 objectMap := make(map[string]interface{}) 14233 populate(objectMap, "nextLink", s.NextLink) 14234 populate(objectMap, "value", s.Value) 14235 return json.Marshal(objectMap) 14236} 14237 14238// ServiceEndpointPolicyPropertiesFormat - Service Endpoint Policy resource. 14239type ServiceEndpointPolicyPropertiesFormat struct { 14240 // A collection of service endpoint policy definitions of the service endpoint policy. 14241 ServiceEndpointPolicyDefinitions []*ServiceEndpointPolicyDefinition `json:"serviceEndpointPolicyDefinitions,omitempty"` 14242 14243 // READ-ONLY; The provisioning state of the service endpoint policy resource. 14244 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14245 14246 // READ-ONLY; The resource GUID property of the service endpoint policy resource. 14247 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 14248 14249 // READ-ONLY; A collection of references to subnets. 14250 Subnets []*Subnet `json:"subnets,omitempty" azure:"ro"` 14251} 14252 14253// MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyPropertiesFormat. 14254func (s ServiceEndpointPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 14255 objectMap := make(map[string]interface{}) 14256 populate(objectMap, "provisioningState", s.ProvisioningState) 14257 populate(objectMap, "resourceGuid", s.ResourceGUID) 14258 populate(objectMap, "serviceEndpointPolicyDefinitions", s.ServiceEndpointPolicyDefinitions) 14259 populate(objectMap, "subnets", s.Subnets) 14260 return json.Marshal(objectMap) 14261} 14262 14263// ServiceEndpointPropertiesFormat - The service endpoint properties. 14264type ServiceEndpointPropertiesFormat struct { 14265 // A list of locations. 14266 Locations []*string `json:"locations,omitempty"` 14267 14268 // The type of the endpoint service. 14269 Service *string `json:"service,omitempty"` 14270 14271 // READ-ONLY; The provisioning state of the service endpoint resource. 14272 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14273} 14274 14275// MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPropertiesFormat. 14276func (s ServiceEndpointPropertiesFormat) MarshalJSON() ([]byte, error) { 14277 objectMap := make(map[string]interface{}) 14278 populate(objectMap, "locations", s.Locations) 14279 populate(objectMap, "provisioningState", s.ProvisioningState) 14280 populate(objectMap, "service", s.Service) 14281 return json.Marshal(objectMap) 14282} 14283 14284// ServiceTagInformation - The service tag information. 14285type ServiceTagInformation struct { 14286 // READ-ONLY; The ID of service tag. 14287 ID *string `json:"id,omitempty" azure:"ro"` 14288 14289 // READ-ONLY; The name of service tag. 14290 Name *string `json:"name,omitempty" azure:"ro"` 14291 14292 // READ-ONLY; Properties of the service tag information. 14293 Properties *ServiceTagInformationPropertiesFormat `json:"properties,omitempty" azure:"ro"` 14294} 14295 14296// ServiceTagInformationPropertiesFormat - Properties of the service tag information. 14297type ServiceTagInformationPropertiesFormat struct { 14298 // READ-ONLY; The list of IP address prefixes. 14299 AddressPrefixes []*string `json:"addressPrefixes,omitempty" azure:"ro"` 14300 14301 // READ-ONLY; The iteration number of service tag. 14302 ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` 14303 14304 // READ-ONLY; The region of service tag. 14305 Region *string `json:"region,omitempty" azure:"ro"` 14306 14307 // READ-ONLY; The state of the service tag. 14308 State *string `json:"state,omitempty" azure:"ro"` 14309 14310 // READ-ONLY; The name of system service. 14311 SystemService *string `json:"systemService,omitempty" azure:"ro"` 14312} 14313 14314// MarshalJSON implements the json.Marshaller interface for type ServiceTagInformationPropertiesFormat. 14315func (s ServiceTagInformationPropertiesFormat) MarshalJSON() ([]byte, error) { 14316 objectMap := make(map[string]interface{}) 14317 populate(objectMap, "addressPrefixes", s.AddressPrefixes) 14318 populate(objectMap, "changeNumber", s.ChangeNumber) 14319 populate(objectMap, "region", s.Region) 14320 populate(objectMap, "state", s.State) 14321 populate(objectMap, "systemService", s.SystemService) 14322 return json.Marshal(objectMap) 14323} 14324 14325// ServiceTagsListOptions contains the optional parameters for the ServiceTags.List method. 14326type ServiceTagsListOptions struct { 14327 // placeholder for future optional parameters 14328} 14329 14330// ServiceTagsListResult - Response for the ListServiceTags API service call. 14331type ServiceTagsListResult struct { 14332 // READ-ONLY; The iteration number. 14333 ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` 14334 14335 // READ-ONLY; The name of the cloud. 14336 Cloud *string `json:"cloud,omitempty" azure:"ro"` 14337 14338 // READ-ONLY; The ID of the cloud. 14339 ID *string `json:"id,omitempty" azure:"ro"` 14340 14341 // READ-ONLY; The name of the cloud. 14342 Name *string `json:"name,omitempty" azure:"ro"` 14343 14344 // READ-ONLY; The URL to get next page of service tag information resources. 14345 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 14346 14347 // READ-ONLY; The azure resource type. 14348 Type *string `json:"type,omitempty" azure:"ro"` 14349 14350 // READ-ONLY; The list of service tag information resources. 14351 Values []*ServiceTagInformation `json:"values,omitempty" azure:"ro"` 14352} 14353 14354// MarshalJSON implements the json.Marshaller interface for type ServiceTagsListResult. 14355func (s ServiceTagsListResult) MarshalJSON() ([]byte, error) { 14356 objectMap := make(map[string]interface{}) 14357 populate(objectMap, "changeNumber", s.ChangeNumber) 14358 populate(objectMap, "cloud", s.Cloud) 14359 populate(objectMap, "id", s.ID) 14360 populate(objectMap, "name", s.Name) 14361 populate(objectMap, "nextLink", s.NextLink) 14362 populate(objectMap, "type", s.Type) 14363 populate(objectMap, "values", s.Values) 14364 return json.Marshal(objectMap) 14365} 14366 14367// SessionIDs - List of session IDs. 14368type SessionIDs struct { 14369 // List of session IDs. 14370 SessionIDs []*string `json:"sessionIds,omitempty"` 14371} 14372 14373// MarshalJSON implements the json.Marshaller interface for type SessionIDs. 14374func (s SessionIDs) MarshalJSON() ([]byte, error) { 14375 objectMap := make(map[string]interface{}) 14376 populate(objectMap, "sessionIds", s.SessionIDs) 14377 return json.Marshal(objectMap) 14378} 14379 14380// StaticRoute - List of all Static Routes. 14381type StaticRoute struct { 14382 // List of all address prefixes. 14383 AddressPrefixes []*string `json:"addressPrefixes,omitempty"` 14384 14385 // The name of the StaticRoute that is unique within a VnetRoute. 14386 Name *string `json:"name,omitempty"` 14387 14388 // The ip address of the next hop. 14389 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 14390} 14391 14392// MarshalJSON implements the json.Marshaller interface for type StaticRoute. 14393func (s StaticRoute) MarshalJSON() ([]byte, error) { 14394 objectMap := make(map[string]interface{}) 14395 populate(objectMap, "addressPrefixes", s.AddressPrefixes) 14396 populate(objectMap, "name", s.Name) 14397 populate(objectMap, "nextHopIpAddress", s.NextHopIPAddress) 14398 return json.Marshal(objectMap) 14399} 14400 14401// SubResource - Reference to another subresource. 14402type SubResource struct { 14403 // Resource ID. 14404 ID *string `json:"id,omitempty"` 14405} 14406 14407// MarshalJSON implements the json.Marshaller interface for type SubResource. 14408func (s SubResource) MarshalJSON() ([]byte, error) { 14409 objectMap := s.marshalInternal() 14410 return json.Marshal(objectMap) 14411} 14412 14413func (s SubResource) marshalInternal() map[string]interface{} { 14414 objectMap := make(map[string]interface{}) 14415 populate(objectMap, "id", s.ID) 14416 return objectMap 14417} 14418 14419// Subnet in a virtual network resource. 14420type Subnet struct { 14421 SubResource 14422 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 14423 Name *string `json:"name,omitempty"` 14424 14425 // Properties of the subnet. 14426 Properties *SubnetPropertiesFormat `json:"properties,omitempty"` 14427 14428 // Resource type. 14429 Type *string `json:"type,omitempty"` 14430 14431 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14432 Etag *string `json:"etag,omitempty" azure:"ro"` 14433} 14434 14435// MarshalJSON implements the json.Marshaller interface for type Subnet. 14436func (s Subnet) MarshalJSON() ([]byte, error) { 14437 objectMap := s.SubResource.marshalInternal() 14438 populate(objectMap, "etag", s.Etag) 14439 populate(objectMap, "name", s.Name) 14440 populate(objectMap, "properties", s.Properties) 14441 populate(objectMap, "type", s.Type) 14442 return json.Marshal(objectMap) 14443} 14444 14445// SubnetAssociation - Subnet and it's custom security rules. 14446type SubnetAssociation struct { 14447 // Collection of custom security rules. 14448 SecurityRules []*SecurityRule `json:"securityRules,omitempty"` 14449 14450 // READ-ONLY; Subnet ID. 14451 ID *string `json:"id,omitempty" azure:"ro"` 14452} 14453 14454// MarshalJSON implements the json.Marshaller interface for type SubnetAssociation. 14455func (s SubnetAssociation) MarshalJSON() ([]byte, error) { 14456 objectMap := make(map[string]interface{}) 14457 populate(objectMap, "id", s.ID) 14458 populate(objectMap, "securityRules", s.SecurityRules) 14459 return json.Marshal(objectMap) 14460} 14461 14462// SubnetListResult - Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 14463type SubnetListResult struct { 14464 // The URL to get the next set of results. 14465 NextLink *string `json:"nextLink,omitempty"` 14466 14467 // The subnets in a virtual network. 14468 Value []*Subnet `json:"value,omitempty"` 14469} 14470 14471// MarshalJSON implements the json.Marshaller interface for type SubnetListResult. 14472func (s SubnetListResult) MarshalJSON() ([]byte, error) { 14473 objectMap := make(map[string]interface{}) 14474 populate(objectMap, "nextLink", s.NextLink) 14475 populate(objectMap, "value", s.Value) 14476 return json.Marshal(objectMap) 14477} 14478 14479// SubnetPropertiesFormat - Properties of the subnet. 14480type SubnetPropertiesFormat struct { 14481 // The address prefix for the subnet. 14482 AddressPrefix *string `json:"addressPrefix,omitempty"` 14483 14484 // List of address prefixes for the subnet. 14485 AddressPrefixes []*string `json:"addressPrefixes,omitempty"` 14486 14487 // Application gateway IP configurations of virtual network resource. 14488 ApplicationGatewayIPConfigurations []*ApplicationGatewayIPConfiguration `json:"applicationGatewayIpConfigurations,omitempty"` 14489 14490 // An array of references to the delegations on the subnet. 14491 Delegations []*Delegation `json:"delegations,omitempty"` 14492 14493 // Array of IpAllocation which reference this subnet. 14494 IPAllocations []*SubResource `json:"ipAllocations,omitempty"` 14495 14496 // Nat gateway associated with this subnet. 14497 NatGateway *SubResource `json:"natGateway,omitempty"` 14498 14499 // The reference to the NetworkSecurityGroup resource. 14500 NetworkSecurityGroup *NetworkSecurityGroup `json:"networkSecurityGroup,omitempty"` 14501 14502 // Enable or Disable apply network policies on private end point in the subnet. 14503 PrivateEndpointNetworkPolicies *VirtualNetworkPrivateEndpointNetworkPolicies `json:"privateEndpointNetworkPolicies,omitempty"` 14504 14505 // Enable or Disable apply network policies on private link service in the subnet. 14506 PrivateLinkServiceNetworkPolicies *VirtualNetworkPrivateLinkServiceNetworkPolicies `json:"privateLinkServiceNetworkPolicies,omitempty"` 14507 14508 // The reference to the RouteTable resource. 14509 RouteTable *RouteTable `json:"routeTable,omitempty"` 14510 14511 // An array of service endpoint policies. 14512 ServiceEndpointPolicies []*ServiceEndpointPolicy `json:"serviceEndpointPolicies,omitempty"` 14513 14514 // An array of service endpoints. 14515 ServiceEndpoints []*ServiceEndpointPropertiesFormat `json:"serviceEndpoints,omitempty"` 14516 14517 // READ-ONLY; Array of IP configuration profiles which reference this subnet. 14518 IPConfigurationProfiles []*IPConfigurationProfile `json:"ipConfigurationProfiles,omitempty" azure:"ro"` 14519 14520 // READ-ONLY; An array of references to the network interface IP configurations using subnet. 14521 IPConfigurations []*IPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` 14522 14523 // READ-ONLY; An array of references to private endpoints. 14524 PrivateEndpoints []*PrivateEndpoint `json:"privateEndpoints,omitempty" azure:"ro"` 14525 14526 // READ-ONLY; The provisioning state of the subnet resource. 14527 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14528 14529 // READ-ONLY; A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. 14530 Purpose *string `json:"purpose,omitempty" azure:"ro"` 14531 14532 // READ-ONLY; An array of references to the external resources using subnet. 14533 ResourceNavigationLinks []*ResourceNavigationLink `json:"resourceNavigationLinks,omitempty" azure:"ro"` 14534 14535 // READ-ONLY; An array of references to services injecting into this subnet. 14536 ServiceAssociationLinks []*ServiceAssociationLink `json:"serviceAssociationLinks,omitempty" azure:"ro"` 14537} 14538 14539// MarshalJSON implements the json.Marshaller interface for type SubnetPropertiesFormat. 14540func (s SubnetPropertiesFormat) MarshalJSON() ([]byte, error) { 14541 objectMap := make(map[string]interface{}) 14542 populate(objectMap, "addressPrefix", s.AddressPrefix) 14543 populate(objectMap, "addressPrefixes", s.AddressPrefixes) 14544 populate(objectMap, "applicationGatewayIpConfigurations", s.ApplicationGatewayIPConfigurations) 14545 populate(objectMap, "delegations", s.Delegations) 14546 populate(objectMap, "ipAllocations", s.IPAllocations) 14547 populate(objectMap, "ipConfigurationProfiles", s.IPConfigurationProfiles) 14548 populate(objectMap, "ipConfigurations", s.IPConfigurations) 14549 populate(objectMap, "natGateway", s.NatGateway) 14550 populate(objectMap, "networkSecurityGroup", s.NetworkSecurityGroup) 14551 populate(objectMap, "privateEndpointNetworkPolicies", s.PrivateEndpointNetworkPolicies) 14552 populate(objectMap, "privateEndpoints", s.PrivateEndpoints) 14553 populate(objectMap, "privateLinkServiceNetworkPolicies", s.PrivateLinkServiceNetworkPolicies) 14554 populate(objectMap, "provisioningState", s.ProvisioningState) 14555 populate(objectMap, "purpose", s.Purpose) 14556 populate(objectMap, "resourceNavigationLinks", s.ResourceNavigationLinks) 14557 populate(objectMap, "routeTable", s.RouteTable) 14558 populate(objectMap, "serviceAssociationLinks", s.ServiceAssociationLinks) 14559 populate(objectMap, "serviceEndpointPolicies", s.ServiceEndpointPolicies) 14560 populate(objectMap, "serviceEndpoints", s.ServiceEndpoints) 14561 return json.Marshal(objectMap) 14562} 14563 14564// SubnetsBeginCreateOrUpdateOptions contains the optional parameters for the Subnets.BeginCreateOrUpdate method. 14565type SubnetsBeginCreateOrUpdateOptions struct { 14566 // placeholder for future optional parameters 14567} 14568 14569// SubnetsBeginDeleteOptions contains the optional parameters for the Subnets.BeginDelete method. 14570type SubnetsBeginDeleteOptions struct { 14571 // placeholder for future optional parameters 14572} 14573 14574// SubnetsBeginPrepareNetworkPoliciesOptions contains the optional parameters for the Subnets.BeginPrepareNetworkPolicies method. 14575type SubnetsBeginPrepareNetworkPoliciesOptions struct { 14576 // placeholder for future optional parameters 14577} 14578 14579// SubnetsBeginUnprepareNetworkPoliciesOptions contains the optional parameters for the Subnets.BeginUnprepareNetworkPolicies method. 14580type SubnetsBeginUnprepareNetworkPoliciesOptions struct { 14581 // placeholder for future optional parameters 14582} 14583 14584// SubnetsGetOptions contains the optional parameters for the Subnets.Get method. 14585type SubnetsGetOptions struct { 14586 // Expands referenced resources. 14587 Expand *string 14588} 14589 14590// SubnetsListOptions contains the optional parameters for the Subnets.List method. 14591type SubnetsListOptions struct { 14592 // placeholder for future optional parameters 14593} 14594 14595// TagsObject - Tags object for patch operations. 14596type TagsObject struct { 14597 // Resource tags. 14598 Tags map[string]*string `json:"tags,omitempty"` 14599} 14600 14601// MarshalJSON implements the json.Marshaller interface for type TagsObject. 14602func (t TagsObject) MarshalJSON() ([]byte, error) { 14603 objectMap := make(map[string]interface{}) 14604 populate(objectMap, "tags", t.Tags) 14605 return json.Marshal(objectMap) 14606} 14607 14608// Topology of the specified resource group. 14609type Topology struct { 14610 // A list of topology resources. 14611 Resources []*TopologyResource `json:"resources,omitempty"` 14612 14613 // READ-ONLY; The datetime when the topology was initially created for the resource group. 14614 CreatedDateTime *time.Time `json:"createdDateTime,omitempty" azure:"ro"` 14615 14616 // READ-ONLY; GUID representing the operation id. 14617 ID *string `json:"id,omitempty" azure:"ro"` 14618 14619 // READ-ONLY; The datetime when the topology was last modified. 14620 LastModified *time.Time `json:"lastModified,omitempty" azure:"ro"` 14621} 14622 14623// MarshalJSON implements the json.Marshaller interface for type Topology. 14624func (t Topology) MarshalJSON() ([]byte, error) { 14625 objectMap := make(map[string]interface{}) 14626 populate(objectMap, "createdDateTime", (*timeRFC3339)(t.CreatedDateTime)) 14627 populate(objectMap, "id", t.ID) 14628 populate(objectMap, "lastModified", (*timeRFC3339)(t.LastModified)) 14629 populate(objectMap, "resources", t.Resources) 14630 return json.Marshal(objectMap) 14631} 14632 14633// UnmarshalJSON implements the json.Unmarshaller interface for type Topology. 14634func (t *Topology) UnmarshalJSON(data []byte) error { 14635 var rawMsg map[string]json.RawMessage 14636 if err := json.Unmarshal(data, &rawMsg); err != nil { 14637 return err 14638 } 14639 for key, val := range rawMsg { 14640 var err error 14641 switch key { 14642 case "createdDateTime": 14643 var aux timeRFC3339 14644 err = unpopulate(val, &aux) 14645 t.CreatedDateTime = (*time.Time)(&aux) 14646 delete(rawMsg, key) 14647 case "id": 14648 err = unpopulate(val, &t.ID) 14649 delete(rawMsg, key) 14650 case "lastModified": 14651 var aux timeRFC3339 14652 err = unpopulate(val, &aux) 14653 t.LastModified = (*time.Time)(&aux) 14654 delete(rawMsg, key) 14655 case "resources": 14656 err = unpopulate(val, &t.Resources) 14657 delete(rawMsg, key) 14658 } 14659 if err != nil { 14660 return err 14661 } 14662 } 14663 return nil 14664} 14665 14666// TopologyAssociation - Resources that have an association with the parent resource. 14667type TopologyAssociation struct { 14668 // The association type of the child resource to the parent resource. 14669 AssociationType *AssociationType `json:"associationType,omitempty"` 14670 14671 // The name of the resource that is associated with the parent resource. 14672 Name *string `json:"name,omitempty"` 14673 14674 // The ID of the resource that is associated with the parent resource. 14675 ResourceID *string `json:"resourceId,omitempty"` 14676} 14677 14678// TopologyParameters - Parameters that define the representation of topology. 14679type TopologyParameters struct { 14680 // The name of the target resource group to perform topology on. 14681 TargetResourceGroupName *string `json:"targetResourceGroupName,omitempty"` 14682 14683 // The reference to the Subnet resource. 14684 TargetSubnet *SubResource `json:"targetSubnet,omitempty"` 14685 14686 // The reference to the Virtual Network resource. 14687 TargetVirtualNetwork *SubResource `json:"targetVirtualNetwork,omitempty"` 14688} 14689 14690// TopologyResource - The network resource topology information for the given resource group. 14691type TopologyResource struct { 14692 // Holds the associations the resource has with other resources in the resource group. 14693 Associations []*TopologyAssociation `json:"associations,omitempty"` 14694 14695 // ID of the resource. 14696 ID *string `json:"id,omitempty"` 14697 14698 // Resource location. 14699 Location *string `json:"location,omitempty"` 14700 14701 // Name of the resource. 14702 Name *string `json:"name,omitempty"` 14703} 14704 14705// MarshalJSON implements the json.Marshaller interface for type TopologyResource. 14706func (t TopologyResource) MarshalJSON() ([]byte, error) { 14707 objectMap := make(map[string]interface{}) 14708 populate(objectMap, "associations", t.Associations) 14709 populate(objectMap, "id", t.ID) 14710 populate(objectMap, "location", t.Location) 14711 populate(objectMap, "name", t.Name) 14712 return json.Marshal(objectMap) 14713} 14714 14715// TrafficAnalyticsConfigurationProperties - Parameters that define the configuration of traffic analytics. 14716type TrafficAnalyticsConfigurationProperties struct { 14717 // Flag to enable/disable traffic analytics. 14718 Enabled *bool `json:"enabled,omitempty"` 14719 14720 // The interval in minutes which would decide how frequently TA service should do flow analytics. 14721 TrafficAnalyticsInterval *int32 `json:"trafficAnalyticsInterval,omitempty"` 14722 14723 // The resource guid of the attached workspace. 14724 WorkspaceID *string `json:"workspaceId,omitempty"` 14725 14726 // The location of the attached workspace. 14727 WorkspaceRegion *string `json:"workspaceRegion,omitempty"` 14728 14729 // Resource Id of the attached workspace. 14730 WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` 14731} 14732 14733// TrafficAnalyticsProperties - Parameters that define the configuration of traffic analytics. 14734type TrafficAnalyticsProperties struct { 14735 // Parameters that define the configuration of traffic analytics. 14736 NetworkWatcherFlowAnalyticsConfiguration *TrafficAnalyticsConfigurationProperties `json:"networkWatcherFlowAnalyticsConfiguration,omitempty"` 14737} 14738 14739// TrafficSelectorPolicy - An traffic selector policy for a virtual network gateway connection. 14740type TrafficSelectorPolicy struct { 14741 // REQUIRED; A collection of local address spaces in CIDR format. 14742 LocalAddressRanges []*string `json:"localAddressRanges,omitempty"` 14743 14744 // REQUIRED; A collection of remote address spaces in CIDR format. 14745 RemoteAddressRanges []*string `json:"remoteAddressRanges,omitempty"` 14746} 14747 14748// MarshalJSON implements the json.Marshaller interface for type TrafficSelectorPolicy. 14749func (t TrafficSelectorPolicy) MarshalJSON() ([]byte, error) { 14750 objectMap := make(map[string]interface{}) 14751 populate(objectMap, "localAddressRanges", t.LocalAddressRanges) 14752 populate(objectMap, "remoteAddressRanges", t.RemoteAddressRanges) 14753 return json.Marshal(objectMap) 14754} 14755 14756// TroubleshootingDetails - Information gained from troubleshooting of specified resource. 14757type TroubleshootingDetails struct { 14758 // Details on troubleshooting results. 14759 Detail *string `json:"detail,omitempty"` 14760 14761 // The id of the get troubleshoot operation. 14762 ID *string `json:"id,omitempty"` 14763 14764 // Reason type of failure. 14765 ReasonType *string `json:"reasonType,omitempty"` 14766 14767 // List of recommended actions. 14768 RecommendedActions []*TroubleshootingRecommendedActions `json:"recommendedActions,omitempty"` 14769 14770 // A summary of troubleshooting. 14771 Summary *string `json:"summary,omitempty"` 14772} 14773 14774// MarshalJSON implements the json.Marshaller interface for type TroubleshootingDetails. 14775func (t TroubleshootingDetails) MarshalJSON() ([]byte, error) { 14776 objectMap := make(map[string]interface{}) 14777 populate(objectMap, "detail", t.Detail) 14778 populate(objectMap, "id", t.ID) 14779 populate(objectMap, "reasonType", t.ReasonType) 14780 populate(objectMap, "recommendedActions", t.RecommendedActions) 14781 populate(objectMap, "summary", t.Summary) 14782 return json.Marshal(objectMap) 14783} 14784 14785// TroubleshootingParameters - Parameters that define the resource to troubleshoot. 14786type TroubleshootingParameters struct { 14787 // REQUIRED; Properties of the troubleshooting resource. 14788 Properties *TroubleshootingProperties `json:"properties,omitempty"` 14789 14790 // REQUIRED; The target resource to troubleshoot. 14791 TargetResourceID *string `json:"targetResourceId,omitempty"` 14792} 14793 14794// TroubleshootingProperties - Storage location provided for troubleshoot. 14795type TroubleshootingProperties struct { 14796 // REQUIRED; The ID for the storage account to save the troubleshoot result. 14797 StorageID *string `json:"storageId,omitempty"` 14798 14799 // REQUIRED; The path to the blob to save the troubleshoot result in. 14800 StoragePath *string `json:"storagePath,omitempty"` 14801} 14802 14803// TroubleshootingRecommendedActions - Recommended actions based on discovered issues. 14804type TroubleshootingRecommendedActions struct { 14805 // ID of the recommended action. 14806 ActionID *string `json:"actionId,omitempty"` 14807 14808 // Description of recommended actions. 14809 ActionText *string `json:"actionText,omitempty"` 14810 14811 // The uri linking to a documentation for the recommended troubleshooting actions. 14812 ActionURI *string `json:"actionUri,omitempty"` 14813 14814 // The information from the URI for the recommended troubleshooting actions. 14815 ActionURIText *string `json:"actionUriText,omitempty"` 14816} 14817 14818// TroubleshootingResult - Troubleshooting information gained from specified resource. 14819type TroubleshootingResult struct { 14820 // The result code of the troubleshooting. 14821 Code *string `json:"code,omitempty"` 14822 14823 // The end time of the troubleshooting. 14824 EndTime *time.Time `json:"endTime,omitempty"` 14825 14826 // Information from troubleshooting. 14827 Results []*TroubleshootingDetails `json:"results,omitempty"` 14828 14829 // The start time of the troubleshooting. 14830 StartTime *time.Time `json:"startTime,omitempty"` 14831} 14832 14833// MarshalJSON implements the json.Marshaller interface for type TroubleshootingResult. 14834func (t TroubleshootingResult) MarshalJSON() ([]byte, error) { 14835 objectMap := make(map[string]interface{}) 14836 populate(objectMap, "code", t.Code) 14837 populate(objectMap, "endTime", (*timeRFC3339)(t.EndTime)) 14838 populate(objectMap, "results", t.Results) 14839 populate(objectMap, "startTime", (*timeRFC3339)(t.StartTime)) 14840 return json.Marshal(objectMap) 14841} 14842 14843// UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingResult. 14844func (t *TroubleshootingResult) UnmarshalJSON(data []byte) error { 14845 var rawMsg map[string]json.RawMessage 14846 if err := json.Unmarshal(data, &rawMsg); err != nil { 14847 return err 14848 } 14849 for key, val := range rawMsg { 14850 var err error 14851 switch key { 14852 case "code": 14853 err = unpopulate(val, &t.Code) 14854 delete(rawMsg, key) 14855 case "endTime": 14856 var aux timeRFC3339 14857 err = unpopulate(val, &aux) 14858 t.EndTime = (*time.Time)(&aux) 14859 delete(rawMsg, key) 14860 case "results": 14861 err = unpopulate(val, &t.Results) 14862 delete(rawMsg, key) 14863 case "startTime": 14864 var aux timeRFC3339 14865 err = unpopulate(val, &aux) 14866 t.StartTime = (*time.Time)(&aux) 14867 delete(rawMsg, key) 14868 } 14869 if err != nil { 14870 return err 14871 } 14872 } 14873 return nil 14874} 14875 14876// TunnelConnectionHealth - VirtualNetworkGatewayConnection properties. 14877type TunnelConnectionHealth struct { 14878 // READ-ONLY; Virtual Network Gateway connection status. 14879 ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 14880 14881 // READ-ONLY; The Egress Bytes Transferred in this connection. 14882 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 14883 14884 // READ-ONLY; The Ingress Bytes Transferred in this connection. 14885 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 14886 14887 // READ-ONLY; The time at which connection was established in Utc format. 14888 LastConnectionEstablishedUTCTime *string `json:"lastConnectionEstablishedUtcTime,omitempty" azure:"ro"` 14889 14890 // READ-ONLY; Tunnel name. 14891 Tunnel *string `json:"tunnel,omitempty" azure:"ro"` 14892} 14893 14894// UnprepareNetworkPoliciesRequest - Details of UnprepareNetworkPolicies for Subnet. 14895type UnprepareNetworkPoliciesRequest struct { 14896 // The name of the service for which subnet is being unprepared for. 14897 ServiceName *string `json:"serviceName,omitempty"` 14898} 14899 14900// Usage - The network resource usage. 14901type Usage struct { 14902 // REQUIRED; The current value of the usage. 14903 CurrentValue *int64 `json:"currentValue,omitempty"` 14904 14905 // REQUIRED; The limit of usage. 14906 Limit *int64 `json:"limit,omitempty"` 14907 14908 // REQUIRED; The name of the type of usage. 14909 Name *UsageName `json:"name,omitempty"` 14910 14911 // REQUIRED; An enum describing the unit of measurement. 14912 Unit *UsageUnit `json:"unit,omitempty"` 14913 14914 // READ-ONLY; Resource identifier. 14915 ID *string `json:"id,omitempty" azure:"ro"` 14916} 14917 14918// UsageName - The usage names. 14919type UsageName struct { 14920 // A localized string describing the resource name. 14921 LocalizedValue *string `json:"localizedValue,omitempty"` 14922 14923 // A string describing the resource name. 14924 Value *string `json:"value,omitempty"` 14925} 14926 14927// UsagesListOptions contains the optional parameters for the Usages.List method. 14928type UsagesListOptions struct { 14929 // placeholder for future optional parameters 14930} 14931 14932// UsagesListResult - The list usages operation response. 14933type UsagesListResult struct { 14934 // URL to get the next set of results. 14935 NextLink *string `json:"nextLink,omitempty"` 14936 14937 // The list network resource usages. 14938 Value []*Usage `json:"value,omitempty"` 14939} 14940 14941// MarshalJSON implements the json.Marshaller interface for type UsagesListResult. 14942func (u UsagesListResult) MarshalJSON() ([]byte, error) { 14943 objectMap := make(map[string]interface{}) 14944 populate(objectMap, "nextLink", u.NextLink) 14945 populate(objectMap, "value", u.Value) 14946 return json.Marshal(objectMap) 14947} 14948 14949// VM - Describes a Virtual Machine. 14950type VM struct { 14951 Resource 14952} 14953 14954// VPNClientConfiguration - VpnClientConfiguration for P2S client. 14955type VPNClientConfiguration struct { 14956 // The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. 14957 AADAudience *string `json:"aadAudience,omitempty"` 14958 14959 // The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. 14960 AADIssuer *string `json:"aadIssuer,omitempty"` 14961 14962 // The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. 14963 AADTenant *string `json:"aadTenant,omitempty"` 14964 14965 // The radius server address property of the VirtualNetworkGateway resource for vpn client connection. 14966 RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` 14967 14968 // The radius secret property of the VirtualNetworkGateway resource for vpn client connection. 14969 RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` 14970 14971 // The radiusServers property for multiple radius server configuration. 14972 RadiusServers []*RadiusServer `json:"radiusServers,omitempty"` 14973 14974 // VPN authentication types for the virtual network gateway.. 14975 VPNAuthenticationTypes []*VPNAuthenticationType `json:"vpnAuthenticationTypes,omitempty"` 14976 14977 // The reference to the address space resource which represents Address space for P2S VpnClient. 14978 VPNClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` 14979 14980 // VpnClientIpsecPolicies for virtual network gateway P2S client. 14981 VPNClientIPSecPolicies []*IPSecPolicy `json:"vpnClientIpsecPolicies,omitempty"` 14982 14983 // VpnClientProtocols for Virtual network gateway. 14984 VPNClientProtocols []*VPNClientProtocol `json:"vpnClientProtocols,omitempty"` 14985 14986 // VpnClientRevokedCertificate for Virtual network gateway. 14987 VPNClientRevokedCertificates []*VPNClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` 14988 14989 // VpnClientRootCertificate for virtual network gateway. 14990 VPNClientRootCertificates []*VPNClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` 14991} 14992 14993// MarshalJSON implements the json.Marshaller interface for type VPNClientConfiguration. 14994func (v VPNClientConfiguration) MarshalJSON() ([]byte, error) { 14995 objectMap := make(map[string]interface{}) 14996 populate(objectMap, "aadAudience", v.AADAudience) 14997 populate(objectMap, "aadIssuer", v.AADIssuer) 14998 populate(objectMap, "aadTenant", v.AADTenant) 14999 populate(objectMap, "radiusServerAddress", v.RadiusServerAddress) 15000 populate(objectMap, "radiusServerSecret", v.RadiusServerSecret) 15001 populate(objectMap, "radiusServers", v.RadiusServers) 15002 populate(objectMap, "vpnAuthenticationTypes", v.VPNAuthenticationTypes) 15003 populate(objectMap, "vpnClientAddressPool", v.VPNClientAddressPool) 15004 populate(objectMap, "vpnClientIpsecPolicies", v.VPNClientIPSecPolicies) 15005 populate(objectMap, "vpnClientProtocols", v.VPNClientProtocols) 15006 populate(objectMap, "vpnClientRevokedCertificates", v.VPNClientRevokedCertificates) 15007 populate(objectMap, "vpnClientRootCertificates", v.VPNClientRootCertificates) 15008 return json.Marshal(objectMap) 15009} 15010 15011// VPNClientConnectionHealth - VpnClientConnectionHealth properties. 15012type VPNClientConnectionHealth struct { 15013 // List of allocated ip addresses to the connected p2s vpn clients. 15014 AllocatedIPAddresses []*string `json:"allocatedIpAddresses,omitempty"` 15015 15016 // The total of p2s vpn clients connected at this time to this P2SVpnGateway. 15017 VPNClientConnectionsCount *int32 `json:"vpnClientConnectionsCount,omitempty"` 15018 15019 // READ-ONLY; Total of the Egress Bytes Transferred in this connection. 15020 TotalEgressBytesTransferred *int64 `json:"totalEgressBytesTransferred,omitempty" azure:"ro"` 15021 15022 // READ-ONLY; Total of the Ingress Bytes Transferred in this P2S Vpn connection. 15023 TotalIngressBytesTransferred *int64 `json:"totalIngressBytesTransferred,omitempty" azure:"ro"` 15024} 15025 15026// MarshalJSON implements the json.Marshaller interface for type VPNClientConnectionHealth. 15027func (v VPNClientConnectionHealth) MarshalJSON() ([]byte, error) { 15028 objectMap := make(map[string]interface{}) 15029 populate(objectMap, "allocatedIpAddresses", v.AllocatedIPAddresses) 15030 populate(objectMap, "totalEgressBytesTransferred", v.TotalEgressBytesTransferred) 15031 populate(objectMap, "totalIngressBytesTransferred", v.TotalIngressBytesTransferred) 15032 populate(objectMap, "vpnClientConnectionsCount", v.VPNClientConnectionsCount) 15033 return json.Marshal(objectMap) 15034} 15035 15036// VPNClientConnectionHealthDetail - VPN client connection health detail. 15037type VPNClientConnectionHealthDetail struct { 15038 // READ-ONLY; The egress bytes per second. 15039 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 15040 15041 // READ-ONLY; The egress packets per second. 15042 EgressPacketsTransferred *int64 `json:"egressPacketsTransferred,omitempty" azure:"ro"` 15043 15044 // READ-ONLY; The ingress bytes per second. 15045 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 15046 15047 // READ-ONLY; The ingress packets per second. 15048 IngressPacketsTransferred *int64 `json:"ingressPacketsTransferred,omitempty" azure:"ro"` 15049 15050 // READ-ONLY; The max band width. 15051 MaxBandwidth *int64 `json:"maxBandwidth,omitempty" azure:"ro"` 15052 15053 // READ-ONLY; The max packets transferred per second. 15054 MaxPacketsPerSecond *int64 `json:"maxPacketsPerSecond,omitempty" azure:"ro"` 15055 15056 // READ-ONLY; The assigned private Ip of a connected vpn client. 15057 PrivateIPAddress *string `json:"privateIpAddress,omitempty" azure:"ro"` 15058 15059 // READ-ONLY; The public Ip of a connected vpn client. 15060 PublicIPAddress *string `json:"publicIpAddress,omitempty" azure:"ro"` 15061 15062 // READ-ONLY; The duration time of a connected vpn client. 15063 VPNConnectionDuration *int64 `json:"vpnConnectionDuration,omitempty" azure:"ro"` 15064 15065 // READ-ONLY; The vpn client Id. 15066 VPNConnectionID *string `json:"vpnConnectionId,omitempty" azure:"ro"` 15067 15068 // READ-ONLY; The start time of a connected vpn client. 15069 VPNConnectionTime *string `json:"vpnConnectionTime,omitempty" azure:"ro"` 15070 15071 // READ-ONLY; The user name of a connected vpn client. 15072 VPNUserName *string `json:"vpnUserName,omitempty" azure:"ro"` 15073} 15074 15075// VPNClientConnectionHealthDetailListResult - List of virtual network gateway vpn client connection health. 15076type VPNClientConnectionHealthDetailListResult struct { 15077 // List of vpn client connection health. 15078 Value []*VPNClientConnectionHealthDetail `json:"value,omitempty"` 15079} 15080 15081// MarshalJSON implements the json.Marshaller interface for type VPNClientConnectionHealthDetailListResult. 15082func (v VPNClientConnectionHealthDetailListResult) MarshalJSON() ([]byte, error) { 15083 objectMap := make(map[string]interface{}) 15084 populate(objectMap, "value", v.Value) 15085 return json.Marshal(objectMap) 15086} 15087 15088// VPNClientIPsecParameters - An IPSec parameters for a virtual network gateway P2S connection. 15089type VPNClientIPsecParameters struct { 15090 // REQUIRED; The DH Group used in IKE Phase 1 for initial SA. 15091 DhGroup *DhGroup `json:"dhGroup,omitempty"` 15092 15093 // REQUIRED; The IPSec encryption algorithm (IKE phase 1). 15094 IPSecEncryption *IPSecEncryption `json:"ipsecEncryption,omitempty"` 15095 15096 // REQUIRED; The IPSec integrity algorithm (IKE phase 1). 15097 IPSecIntegrity *IPSecIntegrity `json:"ipsecIntegrity,omitempty"` 15098 15099 // REQUIRED; The IKE encryption algorithm (IKE phase 2). 15100 IkeEncryption *IkeEncryption `json:"ikeEncryption,omitempty"` 15101 15102 // REQUIRED; The IKE integrity algorithm (IKE phase 2). 15103 IkeIntegrity *IkeIntegrity `json:"ikeIntegrity,omitempty"` 15104 15105 // REQUIRED; The Pfs Group used in IKE Phase 2 for new child SA. 15106 PfsGroup *PfsGroup `json:"pfsGroup,omitempty"` 15107 15108 // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. 15109 SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` 15110 15111 // REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. 15112 SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` 15113} 15114 15115// VPNClientParameters - Vpn Client Parameters for package generation. 15116type VPNClientParameters struct { 15117 // VPN client authentication method. 15118 AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` 15119 15120 // A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with 15121 // EAPTLS. 15122 ClientRootCertificates []*string `json:"clientRootCertificates,omitempty"` 15123 15124 // VPN client Processor Architecture. 15125 ProcessorArchitecture *ProcessorArchitecture `json:"processorArchitecture,omitempty"` 15126 15127 // The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication 15128 // has been configured with EAPTLS 15129 // authentication. 15130 RadiusServerAuthCertificate *string `json:"radiusServerAuthCertificate,omitempty"` 15131} 15132 15133// MarshalJSON implements the json.Marshaller interface for type VPNClientParameters. 15134func (v VPNClientParameters) MarshalJSON() ([]byte, error) { 15135 objectMap := make(map[string]interface{}) 15136 populate(objectMap, "authenticationMethod", v.AuthenticationMethod) 15137 populate(objectMap, "clientRootCertificates", v.ClientRootCertificates) 15138 populate(objectMap, "processorArchitecture", v.ProcessorArchitecture) 15139 populate(objectMap, "radiusServerAuthCertificate", v.RadiusServerAuthCertificate) 15140 return json.Marshal(objectMap) 15141} 15142 15143// VPNClientRevokedCertificate - VPN client revoked certificate of virtual network gateway. 15144type VPNClientRevokedCertificate struct { 15145 SubResource 15146 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 15147 Name *string `json:"name,omitempty"` 15148 15149 // Properties of the vpn client revoked certificate. 15150 Properties *VPNClientRevokedCertificatePropertiesFormat `json:"properties,omitempty"` 15151 15152 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15153 Etag *string `json:"etag,omitempty" azure:"ro"` 15154} 15155 15156// MarshalJSON implements the json.Marshaller interface for type VPNClientRevokedCertificate. 15157func (v VPNClientRevokedCertificate) MarshalJSON() ([]byte, error) { 15158 objectMap := v.SubResource.marshalInternal() 15159 populate(objectMap, "etag", v.Etag) 15160 populate(objectMap, "name", v.Name) 15161 populate(objectMap, "properties", v.Properties) 15162 return json.Marshal(objectMap) 15163} 15164 15165// VPNClientRevokedCertificatePropertiesFormat - Properties of the revoked VPN client certificate of virtual network gateway. 15166type VPNClientRevokedCertificatePropertiesFormat struct { 15167 // The revoked VPN client certificate thumbprint. 15168 Thumbprint *string `json:"thumbprint,omitempty"` 15169 15170 // READ-ONLY; The provisioning state of the VPN client revoked certificate resource. 15171 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15172} 15173 15174// VPNClientRootCertificate - VPN client root certificate of virtual network gateway. 15175type VPNClientRootCertificate struct { 15176 SubResource 15177 // REQUIRED; Properties of the vpn client root certificate. 15178 Properties *VPNClientRootCertificatePropertiesFormat `json:"properties,omitempty"` 15179 15180 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 15181 Name *string `json:"name,omitempty"` 15182 15183 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15184 Etag *string `json:"etag,omitempty" azure:"ro"` 15185} 15186 15187// MarshalJSON implements the json.Marshaller interface for type VPNClientRootCertificate. 15188func (v VPNClientRootCertificate) MarshalJSON() ([]byte, error) { 15189 objectMap := v.SubResource.marshalInternal() 15190 populate(objectMap, "etag", v.Etag) 15191 populate(objectMap, "name", v.Name) 15192 populate(objectMap, "properties", v.Properties) 15193 return json.Marshal(objectMap) 15194} 15195 15196// VPNClientRootCertificatePropertiesFormat - Properties of SSL certificates of application gateway. 15197type VPNClientRootCertificatePropertiesFormat struct { 15198 // REQUIRED; The certificate public data. 15199 PublicCertData *string `json:"publicCertData,omitempty"` 15200 15201 // READ-ONLY; The provisioning state of the VPN client root certificate resource. 15202 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15203} 15204 15205// VPNConnection - VpnConnection Resource. 15206type VPNConnection struct { 15207 SubResource 15208 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 15209 Name *string `json:"name,omitempty"` 15210 15211 // Properties of the VPN connection. 15212 Properties *VPNConnectionProperties `json:"properties,omitempty"` 15213 15214 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15215 Etag *string `json:"etag,omitempty" azure:"ro"` 15216} 15217 15218// MarshalJSON implements the json.Marshaller interface for type VPNConnection. 15219func (v VPNConnection) MarshalJSON() ([]byte, error) { 15220 objectMap := v.SubResource.marshalInternal() 15221 populate(objectMap, "etag", v.Etag) 15222 populate(objectMap, "name", v.Name) 15223 populate(objectMap, "properties", v.Properties) 15224 return json.Marshal(objectMap) 15225} 15226 15227// VPNConnectionPacketCaptureStartParameters - Vpn Connection packet capture parameters supplied to start packet capture on gateway connection. 15228type VPNConnectionPacketCaptureStartParameters struct { 15229 // Start Packet capture parameters on vpn connection. 15230 FilterData *string `json:"filterData,omitempty"` 15231 15232 // List of site link connection names. 15233 LinkConnectionNames []*string `json:"linkConnectionNames,omitempty"` 15234} 15235 15236// MarshalJSON implements the json.Marshaller interface for type VPNConnectionPacketCaptureStartParameters. 15237func (v VPNConnectionPacketCaptureStartParameters) MarshalJSON() ([]byte, error) { 15238 objectMap := make(map[string]interface{}) 15239 populate(objectMap, "filterData", v.FilterData) 15240 populate(objectMap, "linkConnectionNames", v.LinkConnectionNames) 15241 return json.Marshal(objectMap) 15242} 15243 15244// VPNConnectionPacketCaptureStopParameters - Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection. 15245type VPNConnectionPacketCaptureStopParameters struct { 15246 // List of site link connection names. 15247 LinkConnectionNames []*string `json:"linkConnectionNames,omitempty"` 15248 15249 // SAS url for packet capture on vpn connection. 15250 SasURL *string `json:"sasUrl,omitempty"` 15251} 15252 15253// MarshalJSON implements the json.Marshaller interface for type VPNConnectionPacketCaptureStopParameters. 15254func (v VPNConnectionPacketCaptureStopParameters) MarshalJSON() ([]byte, error) { 15255 objectMap := make(map[string]interface{}) 15256 populate(objectMap, "linkConnectionNames", v.LinkConnectionNames) 15257 populate(objectMap, "sasUrl", v.SasURL) 15258 return json.Marshal(objectMap) 15259} 15260 15261// VPNConnectionProperties - Parameters for VpnConnection. 15262type VPNConnectionProperties struct { 15263 // Expected bandwidth in MBPS. 15264 ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` 15265 15266 // DPD timeout in seconds for vpn connection. 15267 DpdTimeoutSeconds *int32 `json:"dpdTimeoutSeconds,omitempty"` 15268 15269 // EnableBgp flag. 15270 EnableBgp *bool `json:"enableBgp,omitempty"` 15271 15272 // Enable internet security. 15273 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 15274 15275 // EnableBgp flag. 15276 EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` 15277 15278 // The IPSec Policies to be considered by this connection. 15279 IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` 15280 15281 // Id of the connected vpn site. 15282 RemoteVPNSite *SubResource `json:"remoteVpnSite,omitempty"` 15283 15284 // The Routing Configuration indicating the associated and propagated route tables on this connection. 15285 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 15286 15287 // Routing weight for vpn connection. 15288 RoutingWeight *int32 `json:"routingWeight,omitempty"` 15289 15290 // SharedKey for the vpn connection. 15291 SharedKey *string `json:"sharedKey,omitempty"` 15292 15293 // The Traffic Selector Policies to be considered by this connection. 15294 TrafficSelectorPolicies []*TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` 15295 15296 // Use local azure ip to initiate connection. 15297 UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` 15298 15299 // Enable policy-based traffic selectors. 15300 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 15301 15302 // Connection protocol used for this connection. 15303 VPNConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` 15304 15305 // List of all vpn site link connections to the gateway. 15306 VPNLinkConnections []*VPNSiteLinkConnection `json:"vpnLinkConnections,omitempty"` 15307 15308 // READ-ONLY; The connection status. 15309 ConnectionStatus *VPNConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 15310 15311 // READ-ONLY; Egress bytes transferred. 15312 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 15313 15314 // READ-ONLY; Ingress bytes transferred. 15315 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 15316 15317 // READ-ONLY; The provisioning state of the VPN connection resource. 15318 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15319} 15320 15321// MarshalJSON implements the json.Marshaller interface for type VPNConnectionProperties. 15322func (v VPNConnectionProperties) MarshalJSON() ([]byte, error) { 15323 objectMap := make(map[string]interface{}) 15324 populate(objectMap, "connectionBandwidth", v.ConnectionBandwidth) 15325 populate(objectMap, "connectionStatus", v.ConnectionStatus) 15326 populate(objectMap, "dpdTimeoutSeconds", v.DpdTimeoutSeconds) 15327 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 15328 populate(objectMap, "enableBgp", v.EnableBgp) 15329 populate(objectMap, "enableInternetSecurity", v.EnableInternetSecurity) 15330 populate(objectMap, "enableRateLimiting", v.EnableRateLimiting) 15331 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 15332 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 15333 populate(objectMap, "provisioningState", v.ProvisioningState) 15334 populate(objectMap, "remoteVpnSite", v.RemoteVPNSite) 15335 populate(objectMap, "routingConfiguration", v.RoutingConfiguration) 15336 populate(objectMap, "routingWeight", v.RoutingWeight) 15337 populate(objectMap, "sharedKey", v.SharedKey) 15338 populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) 15339 populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) 15340 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 15341 populate(objectMap, "vpnConnectionProtocolType", v.VPNConnectionProtocolType) 15342 populate(objectMap, "vpnLinkConnections", v.VPNLinkConnections) 15343 return json.Marshal(objectMap) 15344} 15345 15346// VPNConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the VPNConnections.BeginCreateOrUpdate method. 15347type VPNConnectionsBeginCreateOrUpdateOptions struct { 15348 // placeholder for future optional parameters 15349} 15350 15351// VPNConnectionsBeginDeleteOptions contains the optional parameters for the VPNConnections.BeginDelete method. 15352type VPNConnectionsBeginDeleteOptions struct { 15353 // placeholder for future optional parameters 15354} 15355 15356// VPNConnectionsBeginStartPacketCaptureOptions contains the optional parameters for the VPNConnections.BeginStartPacketCapture method. 15357type VPNConnectionsBeginStartPacketCaptureOptions struct { 15358 // Vpn Connection packet capture parameters supplied to start packet capture on gateway connection. 15359 Parameters *VPNConnectionPacketCaptureStartParameters 15360} 15361 15362// VPNConnectionsBeginStopPacketCaptureOptions contains the optional parameters for the VPNConnections.BeginStopPacketCapture method. 15363type VPNConnectionsBeginStopPacketCaptureOptions struct { 15364 // Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection. 15365 Parameters *VPNConnectionPacketCaptureStopParameters 15366} 15367 15368// VPNConnectionsGetOptions contains the optional parameters for the VPNConnections.Get method. 15369type VPNConnectionsGetOptions struct { 15370 // placeholder for future optional parameters 15371} 15372 15373// VPNConnectionsListByVPNGatewayOptions contains the optional parameters for the VPNConnections.ListByVPNGateway method. 15374type VPNConnectionsListByVPNGatewayOptions struct { 15375 // placeholder for future optional parameters 15376} 15377 15378// VPNDeviceScriptParameters - Vpn device configuration script generation parameters. 15379type VPNDeviceScriptParameters struct { 15380 // The device family for the vpn device. 15381 DeviceFamily *string `json:"deviceFamily,omitempty"` 15382 15383 // The firmware version for the vpn device. 15384 FirmwareVersion *string `json:"firmwareVersion,omitempty"` 15385 15386 // The vendor for the vpn device. 15387 Vendor *string `json:"vendor,omitempty"` 15388} 15389 15390// VPNGateway - VpnGateway Resource. 15391type VPNGateway struct { 15392 Resource 15393 // Properties of the VPN gateway. 15394 Properties *VPNGatewayProperties `json:"properties,omitempty"` 15395 15396 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15397 Etag *string `json:"etag,omitempty" azure:"ro"` 15398} 15399 15400// MarshalJSON implements the json.Marshaller interface for type VPNGateway. 15401func (v VPNGateway) MarshalJSON() ([]byte, error) { 15402 objectMap := v.Resource.marshalInternal() 15403 populate(objectMap, "etag", v.Etag) 15404 populate(objectMap, "properties", v.Properties) 15405 return json.Marshal(objectMap) 15406} 15407 15408// VPNGatewayIPConfiguration - IP Configuration of a VPN Gateway Resource. 15409type VPNGatewayIPConfiguration struct { 15410 // The identifier of the IP configuration for a VPN Gateway. 15411 ID *string `json:"id,omitempty"` 15412 15413 // The private IP address of this IP configuration. 15414 PrivateIPAddress *string `json:"privateIpAddress,omitempty"` 15415 15416 // The public IP address of this IP configuration. 15417 PublicIPAddress *string `json:"publicIpAddress,omitempty"` 15418} 15419 15420// VPNGatewayNatRule - VpnGatewayNatRule Resource. 15421type VPNGatewayNatRule struct { 15422 SubResource 15423 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 15424 Name *string `json:"name,omitempty"` 15425 15426 // Properties of the VpnGateway NAT rule. 15427 Properties *VPNGatewayNatRuleProperties `json:"properties,omitempty"` 15428 15429 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15430 Etag *string `json:"etag,omitempty" azure:"ro"` 15431 15432 // READ-ONLY; Resource type. 15433 Type *string `json:"type,omitempty" azure:"ro"` 15434} 15435 15436// MarshalJSON implements the json.Marshaller interface for type VPNGatewayNatRule. 15437func (v VPNGatewayNatRule) MarshalJSON() ([]byte, error) { 15438 objectMap := v.SubResource.marshalInternal() 15439 populate(objectMap, "etag", v.Etag) 15440 populate(objectMap, "name", v.Name) 15441 populate(objectMap, "properties", v.Properties) 15442 populate(objectMap, "type", v.Type) 15443 return json.Marshal(objectMap) 15444} 15445 15446// VPNGatewayNatRuleProperties - Parameters for VpnGatewayNatRule. 15447type VPNGatewayNatRuleProperties struct { 15448 // The private IP address external mapping for NAT. 15449 ExternalMappings []*VPNNatRuleMapping `json:"externalMappings,omitempty"` 15450 15451 // The IP Configuration ID this NAT rule applies to. 15452 IPConfigurationID *string `json:"ipConfigurationId,omitempty"` 15453 15454 // The private IP address internal mapping for NAT. 15455 InternalMappings []*VPNNatRuleMapping `json:"internalMappings,omitempty"` 15456 15457 // The Source NAT direction of a VPN NAT. 15458 Mode *VPNNatRuleMode `json:"mode,omitempty"` 15459 15460 // The type of NAT rule for VPN NAT. 15461 Type *VPNNatRuleType `json:"type,omitempty"` 15462 15463 // READ-ONLY; List of egress VpnSiteLinkConnections. 15464 EgressVPNSiteLinkConnections []*SubResource `json:"egressVpnSiteLinkConnections,omitempty" azure:"ro"` 15465 15466 // READ-ONLY; List of ingress VpnSiteLinkConnections. 15467 IngressVPNSiteLinkConnections []*SubResource `json:"ingressVpnSiteLinkConnections,omitempty" azure:"ro"` 15468 15469 // READ-ONLY; The provisioning state of the NAT Rule resource. 15470 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15471} 15472 15473// MarshalJSON implements the json.Marshaller interface for type VPNGatewayNatRuleProperties. 15474func (v VPNGatewayNatRuleProperties) MarshalJSON() ([]byte, error) { 15475 objectMap := make(map[string]interface{}) 15476 populate(objectMap, "egressVpnSiteLinkConnections", v.EgressVPNSiteLinkConnections) 15477 populate(objectMap, "externalMappings", v.ExternalMappings) 15478 populate(objectMap, "ipConfigurationId", v.IPConfigurationID) 15479 populate(objectMap, "ingressVpnSiteLinkConnections", v.IngressVPNSiteLinkConnections) 15480 populate(objectMap, "internalMappings", v.InternalMappings) 15481 populate(objectMap, "mode", v.Mode) 15482 populate(objectMap, "provisioningState", v.ProvisioningState) 15483 populate(objectMap, "type", v.Type) 15484 return json.Marshal(objectMap) 15485} 15486 15487// VPNGatewayPacketCaptureStartParameters - Start packet capture parameters. 15488type VPNGatewayPacketCaptureStartParameters struct { 15489 // Start Packet capture parameters on vpn gateway. 15490 FilterData *string `json:"filterData,omitempty"` 15491} 15492 15493// VPNGatewayPacketCaptureStopParameters - Stop packet capture parameters. 15494type VPNGatewayPacketCaptureStopParameters struct { 15495 // SAS url for packet capture on vpn gateway. 15496 SasURL *string `json:"sasUrl,omitempty"` 15497} 15498 15499// VPNGatewayProperties - Parameters for VpnGateway. 15500type VPNGatewayProperties struct { 15501 // Local network gateway's BGP speaker settings. 15502 BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` 15503 15504 // List of all vpn connections to the gateway. 15505 Connections []*VPNConnection `json:"connections,omitempty"` 15506 15507 // Enable Routing Preference property for the Public IP Interface of the VpnGateway. 15508 IsRoutingPreferenceInternet *bool `json:"isRoutingPreferenceInternet,omitempty"` 15509 15510 // List of all the nat Rules associated with the gateway. 15511 NatRules []*VPNGatewayNatRule `json:"natRules,omitempty"` 15512 15513 // The scale unit for this vpn gateway. 15514 VPNGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` 15515 15516 // The VirtualHub to which the gateway belongs. 15517 VirtualHub *SubResource `json:"virtualHub,omitempty"` 15518 15519 // READ-ONLY; List of all IPs configured on the gateway. 15520 IPConfigurations []*VPNGatewayIPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` 15521 15522 // READ-ONLY; The provisioning state of the VPN gateway resource. 15523 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15524} 15525 15526// MarshalJSON implements the json.Marshaller interface for type VPNGatewayProperties. 15527func (v VPNGatewayProperties) MarshalJSON() ([]byte, error) { 15528 objectMap := make(map[string]interface{}) 15529 populate(objectMap, "bgpSettings", v.BgpSettings) 15530 populate(objectMap, "connections", v.Connections) 15531 populate(objectMap, "ipConfigurations", v.IPConfigurations) 15532 populate(objectMap, "isRoutingPreferenceInternet", v.IsRoutingPreferenceInternet) 15533 populate(objectMap, "natRules", v.NatRules) 15534 populate(objectMap, "provisioningState", v.ProvisioningState) 15535 populate(objectMap, "vpnGatewayScaleUnit", v.VPNGatewayScaleUnit) 15536 populate(objectMap, "virtualHub", v.VirtualHub) 15537 return json.Marshal(objectMap) 15538} 15539 15540// VPNGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the VPNGateways.BeginCreateOrUpdate method. 15541type VPNGatewaysBeginCreateOrUpdateOptions struct { 15542 // placeholder for future optional parameters 15543} 15544 15545// VPNGatewaysBeginDeleteOptions contains the optional parameters for the VPNGateways.BeginDelete method. 15546type VPNGatewaysBeginDeleteOptions struct { 15547 // placeholder for future optional parameters 15548} 15549 15550// VPNGatewaysBeginResetOptions contains the optional parameters for the VPNGateways.BeginReset method. 15551type VPNGatewaysBeginResetOptions struct { 15552 // placeholder for future optional parameters 15553} 15554 15555// VPNGatewaysBeginStartPacketCaptureOptions contains the optional parameters for the VPNGateways.BeginStartPacketCapture method. 15556type VPNGatewaysBeginStartPacketCaptureOptions struct { 15557 // Vpn gateway packet capture parameters supplied to start packet capture on vpn gateway. 15558 Parameters *VPNGatewayPacketCaptureStartParameters 15559} 15560 15561// VPNGatewaysBeginStopPacketCaptureOptions contains the optional parameters for the VPNGateways.BeginStopPacketCapture method. 15562type VPNGatewaysBeginStopPacketCaptureOptions struct { 15563 // Vpn gateway packet capture parameters supplied to stop packet capture on vpn gateway. 15564 Parameters *VPNGatewayPacketCaptureStopParameters 15565} 15566 15567// VPNGatewaysBeginUpdateTagsOptions contains the optional parameters for the VPNGateways.BeginUpdateTags method. 15568type VPNGatewaysBeginUpdateTagsOptions struct { 15569 // placeholder for future optional parameters 15570} 15571 15572// VPNGatewaysGetOptions contains the optional parameters for the VPNGateways.Get method. 15573type VPNGatewaysGetOptions struct { 15574 // placeholder for future optional parameters 15575} 15576 15577// VPNGatewaysListByResourceGroupOptions contains the optional parameters for the VPNGateways.ListByResourceGroup method. 15578type VPNGatewaysListByResourceGroupOptions struct { 15579 // placeholder for future optional parameters 15580} 15581 15582// VPNGatewaysListOptions contains the optional parameters for the VPNGateways.List method. 15583type VPNGatewaysListOptions struct { 15584 // placeholder for future optional parameters 15585} 15586 15587// VPNLinkBgpSettings - BGP settings details for a link. 15588type VPNLinkBgpSettings struct { 15589 // The BGP speaker's ASN. 15590 Asn *int64 `json:"asn,omitempty"` 15591 15592 // The BGP peering address and BGP identifier of this BGP speaker. 15593 BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` 15594} 15595 15596// VPNLinkConnectionsBeginGetIkeSasOptions contains the optional parameters for the VPNLinkConnections.BeginGetIkeSas method. 15597type VPNLinkConnectionsBeginGetIkeSasOptions struct { 15598 // placeholder for future optional parameters 15599} 15600 15601// VPNLinkConnectionsBeginResetConnectionOptions contains the optional parameters for the VPNLinkConnections.BeginResetConnection method. 15602type VPNLinkConnectionsBeginResetConnectionOptions struct { 15603 // placeholder for future optional parameters 15604} 15605 15606// VPNLinkConnectionsListByVPNConnectionOptions contains the optional parameters for the VPNLinkConnections.ListByVPNConnection method. 15607type VPNLinkConnectionsListByVPNConnectionOptions struct { 15608 // placeholder for future optional parameters 15609} 15610 15611// VPNLinkProviderProperties - List of properties of a link provider. 15612type VPNLinkProviderProperties struct { 15613 // Name of the link provider. 15614 LinkProviderName *string `json:"linkProviderName,omitempty"` 15615 15616 // Link speed. 15617 LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` 15618} 15619 15620// VPNNatRuleMapping - Vpn NatRule mapping. 15621type VPNNatRuleMapping struct { 15622 // Address space for Vpn NatRule mapping. 15623 AddressSpace *string `json:"addressSpace,omitempty"` 15624} 15625 15626// VPNPacketCaptureStartParameters - Start packet capture parameters on virtual network gateway. 15627type VPNPacketCaptureStartParameters struct { 15628 // Start Packet capture parameters. 15629 FilterData *string `json:"filterData,omitempty"` 15630} 15631 15632// VPNPacketCaptureStopParameters - Stop packet capture parameters. 15633type VPNPacketCaptureStopParameters struct { 15634 // SAS url for packet capture on virtual network gateway. 15635 SasURL *string `json:"sasUrl,omitempty"` 15636} 15637 15638// VPNProfileResponse - Vpn Profile Response for package generation. 15639type VPNProfileResponse struct { 15640 // URL to the VPN profile. 15641 ProfileURL *string `json:"profileUrl,omitempty"` 15642} 15643 15644// VPNServerConfigRadiusClientRootCertificate - Properties of the Radius client root certificate of VpnServerConfiguration. 15645type VPNServerConfigRadiusClientRootCertificate struct { 15646 // The certificate name. 15647 Name *string `json:"name,omitempty"` 15648 15649 // The Radius client root certificate thumbprint. 15650 Thumbprint *string `json:"thumbprint,omitempty"` 15651} 15652 15653// VPNServerConfigRadiusServerRootCertificate - Properties of Radius Server root certificate of VpnServerConfiguration. 15654type VPNServerConfigRadiusServerRootCertificate struct { 15655 // The certificate name. 15656 Name *string `json:"name,omitempty"` 15657 15658 // The certificate public data. 15659 PublicCertData *string `json:"publicCertData,omitempty"` 15660} 15661 15662// VPNServerConfigVPNClientRevokedCertificate - Properties of the revoked VPN client certificate of VpnServerConfiguration. 15663type VPNServerConfigVPNClientRevokedCertificate struct { 15664 // The certificate name. 15665 Name *string `json:"name,omitempty"` 15666 15667 // The revoked VPN client certificate thumbprint. 15668 Thumbprint *string `json:"thumbprint,omitempty"` 15669} 15670 15671// VPNServerConfigVPNClientRootCertificate - Properties of VPN client root certificate of VpnServerConfiguration. 15672type VPNServerConfigVPNClientRootCertificate struct { 15673 // The certificate name. 15674 Name *string `json:"name,omitempty"` 15675 15676 // The certificate public data. 15677 PublicCertData *string `json:"publicCertData,omitempty"` 15678} 15679 15680// VPNServerConfiguration - VpnServerConfiguration Resource. 15681type VPNServerConfiguration struct { 15682 Resource 15683 // Properties of the P2SVpnServer configuration. 15684 Properties *VPNServerConfigurationProperties `json:"properties,omitempty"` 15685 15686 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15687 Etag *string `json:"etag,omitempty" azure:"ro"` 15688} 15689 15690// MarshalJSON implements the json.Marshaller interface for type VPNServerConfiguration. 15691func (v VPNServerConfiguration) MarshalJSON() ([]byte, error) { 15692 objectMap := v.Resource.marshalInternal() 15693 populate(objectMap, "etag", v.Etag) 15694 populate(objectMap, "properties", v.Properties) 15695 return json.Marshal(objectMap) 15696} 15697 15698// VPNServerConfigurationProperties - Parameters for VpnServerConfiguration. 15699type VPNServerConfigurationProperties struct { 15700 // The set of aad vpn authentication parameters. 15701 AADAuthenticationParameters *AADAuthenticationParameters `json:"aadAuthenticationParameters,omitempty"` 15702 15703 // The name of the VpnServerConfiguration that is unique within a resource group. 15704 Name *string `json:"name,omitempty"` 15705 15706 // Radius client root certificate of VpnServerConfiguration. 15707 RadiusClientRootCertificates []*VPNServerConfigRadiusClientRootCertificate `json:"radiusClientRootCertificates,omitempty"` 15708 15709 // The radius server address property of the VpnServerConfiguration resource for point to site client connection. 15710 RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` 15711 15712 // Radius Server root certificate of VpnServerConfiguration. 15713 RadiusServerRootCertificates []*VPNServerConfigRadiusServerRootCertificate `json:"radiusServerRootCertificates,omitempty"` 15714 15715 // The radius secret property of the VpnServerConfiguration resource for point to site client connection. 15716 RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` 15717 15718 // Multiple Radius Server configuration for VpnServerConfiguration. 15719 RadiusServers []*RadiusServer `json:"radiusServers,omitempty"` 15720 15721 // VPN authentication types for the VpnServerConfiguration. 15722 VPNAuthenticationTypes []*VPNAuthenticationType `json:"vpnAuthenticationTypes,omitempty"` 15723 15724 // VpnClientIpsecPolicies for VpnServerConfiguration. 15725 VPNClientIPSecPolicies []*IPSecPolicy `json:"vpnClientIpsecPolicies,omitempty"` 15726 15727 // VPN client revoked certificate of VpnServerConfiguration. 15728 VPNClientRevokedCertificates []*VPNServerConfigVPNClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` 15729 15730 // VPN client root certificate of VpnServerConfiguration. 15731 VPNClientRootCertificates []*VPNServerConfigVPNClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` 15732 15733 // VPN protocols for the VpnServerConfiguration. 15734 VPNProtocols []*VPNGatewayTunnelingProtocol `json:"vpnProtocols,omitempty"` 15735 15736 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15737 Etag *string `json:"etag,omitempty" azure:"ro"` 15738 15739 // READ-ONLY; List of references to P2SVpnGateways. 15740 P2SVPNGateways []*P2SVPNGateway `json:"p2SVpnGateways,omitempty" azure:"ro"` 15741 15742 // READ-ONLY; The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 15743 ProvisioningState *string `json:"provisioningState,omitempty" azure:"ro"` 15744} 15745 15746// MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationProperties. 15747func (v VPNServerConfigurationProperties) MarshalJSON() ([]byte, error) { 15748 objectMap := make(map[string]interface{}) 15749 populate(objectMap, "aadAuthenticationParameters", v.AADAuthenticationParameters) 15750 populate(objectMap, "etag", v.Etag) 15751 populate(objectMap, "name", v.Name) 15752 populate(objectMap, "p2SVpnGateways", v.P2SVPNGateways) 15753 populate(objectMap, "provisioningState", v.ProvisioningState) 15754 populate(objectMap, "radiusClientRootCertificates", v.RadiusClientRootCertificates) 15755 populate(objectMap, "radiusServerAddress", v.RadiusServerAddress) 15756 populate(objectMap, "radiusServerRootCertificates", v.RadiusServerRootCertificates) 15757 populate(objectMap, "radiusServerSecret", v.RadiusServerSecret) 15758 populate(objectMap, "radiusServers", v.RadiusServers) 15759 populate(objectMap, "vpnAuthenticationTypes", v.VPNAuthenticationTypes) 15760 populate(objectMap, "vpnClientIpsecPolicies", v.VPNClientIPSecPolicies) 15761 populate(objectMap, "vpnClientRevokedCertificates", v.VPNClientRevokedCertificates) 15762 populate(objectMap, "vpnClientRootCertificates", v.VPNClientRootCertificates) 15763 populate(objectMap, "vpnProtocols", v.VPNProtocols) 15764 return json.Marshal(objectMap) 15765} 15766 15767// VPNServerConfigurationsAssociatedWithVirtualWanBeginListOptions contains the optional parameters for the VPNServerConfigurationsAssociatedWithVirtualWan.BeginList 15768// method. 15769type VPNServerConfigurationsAssociatedWithVirtualWanBeginListOptions struct { 15770 // placeholder for future optional parameters 15771} 15772 15773// VPNServerConfigurationsBeginCreateOrUpdateOptions contains the optional parameters for the VPNServerConfigurations.BeginCreateOrUpdate method. 15774type VPNServerConfigurationsBeginCreateOrUpdateOptions struct { 15775 // placeholder for future optional parameters 15776} 15777 15778// VPNServerConfigurationsBeginDeleteOptions contains the optional parameters for the VPNServerConfigurations.BeginDelete method. 15779type VPNServerConfigurationsBeginDeleteOptions struct { 15780 // placeholder for future optional parameters 15781} 15782 15783// VPNServerConfigurationsGetOptions contains the optional parameters for the VPNServerConfigurations.Get method. 15784type VPNServerConfigurationsGetOptions struct { 15785 // placeholder for future optional parameters 15786} 15787 15788// VPNServerConfigurationsListByResourceGroupOptions contains the optional parameters for the VPNServerConfigurations.ListByResourceGroup method. 15789type VPNServerConfigurationsListByResourceGroupOptions struct { 15790 // placeholder for future optional parameters 15791} 15792 15793// VPNServerConfigurationsListOptions contains the optional parameters for the VPNServerConfigurations.List method. 15794type VPNServerConfigurationsListOptions struct { 15795 // placeholder for future optional parameters 15796} 15797 15798// VPNServerConfigurationsResponse - VpnServerConfigurations list associated with VirtualWan Response. 15799type VPNServerConfigurationsResponse struct { 15800 // List of VpnServerConfigurations associated with VirtualWan. 15801 VPNServerConfigurationResourceIDs []*string `json:"vpnServerConfigurationResourceIds,omitempty"` 15802} 15803 15804// MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationsResponse. 15805func (v VPNServerConfigurationsResponse) MarshalJSON() ([]byte, error) { 15806 objectMap := make(map[string]interface{}) 15807 populate(objectMap, "vpnServerConfigurationResourceIds", v.VPNServerConfigurationResourceIDs) 15808 return json.Marshal(objectMap) 15809} 15810 15811// VPNServerConfigurationsUpdateTagsOptions contains the optional parameters for the VPNServerConfigurations.UpdateTags method. 15812type VPNServerConfigurationsUpdateTagsOptions struct { 15813 // placeholder for future optional parameters 15814} 15815 15816// VPNSite - VpnSite Resource. 15817type VPNSite struct { 15818 Resource 15819 // Properties of the VPN site. 15820 Properties *VPNSiteProperties `json:"properties,omitempty"` 15821 15822 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15823 Etag *string `json:"etag,omitempty" azure:"ro"` 15824} 15825 15826// MarshalJSON implements the json.Marshaller interface for type VPNSite. 15827func (v VPNSite) MarshalJSON() ([]byte, error) { 15828 objectMap := v.Resource.marshalInternal() 15829 populate(objectMap, "etag", v.Etag) 15830 populate(objectMap, "properties", v.Properties) 15831 return json.Marshal(objectMap) 15832} 15833 15834// VPNSiteID - VpnSite Resource. 15835type VPNSiteID struct { 15836 // READ-ONLY; The resource-uri of the vpn-site for which config is to be fetched. 15837 VPNSite *string `json:"vpnSite,omitempty" azure:"ro"` 15838} 15839 15840// VPNSiteLink - VpnSiteLink Resource. 15841type VPNSiteLink struct { 15842 SubResource 15843 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 15844 Name *string `json:"name,omitempty"` 15845 15846 // Properties of the VPN site link. 15847 Properties *VPNSiteLinkProperties `json:"properties,omitempty"` 15848 15849 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15850 Etag *string `json:"etag,omitempty" azure:"ro"` 15851 15852 // READ-ONLY; Resource type. 15853 Type *string `json:"type,omitempty" azure:"ro"` 15854} 15855 15856// MarshalJSON implements the json.Marshaller interface for type VPNSiteLink. 15857func (v VPNSiteLink) MarshalJSON() ([]byte, error) { 15858 objectMap := v.SubResource.marshalInternal() 15859 populate(objectMap, "etag", v.Etag) 15860 populate(objectMap, "name", v.Name) 15861 populate(objectMap, "properties", v.Properties) 15862 populate(objectMap, "type", v.Type) 15863 return json.Marshal(objectMap) 15864} 15865 15866// VPNSiteLinkConnection - VpnSiteLinkConnection Resource. 15867type VPNSiteLinkConnection struct { 15868 SubResource 15869 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 15870 Name *string `json:"name,omitempty"` 15871 15872 // Properties of the VPN site link connection. 15873 Properties *VPNSiteLinkConnectionProperties `json:"properties,omitempty"` 15874 15875 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15876 Etag *string `json:"etag,omitempty" azure:"ro"` 15877 15878 // READ-ONLY; Resource type. 15879 Type *string `json:"type,omitempty" azure:"ro"` 15880} 15881 15882// MarshalJSON implements the json.Marshaller interface for type VPNSiteLinkConnection. 15883func (v VPNSiteLinkConnection) MarshalJSON() ([]byte, error) { 15884 objectMap := v.SubResource.marshalInternal() 15885 populate(objectMap, "etag", v.Etag) 15886 populate(objectMap, "name", v.Name) 15887 populate(objectMap, "properties", v.Properties) 15888 populate(objectMap, "type", v.Type) 15889 return json.Marshal(objectMap) 15890} 15891 15892// VPNSiteLinkConnectionProperties - Parameters for VpnConnection. 15893type VPNSiteLinkConnectionProperties struct { 15894 // Expected bandwidth in MBPS. 15895 ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` 15896 15897 // List of egress NatRules. 15898 EgressNatRules []*SubResource `json:"egressNatRules,omitempty"` 15899 15900 // EnableBgp flag. 15901 EnableBgp *bool `json:"enableBgp,omitempty"` 15902 15903 // EnableBgp flag. 15904 EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` 15905 15906 // The IPSec Policies to be considered by this connection. 15907 IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` 15908 15909 // List of ingress NatRules. 15910 IngressNatRules []*SubResource `json:"ingressNatRules,omitempty"` 15911 15912 // Routing weight for vpn connection. 15913 RoutingWeight *int32 `json:"routingWeight,omitempty"` 15914 15915 // SharedKey for the vpn connection. 15916 SharedKey *string `json:"sharedKey,omitempty"` 15917 15918 // Use local azure ip to initiate connection. 15919 UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` 15920 15921 // Enable policy-based traffic selectors. 15922 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 15923 15924 // Connection protocol used for this connection. 15925 VPNConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` 15926 15927 // Vpn link connection mode. 15928 VPNLinkConnectionMode *VPNLinkConnectionMode `json:"vpnLinkConnectionMode,omitempty"` 15929 15930 // Id of the connected vpn site link. 15931 VPNSiteLink *SubResource `json:"vpnSiteLink,omitempty"` 15932 15933 // READ-ONLY; The connection status. 15934 ConnectionStatus *VPNConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 15935 15936 // READ-ONLY; Egress bytes transferred. 15937 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 15938 15939 // READ-ONLY; Ingress bytes transferred. 15940 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 15941 15942 // READ-ONLY; The provisioning state of the VPN site link connection resource. 15943 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15944} 15945 15946// MarshalJSON implements the json.Marshaller interface for type VPNSiteLinkConnectionProperties. 15947func (v VPNSiteLinkConnectionProperties) MarshalJSON() ([]byte, error) { 15948 objectMap := make(map[string]interface{}) 15949 populate(objectMap, "connectionBandwidth", v.ConnectionBandwidth) 15950 populate(objectMap, "connectionStatus", v.ConnectionStatus) 15951 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 15952 populate(objectMap, "egressNatRules", v.EgressNatRules) 15953 populate(objectMap, "enableBgp", v.EnableBgp) 15954 populate(objectMap, "enableRateLimiting", v.EnableRateLimiting) 15955 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 15956 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 15957 populate(objectMap, "ingressNatRules", v.IngressNatRules) 15958 populate(objectMap, "provisioningState", v.ProvisioningState) 15959 populate(objectMap, "routingWeight", v.RoutingWeight) 15960 populate(objectMap, "sharedKey", v.SharedKey) 15961 populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) 15962 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 15963 populate(objectMap, "vpnConnectionProtocolType", v.VPNConnectionProtocolType) 15964 populate(objectMap, "vpnLinkConnectionMode", v.VPNLinkConnectionMode) 15965 populate(objectMap, "vpnSiteLink", v.VPNSiteLink) 15966 return json.Marshal(objectMap) 15967} 15968 15969// VPNSiteLinkConnectionsGetOptions contains the optional parameters for the VPNSiteLinkConnections.Get method. 15970type VPNSiteLinkConnectionsGetOptions struct { 15971 // placeholder for future optional parameters 15972} 15973 15974// VPNSiteLinkProperties - Parameters for VpnSite. 15975type VPNSiteLinkProperties struct { 15976 // The set of bgp properties. 15977 BgpProperties *VPNLinkBgpSettings `json:"bgpProperties,omitempty"` 15978 15979 // FQDN of vpn-site-link. 15980 Fqdn *string `json:"fqdn,omitempty"` 15981 15982 // The ip-address for the vpn-site-link. 15983 IPAddress *string `json:"ipAddress,omitempty"` 15984 15985 // The link provider properties. 15986 LinkProperties *VPNLinkProviderProperties `json:"linkProperties,omitempty"` 15987 15988 // READ-ONLY; The provisioning state of the VPN site link resource. 15989 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15990} 15991 15992// VPNSiteLinksGetOptions contains the optional parameters for the VPNSiteLinks.Get method. 15993type VPNSiteLinksGetOptions struct { 15994 // placeholder for future optional parameters 15995} 15996 15997// VPNSiteLinksListByVPNSiteOptions contains the optional parameters for the VPNSiteLinks.ListByVPNSite method. 15998type VPNSiteLinksListByVPNSiteOptions struct { 15999 // placeholder for future optional parameters 16000} 16001 16002// VPNSiteProperties - Parameters for VpnSite. 16003type VPNSiteProperties struct { 16004 // The AddressSpace that contains an array of IP address ranges. 16005 AddressSpace *AddressSpace `json:"addressSpace,omitempty"` 16006 16007 // The set of bgp properties. 16008 BgpProperties *BgpSettings `json:"bgpProperties,omitempty"` 16009 16010 // The device properties. 16011 DeviceProperties *DeviceProperties `json:"deviceProperties,omitempty"` 16012 16013 // The ip-address for the vpn-site. 16014 IPAddress *string `json:"ipAddress,omitempty"` 16015 16016 // IsSecuritySite flag. 16017 IsSecuritySite *bool `json:"isSecuritySite,omitempty"` 16018 16019 // Office365 Policy. 16020 O365Policy *O365PolicyProperties `json:"o365Policy,omitempty"` 16021 16022 // The key for vpn-site that can be used for connections. 16023 SiteKey *string `json:"siteKey,omitempty"` 16024 16025 // List of all vpn site links. 16026 VPNSiteLinks []*VPNSiteLink `json:"vpnSiteLinks,omitempty"` 16027 16028 // The VirtualWAN to which the vpnSite belongs. 16029 VirtualWan *SubResource `json:"virtualWan,omitempty"` 16030 16031 // READ-ONLY; The provisioning state of the VPN site resource. 16032 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16033} 16034 16035// MarshalJSON implements the json.Marshaller interface for type VPNSiteProperties. 16036func (v VPNSiteProperties) MarshalJSON() ([]byte, error) { 16037 objectMap := make(map[string]interface{}) 16038 populate(objectMap, "addressSpace", v.AddressSpace) 16039 populate(objectMap, "bgpProperties", v.BgpProperties) 16040 populate(objectMap, "deviceProperties", v.DeviceProperties) 16041 populate(objectMap, "ipAddress", v.IPAddress) 16042 populate(objectMap, "isSecuritySite", v.IsSecuritySite) 16043 populate(objectMap, "o365Policy", v.O365Policy) 16044 populate(objectMap, "provisioningState", v.ProvisioningState) 16045 populate(objectMap, "siteKey", v.SiteKey) 16046 populate(objectMap, "vpnSiteLinks", v.VPNSiteLinks) 16047 populate(objectMap, "virtualWan", v.VirtualWan) 16048 return json.Marshal(objectMap) 16049} 16050 16051// VPNSitesBeginCreateOrUpdateOptions contains the optional parameters for the VPNSites.BeginCreateOrUpdate method. 16052type VPNSitesBeginCreateOrUpdateOptions struct { 16053 // placeholder for future optional parameters 16054} 16055 16056// VPNSitesBeginDeleteOptions contains the optional parameters for the VPNSites.BeginDelete method. 16057type VPNSitesBeginDeleteOptions struct { 16058 // placeholder for future optional parameters 16059} 16060 16061// VPNSitesConfigurationBeginDownloadOptions contains the optional parameters for the VPNSitesConfiguration.BeginDownload method. 16062type VPNSitesConfigurationBeginDownloadOptions struct { 16063 // placeholder for future optional parameters 16064} 16065 16066// VPNSitesGetOptions contains the optional parameters for the VPNSites.Get method. 16067type VPNSitesGetOptions struct { 16068 // placeholder for future optional parameters 16069} 16070 16071// VPNSitesListByResourceGroupOptions contains the optional parameters for the VPNSites.ListByResourceGroup method. 16072type VPNSitesListByResourceGroupOptions struct { 16073 // placeholder for future optional parameters 16074} 16075 16076// VPNSitesListOptions contains the optional parameters for the VPNSites.List method. 16077type VPNSitesListOptions struct { 16078 // placeholder for future optional parameters 16079} 16080 16081// VPNSitesUpdateTagsOptions contains the optional parameters for the VPNSites.UpdateTags method. 16082type VPNSitesUpdateTagsOptions struct { 16083 // placeholder for future optional parameters 16084} 16085 16086// VerificationIPFlowParameters - Parameters that define the IP flow to be verified. 16087type VerificationIPFlowParameters struct { 16088 // REQUIRED; The direction of the packet represented as a 5-tuple. 16089 Direction *Direction `json:"direction,omitempty"` 16090 16091 // REQUIRED; The local IP address. Acceptable values are valid IPv4 addresses. 16092 LocalIPAddress *string `json:"localIPAddress,omitempty"` 16093 16094 // 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. 16095 LocalPort *string `json:"localPort,omitempty"` 16096 16097 // REQUIRED; Protocol to be verified on. 16098 Protocol *IPFlowProtocol `json:"protocol,omitempty"` 16099 16100 // REQUIRED; The remote IP address. Acceptable values are valid IPv4 addresses. 16101 RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` 16102 16103 // 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. 16104 RemotePort *string `json:"remotePort,omitempty"` 16105 16106 // REQUIRED; The ID of the target resource to perform next-hop on. 16107 TargetResourceID *string `json:"targetResourceId,omitempty"` 16108 16109 // 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). 16110 TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` 16111} 16112 16113// VerificationIPFlowResult - Results of IP flow verification on the target resource. 16114type VerificationIPFlowResult struct { 16115 // Indicates whether the traffic is allowed or denied. 16116 Access *Access `json:"access,omitempty"` 16117 16118 // Name of the rule. If input is not matched against any security rule, it is not displayed. 16119 RuleName *string `json:"ruleName,omitempty"` 16120} 16121 16122// VirtualApplianceNicProperties - Network Virtual Appliance NIC properties. 16123type VirtualApplianceNicProperties struct { 16124 // READ-ONLY; NIC name. 16125 Name *string `json:"name,omitempty" azure:"ro"` 16126 16127 // READ-ONLY; Private IP address. 16128 PrivateIPAddress *string `json:"privateIpAddress,omitempty" azure:"ro"` 16129 16130 // READ-ONLY; Public IP address. 16131 PublicIPAddress *string `json:"publicIpAddress,omitempty" azure:"ro"` 16132} 16133 16134// VirtualApplianceSKUProperties - Network Virtual Appliance Sku Properties. 16135type VirtualApplianceSKUProperties struct { 16136 // Virtual Appliance Scale Unit. 16137 BundledScaleUnit *string `json:"bundledScaleUnit,omitempty"` 16138 16139 // Virtual Appliance Version. 16140 MarketPlaceVersion *string `json:"marketPlaceVersion,omitempty"` 16141 16142 // Virtual Appliance Vendor. 16143 Vendor *string `json:"vendor,omitempty"` 16144} 16145 16146// VirtualApplianceSKUsGetOptions contains the optional parameters for the VirtualApplianceSKUs.Get method. 16147type VirtualApplianceSKUsGetOptions struct { 16148 // placeholder for future optional parameters 16149} 16150 16151// VirtualApplianceSKUsListOptions contains the optional parameters for the VirtualApplianceSKUs.List method. 16152type VirtualApplianceSKUsListOptions struct { 16153 // placeholder for future optional parameters 16154} 16155 16156// VirtualApplianceSite - Virtual Appliance Site resource. 16157type VirtualApplianceSite struct { 16158 SubResource 16159 // Name of the virtual appliance site. 16160 Name *string `json:"name,omitempty"` 16161 16162 // The properties of the Virtual Appliance Sites. 16163 Properties *VirtualApplianceSiteProperties `json:"properties,omitempty"` 16164 16165 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16166 Etag *string `json:"etag,omitempty" azure:"ro"` 16167 16168 // READ-ONLY; Site type. 16169 Type *string `json:"type,omitempty" azure:"ro"` 16170} 16171 16172// MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSite. 16173func (v VirtualApplianceSite) MarshalJSON() ([]byte, error) { 16174 objectMap := v.SubResource.marshalInternal() 16175 populate(objectMap, "etag", v.Etag) 16176 populate(objectMap, "name", v.Name) 16177 populate(objectMap, "properties", v.Properties) 16178 populate(objectMap, "type", v.Type) 16179 return json.Marshal(objectMap) 16180} 16181 16182// VirtualApplianceSiteProperties - Properties of the rule group. 16183type VirtualApplianceSiteProperties struct { 16184 // Address Prefix. 16185 AddressPrefix *string `json:"addressPrefix,omitempty"` 16186 16187 // Office 365 Policy. 16188 O365Policy *Office365PolicyProperties `json:"o365Policy,omitempty"` 16189 16190 // READ-ONLY; The provisioning state of the resource. 16191 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16192} 16193 16194// VirtualApplianceSitesBeginCreateOrUpdateOptions contains the optional parameters for the VirtualApplianceSites.BeginCreateOrUpdate method. 16195type VirtualApplianceSitesBeginCreateOrUpdateOptions struct { 16196 // placeholder for future optional parameters 16197} 16198 16199// VirtualApplianceSitesBeginDeleteOptions contains the optional parameters for the VirtualApplianceSites.BeginDelete method. 16200type VirtualApplianceSitesBeginDeleteOptions struct { 16201 // placeholder for future optional parameters 16202} 16203 16204// VirtualApplianceSitesGetOptions contains the optional parameters for the VirtualApplianceSites.Get method. 16205type VirtualApplianceSitesGetOptions struct { 16206 // placeholder for future optional parameters 16207} 16208 16209// VirtualApplianceSitesListOptions contains the optional parameters for the VirtualApplianceSites.List method. 16210type VirtualApplianceSitesListOptions struct { 16211 // placeholder for future optional parameters 16212} 16213 16214// VirtualHub Resource. 16215type VirtualHub struct { 16216 Resource 16217 // Properties of the virtual hub. 16218 Properties *VirtualHubProperties `json:"properties,omitempty"` 16219 16220 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16221 Etag *string `json:"etag,omitempty" azure:"ro"` 16222} 16223 16224// MarshalJSON implements the json.Marshaller interface for type VirtualHub. 16225func (v VirtualHub) MarshalJSON() ([]byte, error) { 16226 objectMap := v.Resource.marshalInternal() 16227 populate(objectMap, "etag", v.Etag) 16228 populate(objectMap, "properties", v.Properties) 16229 return json.Marshal(objectMap) 16230} 16231 16232// VirtualHubBgpConnectionBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubBgpConnection.BeginCreateOrUpdate method. 16233type VirtualHubBgpConnectionBeginCreateOrUpdateOptions struct { 16234 // placeholder for future optional parameters 16235} 16236 16237// VirtualHubBgpConnectionBeginDeleteOptions contains the optional parameters for the VirtualHubBgpConnection.BeginDelete method. 16238type VirtualHubBgpConnectionBeginDeleteOptions struct { 16239 // placeholder for future optional parameters 16240} 16241 16242// VirtualHubBgpConnectionGetOptions contains the optional parameters for the VirtualHubBgpConnection.Get method. 16243type VirtualHubBgpConnectionGetOptions struct { 16244 // placeholder for future optional parameters 16245} 16246 16247// VirtualHubBgpConnectionsBeginListAdvertisedRoutesOptions contains the optional parameters for the VirtualHubBgpConnections.BeginListAdvertisedRoutes 16248// method. 16249type VirtualHubBgpConnectionsBeginListAdvertisedRoutesOptions struct { 16250 // placeholder for future optional parameters 16251} 16252 16253// VirtualHubBgpConnectionsBeginListLearnedRoutesOptions contains the optional parameters for the VirtualHubBgpConnections.BeginListLearnedRoutes method. 16254type VirtualHubBgpConnectionsBeginListLearnedRoutesOptions struct { 16255 // placeholder for future optional parameters 16256} 16257 16258// VirtualHubBgpConnectionsListOptions contains the optional parameters for the VirtualHubBgpConnections.List method. 16259type VirtualHubBgpConnectionsListOptions struct { 16260 // placeholder for future optional parameters 16261} 16262 16263// VirtualHubEffectiveRoute - The effective route configured on the virtual hub or specified resource. 16264type VirtualHubEffectiveRoute struct { 16265 // The list of address prefixes. 16266 AddressPrefixes []*string `json:"addressPrefixes,omitempty"` 16267 16268 // The ASPath of this route. 16269 AsPath *string `json:"asPath,omitempty"` 16270 16271 // The type of the next hop. 16272 NextHopType *string `json:"nextHopType,omitempty"` 16273 16274 // The list of next hops. 16275 NextHops []*string `json:"nextHops,omitempty"` 16276 16277 // The origin of this route. 16278 RouteOrigin *string `json:"routeOrigin,omitempty"` 16279} 16280 16281// MarshalJSON implements the json.Marshaller interface for type VirtualHubEffectiveRoute. 16282func (v VirtualHubEffectiveRoute) MarshalJSON() ([]byte, error) { 16283 objectMap := make(map[string]interface{}) 16284 populate(objectMap, "addressPrefixes", v.AddressPrefixes) 16285 populate(objectMap, "asPath", v.AsPath) 16286 populate(objectMap, "nextHopType", v.NextHopType) 16287 populate(objectMap, "nextHops", v.NextHops) 16288 populate(objectMap, "routeOrigin", v.RouteOrigin) 16289 return json.Marshal(objectMap) 16290} 16291 16292// VirtualHubEffectiveRouteList - EffectiveRoutes List. 16293type VirtualHubEffectiveRouteList struct { 16294 // The list of effective routes configured on the virtual hub or the specified resource. 16295 Value []*VirtualHubEffectiveRoute `json:"value,omitempty"` 16296} 16297 16298// MarshalJSON implements the json.Marshaller interface for type VirtualHubEffectiveRouteList. 16299func (v VirtualHubEffectiveRouteList) MarshalJSON() ([]byte, error) { 16300 objectMap := make(map[string]interface{}) 16301 populate(objectMap, "value", v.Value) 16302 return json.Marshal(objectMap) 16303} 16304 16305// VirtualHubID - Virtual Hub identifier. 16306type VirtualHubID struct { 16307 // 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 16308 // reside in the same subscription. 16309 ID *string `json:"id,omitempty"` 16310} 16311 16312// VirtualHubIPConfigurationBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubIPConfiguration.BeginCreateOrUpdate method. 16313type VirtualHubIPConfigurationBeginCreateOrUpdateOptions struct { 16314 // placeholder for future optional parameters 16315} 16316 16317// VirtualHubIPConfigurationBeginDeleteOptions contains the optional parameters for the VirtualHubIPConfiguration.BeginDelete method. 16318type VirtualHubIPConfigurationBeginDeleteOptions struct { 16319 // placeholder for future optional parameters 16320} 16321 16322// VirtualHubIPConfigurationGetOptions contains the optional parameters for the VirtualHubIPConfiguration.Get method. 16323type VirtualHubIPConfigurationGetOptions struct { 16324 // placeholder for future optional parameters 16325} 16326 16327// VirtualHubIPConfigurationListOptions contains the optional parameters for the VirtualHubIPConfiguration.List method. 16328type VirtualHubIPConfigurationListOptions struct { 16329 // placeholder for future optional parameters 16330} 16331 16332// VirtualHubProperties - Parameters for VirtualHub. 16333type VirtualHubProperties struct { 16334 // Address-prefix for this VirtualHub. 16335 AddressPrefix *string `json:"addressPrefix,omitempty"` 16336 16337 // Flag to control transit for VirtualRouter hub. 16338 AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` 16339 16340 // The azureFirewall associated with this VirtualHub. 16341 AzureFirewall *SubResource `json:"azureFirewall,omitempty"` 16342 16343 // The expressRouteGateway associated with this VirtualHub. 16344 ExpressRouteGateway *SubResource `json:"expressRouteGateway,omitempty"` 16345 16346 // The P2SVpnGateway associated with this VirtualHub. 16347 P2SVPNGateway *SubResource `json:"p2SVpnGateway,omitempty"` 16348 16349 // The preferred gateway to route on-prem traffic 16350 PreferredRoutingGateway *PreferredRoutingGateway `json:"preferredRoutingGateway,omitempty"` 16351 16352 // The routeTable associated with this virtual hub. 16353 RouteTable *VirtualHubRouteTable `json:"routeTable,omitempty"` 16354 16355 // The sku of this VirtualHub. 16356 SKU *string `json:"sku,omitempty"` 16357 16358 // The securityPartnerProvider associated with this VirtualHub. 16359 SecurityPartnerProvider *SubResource `json:"securityPartnerProvider,omitempty"` 16360 16361 // The Security Provider name. 16362 SecurityProviderName *string `json:"securityProviderName,omitempty"` 16363 16364 // The VpnGateway associated with this VirtualHub. 16365 VPNGateway *SubResource `json:"vpnGateway,omitempty"` 16366 16367 // List of all virtual hub route table v2s associated with this VirtualHub. 16368 VirtualHubRouteTableV2S []*VirtualHubRouteTableV2 `json:"virtualHubRouteTableV2s,omitempty"` 16369 16370 // VirtualRouter ASN. 16371 VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` 16372 16373 // VirtualRouter IPs. 16374 VirtualRouterIPs []*string `json:"virtualRouterIps,omitempty"` 16375 16376 // The VirtualWAN to which the VirtualHub belongs. 16377 VirtualWan *SubResource `json:"virtualWan,omitempty"` 16378 16379 // READ-ONLY; List of references to Bgp Connections. 16380 BgpConnections []*SubResource `json:"bgpConnections,omitempty" azure:"ro"` 16381 16382 // READ-ONLY; List of references to IpConfigurations. 16383 IPConfigurations []*SubResource `json:"ipConfigurations,omitempty" azure:"ro"` 16384 16385 // READ-ONLY; The provisioning state of the virtual hub resource. 16386 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16387 16388 // READ-ONLY; The routing state. 16389 RoutingState *RoutingState `json:"routingState,omitempty" azure:"ro"` 16390} 16391 16392// MarshalJSON implements the json.Marshaller interface for type VirtualHubProperties. 16393func (v VirtualHubProperties) MarshalJSON() ([]byte, error) { 16394 objectMap := make(map[string]interface{}) 16395 populate(objectMap, "addressPrefix", v.AddressPrefix) 16396 populate(objectMap, "allowBranchToBranchTraffic", v.AllowBranchToBranchTraffic) 16397 populate(objectMap, "azureFirewall", v.AzureFirewall) 16398 populate(objectMap, "bgpConnections", v.BgpConnections) 16399 populate(objectMap, "expressRouteGateway", v.ExpressRouteGateway) 16400 populate(objectMap, "ipConfigurations", v.IPConfigurations) 16401 populate(objectMap, "p2SVpnGateway", v.P2SVPNGateway) 16402 populate(objectMap, "preferredRoutingGateway", v.PreferredRoutingGateway) 16403 populate(objectMap, "provisioningState", v.ProvisioningState) 16404 populate(objectMap, "routeTable", v.RouteTable) 16405 populate(objectMap, "routingState", v.RoutingState) 16406 populate(objectMap, "sku", v.SKU) 16407 populate(objectMap, "securityPartnerProvider", v.SecurityPartnerProvider) 16408 populate(objectMap, "securityProviderName", v.SecurityProviderName) 16409 populate(objectMap, "vpnGateway", v.VPNGateway) 16410 populate(objectMap, "virtualHubRouteTableV2s", v.VirtualHubRouteTableV2S) 16411 populate(objectMap, "virtualRouterAsn", v.VirtualRouterAsn) 16412 populate(objectMap, "virtualRouterIps", v.VirtualRouterIPs) 16413 populate(objectMap, "virtualWan", v.VirtualWan) 16414 return json.Marshal(objectMap) 16415} 16416 16417// VirtualHubRoute - VirtualHub route. 16418type VirtualHubRoute struct { 16419 // List of all addressPrefixes. 16420 AddressPrefixes []*string `json:"addressPrefixes,omitempty"` 16421 16422 // NextHop ip address. 16423 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 16424} 16425 16426// MarshalJSON implements the json.Marshaller interface for type VirtualHubRoute. 16427func (v VirtualHubRoute) MarshalJSON() ([]byte, error) { 16428 objectMap := make(map[string]interface{}) 16429 populate(objectMap, "addressPrefixes", v.AddressPrefixes) 16430 populate(objectMap, "nextHopIpAddress", v.NextHopIPAddress) 16431 return json.Marshal(objectMap) 16432} 16433 16434// VirtualHubRouteTable - VirtualHub route table. 16435type VirtualHubRouteTable struct { 16436 // List of all routes. 16437 Routes []*VirtualHubRoute `json:"routes,omitempty"` 16438} 16439 16440// MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTable. 16441func (v VirtualHubRouteTable) MarshalJSON() ([]byte, error) { 16442 objectMap := make(map[string]interface{}) 16443 populate(objectMap, "routes", v.Routes) 16444 return json.Marshal(objectMap) 16445} 16446 16447// VirtualHubRouteTableV2 Resource. 16448type VirtualHubRouteTableV2 struct { 16449 SubResource 16450 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 16451 Name *string `json:"name,omitempty"` 16452 16453 // Properties of the virtual hub route table v2. 16454 Properties *VirtualHubRouteTableV2Properties `json:"properties,omitempty"` 16455 16456 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16457 Etag *string `json:"etag,omitempty" azure:"ro"` 16458} 16459 16460// MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTableV2. 16461func (v VirtualHubRouteTableV2) MarshalJSON() ([]byte, error) { 16462 objectMap := v.SubResource.marshalInternal() 16463 populate(objectMap, "etag", v.Etag) 16464 populate(objectMap, "name", v.Name) 16465 populate(objectMap, "properties", v.Properties) 16466 return json.Marshal(objectMap) 16467} 16468 16469// VirtualHubRouteTableV2Properties - Parameters for VirtualHubRouteTableV2. 16470type VirtualHubRouteTableV2Properties struct { 16471 // List of all connections attached to this route table v2. 16472 AttachedConnections []*string `json:"attachedConnections,omitempty"` 16473 16474 // List of all routes. 16475 Routes []*VirtualHubRouteV2 `json:"routes,omitempty"` 16476 16477 // READ-ONLY; The provisioning state of the virtual hub route table v2 resource. 16478 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16479} 16480 16481// MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTableV2Properties. 16482func (v VirtualHubRouteTableV2Properties) MarshalJSON() ([]byte, error) { 16483 objectMap := make(map[string]interface{}) 16484 populate(objectMap, "attachedConnections", v.AttachedConnections) 16485 populate(objectMap, "provisioningState", v.ProvisioningState) 16486 populate(objectMap, "routes", v.Routes) 16487 return json.Marshal(objectMap) 16488} 16489 16490// VirtualHubRouteTableV2SBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubRouteTableV2S.BeginCreateOrUpdate method. 16491type VirtualHubRouteTableV2SBeginCreateOrUpdateOptions struct { 16492 // placeholder for future optional parameters 16493} 16494 16495// VirtualHubRouteTableV2SBeginDeleteOptions contains the optional parameters for the VirtualHubRouteTableV2S.BeginDelete method. 16496type VirtualHubRouteTableV2SBeginDeleteOptions struct { 16497 // placeholder for future optional parameters 16498} 16499 16500// VirtualHubRouteTableV2SGetOptions contains the optional parameters for the VirtualHubRouteTableV2S.Get method. 16501type VirtualHubRouteTableV2SGetOptions struct { 16502 // placeholder for future optional parameters 16503} 16504 16505// VirtualHubRouteTableV2SListOptions contains the optional parameters for the VirtualHubRouteTableV2S.List method. 16506type VirtualHubRouteTableV2SListOptions struct { 16507 // placeholder for future optional parameters 16508} 16509 16510// VirtualHubRouteV2 - VirtualHubRouteTableV2 route. 16511type VirtualHubRouteV2 struct { 16512 // The type of destinations. 16513 DestinationType *string `json:"destinationType,omitempty"` 16514 16515 // List of all destinations. 16516 Destinations []*string `json:"destinations,omitempty"` 16517 16518 // The type of next hops. 16519 NextHopType *string `json:"nextHopType,omitempty"` 16520 16521 // NextHops ip address. 16522 NextHops []*string `json:"nextHops,omitempty"` 16523} 16524 16525// MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteV2. 16526func (v VirtualHubRouteV2) MarshalJSON() ([]byte, error) { 16527 objectMap := make(map[string]interface{}) 16528 populate(objectMap, "destinationType", v.DestinationType) 16529 populate(objectMap, "destinations", v.Destinations) 16530 populate(objectMap, "nextHopType", v.NextHopType) 16531 populate(objectMap, "nextHops", v.NextHops) 16532 return json.Marshal(objectMap) 16533} 16534 16535// VirtualHubsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubs.BeginCreateOrUpdate method. 16536type VirtualHubsBeginCreateOrUpdateOptions struct { 16537 // placeholder for future optional parameters 16538} 16539 16540// VirtualHubsBeginDeleteOptions contains the optional parameters for the VirtualHubs.BeginDelete method. 16541type VirtualHubsBeginDeleteOptions struct { 16542 // placeholder for future optional parameters 16543} 16544 16545// VirtualHubsBeginGetEffectiveVirtualHubRoutesOptions contains the optional parameters for the VirtualHubs.BeginGetEffectiveVirtualHubRoutes method. 16546type VirtualHubsBeginGetEffectiveVirtualHubRoutesOptions struct { 16547 // Parameters supplied to get the effective routes for a specific resource. 16548 EffectiveRoutesParameters *EffectiveRoutesParameters 16549} 16550 16551// VirtualHubsGetOptions contains the optional parameters for the VirtualHubs.Get method. 16552type VirtualHubsGetOptions struct { 16553 // placeholder for future optional parameters 16554} 16555 16556// VirtualHubsListByResourceGroupOptions contains the optional parameters for the VirtualHubs.ListByResourceGroup method. 16557type VirtualHubsListByResourceGroupOptions struct { 16558 // placeholder for future optional parameters 16559} 16560 16561// VirtualHubsListOptions contains the optional parameters for the VirtualHubs.List method. 16562type VirtualHubsListOptions struct { 16563 // placeholder for future optional parameters 16564} 16565 16566// VirtualHubsUpdateTagsOptions contains the optional parameters for the VirtualHubs.UpdateTags method. 16567type VirtualHubsUpdateTagsOptions struct { 16568 // placeholder for future optional parameters 16569} 16570 16571// VirtualNetwork - Virtual Network resource. 16572type VirtualNetwork struct { 16573 Resource 16574 // The extended location of the virtual network. 16575 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 16576 16577 // Properties of the virtual network. 16578 Properties *VirtualNetworkPropertiesFormat `json:"properties,omitempty"` 16579 16580 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16581 Etag *string `json:"etag,omitempty" azure:"ro"` 16582} 16583 16584// MarshalJSON implements the json.Marshaller interface for type VirtualNetwork. 16585func (v VirtualNetwork) MarshalJSON() ([]byte, error) { 16586 objectMap := v.Resource.marshalInternal() 16587 populate(objectMap, "etag", v.Etag) 16588 populate(objectMap, "extendedLocation", v.ExtendedLocation) 16589 populate(objectMap, "properties", v.Properties) 16590 return json.Marshal(objectMap) 16591} 16592 16593// VirtualNetworkBgpCommunities - Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. 16594type VirtualNetworkBgpCommunities struct { 16595 // REQUIRED; The BGP community associated with the virtual network. 16596 VirtualNetworkCommunity *string `json:"virtualNetworkCommunity,omitempty"` 16597 16598 // READ-ONLY; The BGP community associated with the region of the virtual network. 16599 RegionalCommunity *string `json:"regionalCommunity,omitempty" azure:"ro"` 16600} 16601 16602// VirtualNetworkConnectionGatewayReference - A reference to VirtualNetworkGateway or LocalNetworkGateway resource. 16603type VirtualNetworkConnectionGatewayReference struct { 16604 // REQUIRED; The ID of VirtualNetworkGateway or LocalNetworkGateway resource. 16605 ID *string `json:"id,omitempty"` 16606} 16607 16608// VirtualNetworkGateway - A common class for general resource information. 16609type VirtualNetworkGateway struct { 16610 Resource 16611 // REQUIRED; Properties of the virtual network gateway. 16612 Properties *VirtualNetworkGatewayPropertiesFormat `json:"properties,omitempty"` 16613 16614 // The extended location of type local virtual network gateway. 16615 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 16616 16617 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16618 Etag *string `json:"etag,omitempty" azure:"ro"` 16619} 16620 16621// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGateway. 16622func (v VirtualNetworkGateway) MarshalJSON() ([]byte, error) { 16623 objectMap := v.Resource.marshalInternal() 16624 populate(objectMap, "etag", v.Etag) 16625 populate(objectMap, "extendedLocation", v.ExtendedLocation) 16626 populate(objectMap, "properties", v.Properties) 16627 return json.Marshal(objectMap) 16628} 16629 16630// VirtualNetworkGatewayConnection - A common class for general resource information. 16631type VirtualNetworkGatewayConnection struct { 16632 Resource 16633 // REQUIRED; Properties of the virtual network gateway connection. 16634 Properties *VirtualNetworkGatewayConnectionPropertiesFormat `json:"properties,omitempty"` 16635 16636 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16637 Etag *string `json:"etag,omitempty" azure:"ro"` 16638} 16639 16640// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnection. 16641func (v VirtualNetworkGatewayConnection) MarshalJSON() ([]byte, error) { 16642 objectMap := v.Resource.marshalInternal() 16643 populate(objectMap, "etag", v.Etag) 16644 populate(objectMap, "properties", v.Properties) 16645 return json.Marshal(objectMap) 16646} 16647 16648// VirtualNetworkGatewayConnectionListEntity - A common class for general resource information. 16649type VirtualNetworkGatewayConnectionListEntity struct { 16650 Resource 16651 // REQUIRED; Properties of the virtual network gateway connection. 16652 Properties *VirtualNetworkGatewayConnectionListEntityPropertiesFormat `json:"properties,omitempty"` 16653 16654 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16655 Etag *string `json:"etag,omitempty" azure:"ro"` 16656} 16657 16658// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListEntity. 16659func (v VirtualNetworkGatewayConnectionListEntity) MarshalJSON() ([]byte, error) { 16660 objectMap := v.Resource.marshalInternal() 16661 populate(objectMap, "etag", v.Etag) 16662 populate(objectMap, "properties", v.Properties) 16663 return json.Marshal(objectMap) 16664} 16665 16666// VirtualNetworkGatewayConnectionListEntityPropertiesFormat - VirtualNetworkGatewayConnection properties. 16667type VirtualNetworkGatewayConnectionListEntityPropertiesFormat struct { 16668 // REQUIRED; Gateway connection type. 16669 ConnectionType *VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` 16670 16671 // REQUIRED; The reference to virtual network gateway resource. 16672 VirtualNetworkGateway1 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway1,omitempty"` 16673 16674 // The authorizationKey. 16675 AuthorizationKey *string `json:"authorizationKey,omitempty"` 16676 16677 // The connection mode for this connection. 16678 ConnectionMode *VirtualNetworkGatewayConnectionMode `json:"connectionMode,omitempty"` 16679 16680 // Connection protocol used for this connection. 16681 ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` 16682 16683 // EnableBgp flag. 16684 EnableBgp *bool `json:"enableBgp,omitempty"` 16685 16686 // Bypass ExpressRoute Gateway for data forwarding. 16687 ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` 16688 16689 // The IPSec Policies to be considered by this connection. 16690 IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` 16691 16692 // The reference to local network gateway resource. 16693 LocalNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"localNetworkGateway2,omitempty"` 16694 16695 // The reference to peerings resource. 16696 Peer *SubResource `json:"peer,omitempty"` 16697 16698 // The routing weight. 16699 RoutingWeight *int32 `json:"routingWeight,omitempty"` 16700 16701 // The IPSec shared key. 16702 SharedKey *string `json:"sharedKey,omitempty"` 16703 16704 // The Traffic Selector Policies to be considered by this connection. 16705 TrafficSelectorPolicies []*TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` 16706 16707 // Enable policy-based traffic selectors. 16708 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 16709 16710 // The reference to virtual network gateway resource. 16711 VirtualNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway2,omitempty"` 16712 16713 // READ-ONLY; Virtual Network Gateway connection status. 16714 ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 16715 16716 // READ-ONLY; The egress bytes transferred in this connection. 16717 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 16718 16719 // READ-ONLY; The ingress bytes transferred in this connection. 16720 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 16721 16722 // READ-ONLY; The provisioning state of the virtual network gateway connection resource. 16723 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16724 16725 // READ-ONLY; The resource GUID property of the virtual network gateway connection resource. 16726 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 16727 16728 // READ-ONLY; Collection of all tunnels' connection health status. 16729 TunnelConnectionStatus []*TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty" azure:"ro"` 16730} 16731 16732// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListEntityPropertiesFormat. 16733func (v VirtualNetworkGatewayConnectionListEntityPropertiesFormat) MarshalJSON() ([]byte, error) { 16734 objectMap := make(map[string]interface{}) 16735 populate(objectMap, "authorizationKey", v.AuthorizationKey) 16736 populate(objectMap, "connectionMode", v.ConnectionMode) 16737 populate(objectMap, "connectionProtocol", v.ConnectionProtocol) 16738 populate(objectMap, "connectionStatus", v.ConnectionStatus) 16739 populate(objectMap, "connectionType", v.ConnectionType) 16740 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 16741 populate(objectMap, "enableBgp", v.EnableBgp) 16742 populate(objectMap, "expressRouteGatewayBypass", v.ExpressRouteGatewayBypass) 16743 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 16744 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 16745 populate(objectMap, "localNetworkGateway2", v.LocalNetworkGateway2) 16746 populate(objectMap, "peer", v.Peer) 16747 populate(objectMap, "provisioningState", v.ProvisioningState) 16748 populate(objectMap, "resourceGuid", v.ResourceGUID) 16749 populate(objectMap, "routingWeight", v.RoutingWeight) 16750 populate(objectMap, "sharedKey", v.SharedKey) 16751 populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) 16752 populate(objectMap, "tunnelConnectionStatus", v.TunnelConnectionStatus) 16753 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 16754 populate(objectMap, "virtualNetworkGateway1", v.VirtualNetworkGateway1) 16755 populate(objectMap, "virtualNetworkGateway2", v.VirtualNetworkGateway2) 16756 return json.Marshal(objectMap) 16757} 16758 16759// VirtualNetworkGatewayConnectionListResult - Response for the ListVirtualNetworkGatewayConnections API service call. 16760type VirtualNetworkGatewayConnectionListResult struct { 16761 // A list of VirtualNetworkGatewayConnection resources that exists in a resource group. 16762 Value []*VirtualNetworkGatewayConnection `json:"value,omitempty"` 16763 16764 // READ-ONLY; The URL to get the next set of results. 16765 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 16766} 16767 16768// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListResult. 16769func (v VirtualNetworkGatewayConnectionListResult) MarshalJSON() ([]byte, error) { 16770 objectMap := make(map[string]interface{}) 16771 populate(objectMap, "nextLink", v.NextLink) 16772 populate(objectMap, "value", v.Value) 16773 return json.Marshal(objectMap) 16774} 16775 16776// VirtualNetworkGatewayConnectionPropertiesFormat - VirtualNetworkGatewayConnection properties. 16777type VirtualNetworkGatewayConnectionPropertiesFormat struct { 16778 // REQUIRED; Gateway connection type. 16779 ConnectionType *VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` 16780 16781 // REQUIRED; The reference to virtual network gateway resource. 16782 VirtualNetworkGateway1 *VirtualNetworkGateway `json:"virtualNetworkGateway1,omitempty"` 16783 16784 // The authorizationKey. 16785 AuthorizationKey *string `json:"authorizationKey,omitempty"` 16786 16787 // The connection mode for this connection. 16788 ConnectionMode *VirtualNetworkGatewayConnectionMode `json:"connectionMode,omitempty"` 16789 16790 // Connection protocol used for this connection. 16791 ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` 16792 16793 // The dead peer detection timeout of this connection in seconds. 16794 DpdTimeoutSeconds *int32 `json:"dpdTimeoutSeconds,omitempty"` 16795 16796 // List of egress NatRules. 16797 EgressNatRules []*SubResource `json:"egressNatRules,omitempty"` 16798 16799 // EnableBgp flag. 16800 EnableBgp *bool `json:"enableBgp,omitempty"` 16801 16802 // Bypass ExpressRoute Gateway for data forwarding. 16803 ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` 16804 16805 // The IPSec Policies to be considered by this connection. 16806 IPSecPolicies []*IPSecPolicy `json:"ipsecPolicies,omitempty"` 16807 16808 // List of ingress NatRules. 16809 IngressNatRules []*SubResource `json:"ingressNatRules,omitempty"` 16810 16811 // The reference to local network gateway resource. 16812 LocalNetworkGateway2 *LocalNetworkGateway `json:"localNetworkGateway2,omitempty"` 16813 16814 // The reference to peerings resource. 16815 Peer *SubResource `json:"peer,omitempty"` 16816 16817 // The routing weight. 16818 RoutingWeight *int32 `json:"routingWeight,omitempty"` 16819 16820 // The IPSec shared key. 16821 SharedKey *string `json:"sharedKey,omitempty"` 16822 16823 // The Traffic Selector Policies to be considered by this connection. 16824 TrafficSelectorPolicies []*TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` 16825 16826 // Use private local Azure IP for the connection. 16827 UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` 16828 16829 // Enable policy-based traffic selectors. 16830 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 16831 16832 // The reference to virtual network gateway resource. 16833 VirtualNetworkGateway2 *VirtualNetworkGateway `json:"virtualNetworkGateway2,omitempty"` 16834 16835 // READ-ONLY; Virtual Network Gateway connection status. 16836 ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 16837 16838 // READ-ONLY; The egress bytes transferred in this connection. 16839 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 16840 16841 // READ-ONLY; The ingress bytes transferred in this connection. 16842 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 16843 16844 // READ-ONLY; The provisioning state of the virtual network gateway connection resource. 16845 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16846 16847 // READ-ONLY; The resource GUID property of the virtual network gateway connection resource. 16848 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 16849 16850 // READ-ONLY; Collection of all tunnels' connection health status. 16851 TunnelConnectionStatus []*TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty" azure:"ro"` 16852} 16853 16854// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionPropertiesFormat. 16855func (v VirtualNetworkGatewayConnectionPropertiesFormat) MarshalJSON() ([]byte, error) { 16856 objectMap := make(map[string]interface{}) 16857 populate(objectMap, "authorizationKey", v.AuthorizationKey) 16858 populate(objectMap, "connectionMode", v.ConnectionMode) 16859 populate(objectMap, "connectionProtocol", v.ConnectionProtocol) 16860 populate(objectMap, "connectionStatus", v.ConnectionStatus) 16861 populate(objectMap, "connectionType", v.ConnectionType) 16862 populate(objectMap, "dpdTimeoutSeconds", v.DpdTimeoutSeconds) 16863 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 16864 populate(objectMap, "egressNatRules", v.EgressNatRules) 16865 populate(objectMap, "enableBgp", v.EnableBgp) 16866 populate(objectMap, "expressRouteGatewayBypass", v.ExpressRouteGatewayBypass) 16867 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 16868 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 16869 populate(objectMap, "ingressNatRules", v.IngressNatRules) 16870 populate(objectMap, "localNetworkGateway2", v.LocalNetworkGateway2) 16871 populate(objectMap, "peer", v.Peer) 16872 populate(objectMap, "provisioningState", v.ProvisioningState) 16873 populate(objectMap, "resourceGuid", v.ResourceGUID) 16874 populate(objectMap, "routingWeight", v.RoutingWeight) 16875 populate(objectMap, "sharedKey", v.SharedKey) 16876 populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) 16877 populate(objectMap, "tunnelConnectionStatus", v.TunnelConnectionStatus) 16878 populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) 16879 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 16880 populate(objectMap, "virtualNetworkGateway1", v.VirtualNetworkGateway1) 16881 populate(objectMap, "virtualNetworkGateway2", v.VirtualNetworkGateway2) 16882 return json.Marshal(objectMap) 16883} 16884 16885// VirtualNetworkGatewayConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginCreateOrUpdate 16886// method. 16887type VirtualNetworkGatewayConnectionsBeginCreateOrUpdateOptions struct { 16888 // placeholder for future optional parameters 16889} 16890 16891// VirtualNetworkGatewayConnectionsBeginDeleteOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginDelete method. 16892type VirtualNetworkGatewayConnectionsBeginDeleteOptions struct { 16893 // placeholder for future optional parameters 16894} 16895 16896// VirtualNetworkGatewayConnectionsBeginGetIkeSasOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginGetIkeSas method. 16897type VirtualNetworkGatewayConnectionsBeginGetIkeSasOptions struct { 16898 // placeholder for future optional parameters 16899} 16900 16901// VirtualNetworkGatewayConnectionsBeginResetConnectionOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginResetConnection 16902// method. 16903type VirtualNetworkGatewayConnectionsBeginResetConnectionOptions struct { 16904 // placeholder for future optional parameters 16905} 16906 16907// VirtualNetworkGatewayConnectionsBeginResetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginResetSharedKey 16908// method. 16909type VirtualNetworkGatewayConnectionsBeginResetSharedKeyOptions struct { 16910 // placeholder for future optional parameters 16911} 16912 16913// VirtualNetworkGatewayConnectionsBeginSetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginSetSharedKey 16914// method. 16915type VirtualNetworkGatewayConnectionsBeginSetSharedKeyOptions struct { 16916 // placeholder for future optional parameters 16917} 16918 16919// VirtualNetworkGatewayConnectionsBeginStartPacketCaptureOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginStartPacketCapture 16920// method. 16921type VirtualNetworkGatewayConnectionsBeginStartPacketCaptureOptions struct { 16922 // Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection. 16923 Parameters *VPNPacketCaptureStartParameters 16924} 16925 16926// VirtualNetworkGatewayConnectionsBeginStopPacketCaptureOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginStopPacketCapture 16927// method. 16928type VirtualNetworkGatewayConnectionsBeginStopPacketCaptureOptions struct { 16929 // placeholder for future optional parameters 16930} 16931 16932// VirtualNetworkGatewayConnectionsBeginUpdateTagsOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginUpdateTags method. 16933type VirtualNetworkGatewayConnectionsBeginUpdateTagsOptions struct { 16934 // placeholder for future optional parameters 16935} 16936 16937// VirtualNetworkGatewayConnectionsGetOptions contains the optional parameters for the VirtualNetworkGatewayConnections.Get method. 16938type VirtualNetworkGatewayConnectionsGetOptions struct { 16939 // placeholder for future optional parameters 16940} 16941 16942// VirtualNetworkGatewayConnectionsGetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.GetSharedKey method. 16943type VirtualNetworkGatewayConnectionsGetSharedKeyOptions struct { 16944 // placeholder for future optional parameters 16945} 16946 16947// VirtualNetworkGatewayConnectionsListOptions contains the optional parameters for the VirtualNetworkGatewayConnections.List method. 16948type VirtualNetworkGatewayConnectionsListOptions struct { 16949 // placeholder for future optional parameters 16950} 16951 16952// VirtualNetworkGatewayIPConfiguration - IP configuration for virtual network gateway. 16953type VirtualNetworkGatewayIPConfiguration struct { 16954 SubResource 16955 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 16956 Name *string `json:"name,omitempty"` 16957 16958 // Properties of the virtual network gateway ip configuration. 16959 Properties *VirtualNetworkGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` 16960 16961 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16962 Etag *string `json:"etag,omitempty" azure:"ro"` 16963} 16964 16965// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayIPConfiguration. 16966func (v VirtualNetworkGatewayIPConfiguration) MarshalJSON() ([]byte, error) { 16967 objectMap := v.SubResource.marshalInternal() 16968 populate(objectMap, "etag", v.Etag) 16969 populate(objectMap, "name", v.Name) 16970 populate(objectMap, "properties", v.Properties) 16971 return json.Marshal(objectMap) 16972} 16973 16974// VirtualNetworkGatewayIPConfigurationPropertiesFormat - Properties of VirtualNetworkGatewayIPConfiguration. 16975type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct { 16976 // The private IP address allocation method. 16977 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 16978 16979 // The reference to the public IP resource. 16980 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 16981 16982 // The reference to the subnet resource. 16983 Subnet *SubResource `json:"subnet,omitempty"` 16984 16985 // READ-ONLY; Private IP Address for this gateway. 16986 PrivateIPAddress *string `json:"privateIPAddress,omitempty" azure:"ro"` 16987 16988 // READ-ONLY; The provisioning state of the virtual network gateway IP configuration resource. 16989 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16990} 16991 16992// VirtualNetworkGatewayListConnectionsResult - Response for the VirtualNetworkGatewayListConnections API service call. 16993type VirtualNetworkGatewayListConnectionsResult struct { 16994 // A list of VirtualNetworkGatewayConnection resources that exists in a resource group. 16995 Value []*VirtualNetworkGatewayConnectionListEntity `json:"value,omitempty"` 16996 16997 // READ-ONLY; The URL to get the next set of results. 16998 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 16999} 17000 17001// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayListConnectionsResult. 17002func (v VirtualNetworkGatewayListConnectionsResult) MarshalJSON() ([]byte, error) { 17003 objectMap := make(map[string]interface{}) 17004 populate(objectMap, "nextLink", v.NextLink) 17005 populate(objectMap, "value", v.Value) 17006 return json.Marshal(objectMap) 17007} 17008 17009// VirtualNetworkGatewayListResult - Response for the ListVirtualNetworkGateways API service call. 17010type VirtualNetworkGatewayListResult struct { 17011 // A list of VirtualNetworkGateway resources that exists in a resource group. 17012 Value []*VirtualNetworkGateway `json:"value,omitempty"` 17013 17014 // READ-ONLY; The URL to get the next set of results. 17015 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 17016} 17017 17018// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayListResult. 17019func (v VirtualNetworkGatewayListResult) MarshalJSON() ([]byte, error) { 17020 objectMap := make(map[string]interface{}) 17021 populate(objectMap, "nextLink", v.NextLink) 17022 populate(objectMap, "value", v.Value) 17023 return json.Marshal(objectMap) 17024} 17025 17026// VirtualNetworkGatewayNatRule Resource. 17027type VirtualNetworkGatewayNatRule struct { 17028 SubResource 17029 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 17030 Name *string `json:"name,omitempty"` 17031 17032 // Properties of the Virtual Network Gateway NAT rule. 17033 Properties *VirtualNetworkGatewayNatRuleProperties `json:"properties,omitempty"` 17034 17035 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 17036 Etag *string `json:"etag,omitempty" azure:"ro"` 17037 17038 // READ-ONLY; Resource type. 17039 Type *string `json:"type,omitempty" azure:"ro"` 17040} 17041 17042// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayNatRule. 17043func (v VirtualNetworkGatewayNatRule) MarshalJSON() ([]byte, error) { 17044 objectMap := v.SubResource.marshalInternal() 17045 populate(objectMap, "etag", v.Etag) 17046 populate(objectMap, "name", v.Name) 17047 populate(objectMap, "properties", v.Properties) 17048 populate(objectMap, "type", v.Type) 17049 return json.Marshal(objectMap) 17050} 17051 17052// VirtualNetworkGatewayNatRuleProperties - Parameters for VirtualNetworkGatewayNatRule. 17053type VirtualNetworkGatewayNatRuleProperties struct { 17054 // The private IP address external mapping for NAT. 17055 ExternalMappings []*VPNNatRuleMapping `json:"externalMappings,omitempty"` 17056 17057 // The IP Configuration ID this NAT rule applies to. 17058 IPConfigurationID *string `json:"ipConfigurationId,omitempty"` 17059 17060 // The private IP address internal mapping for NAT. 17061 InternalMappings []*VPNNatRuleMapping `json:"internalMappings,omitempty"` 17062 17063 // The Source NAT direction of a VPN NAT. 17064 Mode *VPNNatRuleMode `json:"mode,omitempty"` 17065 17066 // The type of NAT rule for VPN NAT. 17067 Type *VPNNatRuleType `json:"type,omitempty"` 17068 17069 // READ-ONLY; The provisioning state of the NAT Rule resource. 17070 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17071} 17072 17073// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayNatRuleProperties. 17074func (v VirtualNetworkGatewayNatRuleProperties) MarshalJSON() ([]byte, error) { 17075 objectMap := make(map[string]interface{}) 17076 populate(objectMap, "externalMappings", v.ExternalMappings) 17077 populate(objectMap, "ipConfigurationId", v.IPConfigurationID) 17078 populate(objectMap, "internalMappings", v.InternalMappings) 17079 populate(objectMap, "mode", v.Mode) 17080 populate(objectMap, "provisioningState", v.ProvisioningState) 17081 populate(objectMap, "type", v.Type) 17082 return json.Marshal(objectMap) 17083} 17084 17085// VirtualNetworkGatewayNatRulesBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.BeginCreateOrUpdate method. 17086type VirtualNetworkGatewayNatRulesBeginCreateOrUpdateOptions struct { 17087 // placeholder for future optional parameters 17088} 17089 17090// VirtualNetworkGatewayNatRulesBeginDeleteOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.BeginDelete method. 17091type VirtualNetworkGatewayNatRulesBeginDeleteOptions struct { 17092 // placeholder for future optional parameters 17093} 17094 17095// VirtualNetworkGatewayNatRulesGetOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.Get method. 17096type VirtualNetworkGatewayNatRulesGetOptions struct { 17097 // placeholder for future optional parameters 17098} 17099 17100// VirtualNetworkGatewayNatRulesListByVirtualNetworkGatewayOptions contains the optional parameters for the VirtualNetworkGatewayNatRules.ListByVirtualNetworkGateway 17101// method. 17102type VirtualNetworkGatewayNatRulesListByVirtualNetworkGatewayOptions struct { 17103 // placeholder for future optional parameters 17104} 17105 17106// VirtualNetworkGatewayPropertiesFormat - VirtualNetworkGateway properties. 17107type VirtualNetworkGatewayPropertiesFormat struct { 17108 // ActiveActive flag. 17109 Active *bool `json:"activeActive,omitempty"` 17110 17111 // Virtual network gateway's BGP speaker settings. 17112 BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` 17113 17114 // The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and 17115 // VpnClient. 17116 CustomRoutes *AddressSpace `json:"customRoutes,omitempty"` 17117 17118 // Whether BGP is enabled for this virtual network gateway or not. 17119 EnableBgp *bool `json:"enableBgp,omitempty"` 17120 17121 // EnableBgpRouteTranslationForNat flag. 17122 EnableBgpRouteTranslationForNat *bool `json:"enableBgpRouteTranslationForNat,omitempty"` 17123 17124 // Whether dns forwarding is enabled or not. 17125 EnableDNSForwarding *bool `json:"enableDnsForwarding,omitempty"` 17126 17127 // Whether private IP needs to be enabled on this gateway for connections or not. 17128 EnablePrivateIPAddress *bool `json:"enablePrivateIpAddress,omitempty"` 17129 17130 // The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing 17131 // default site setting. 17132 GatewayDefaultSite *SubResource `json:"gatewayDefaultSite,omitempty"` 17133 17134 // The type of this virtual network gateway. 17135 GatewayType *VirtualNetworkGatewayType `json:"gatewayType,omitempty"` 17136 17137 // IP configurations for virtual network gateway. 17138 IPConfigurations []*VirtualNetworkGatewayIPConfiguration `json:"ipConfigurations,omitempty"` 17139 17140 // NatRules for virtual network gateway. 17141 NatRules []*VirtualNetworkGatewayNatRule `json:"natRules,omitempty"` 17142 17143 // The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway. 17144 SKU *VirtualNetworkGatewaySKU `json:"sku,omitempty"` 17145 17146 // Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet. 17147 VNetExtendedLocationResourceID *string `json:"vNetExtendedLocationResourceId,omitempty"` 17148 17149 // The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations. 17150 VPNClientConfiguration *VPNClientConfiguration `json:"vpnClientConfiguration,omitempty"` 17151 17152 // The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN. 17153 VPNGatewayGeneration *VPNGatewayGeneration `json:"vpnGatewayGeneration,omitempty"` 17154 17155 // The type of this virtual network gateway. 17156 VPNType *VPNType `json:"vpnType,omitempty"` 17157 17158 // READ-ONLY; The IP address allocated by the gateway to which dns requests can be sent. 17159 InboundDNSForwardingEndpoint *string `json:"inboundDnsForwardingEndpoint,omitempty" azure:"ro"` 17160 17161 // READ-ONLY; The provisioning state of the virtual network gateway resource. 17162 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17163 17164 // READ-ONLY; The resource GUID property of the virtual network gateway resource. 17165 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 17166} 17167 17168// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayPropertiesFormat. 17169func (v VirtualNetworkGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { 17170 objectMap := make(map[string]interface{}) 17171 populate(objectMap, "activeActive", v.Active) 17172 populate(objectMap, "bgpSettings", v.BgpSettings) 17173 populate(objectMap, "customRoutes", v.CustomRoutes) 17174 populate(objectMap, "enableBgp", v.EnableBgp) 17175 populate(objectMap, "enableBgpRouteTranslationForNat", v.EnableBgpRouteTranslationForNat) 17176 populate(objectMap, "enableDnsForwarding", v.EnableDNSForwarding) 17177 populate(objectMap, "enablePrivateIpAddress", v.EnablePrivateIPAddress) 17178 populate(objectMap, "gatewayDefaultSite", v.GatewayDefaultSite) 17179 populate(objectMap, "gatewayType", v.GatewayType) 17180 populate(objectMap, "ipConfigurations", v.IPConfigurations) 17181 populate(objectMap, "inboundDnsForwardingEndpoint", v.InboundDNSForwardingEndpoint) 17182 populate(objectMap, "natRules", v.NatRules) 17183 populate(objectMap, "provisioningState", v.ProvisioningState) 17184 populate(objectMap, "resourceGuid", v.ResourceGUID) 17185 populate(objectMap, "sku", v.SKU) 17186 populate(objectMap, "vNetExtendedLocationResourceId", v.VNetExtendedLocationResourceID) 17187 populate(objectMap, "vpnClientConfiguration", v.VPNClientConfiguration) 17188 populate(objectMap, "vpnGatewayGeneration", v.VPNGatewayGeneration) 17189 populate(objectMap, "vpnType", v.VPNType) 17190 return json.Marshal(objectMap) 17191} 17192 17193// VirtualNetworkGatewaySKU - VirtualNetworkGatewaySku details. 17194type VirtualNetworkGatewaySKU struct { 17195 // Gateway SKU name. 17196 Name *VirtualNetworkGatewaySKUName `json:"name,omitempty"` 17197 17198 // Gateway SKU tier. 17199 Tier *VirtualNetworkGatewaySKUTier `json:"tier,omitempty"` 17200 17201 // READ-ONLY; The capacity. 17202 Capacity *int32 `json:"capacity,omitempty" azure:"ro"` 17203} 17204 17205// VirtualNetworkGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGateways.BeginCreateOrUpdate method. 17206type VirtualNetworkGatewaysBeginCreateOrUpdateOptions struct { 17207 // placeholder for future optional parameters 17208} 17209 17210// VirtualNetworkGatewaysBeginDeleteOptions contains the optional parameters for the VirtualNetworkGateways.BeginDelete method. 17211type VirtualNetworkGatewaysBeginDeleteOptions struct { 17212 // placeholder for future optional parameters 17213} 17214 17215// VirtualNetworkGatewaysBeginDisconnectVirtualNetworkGatewayVPNConnectionsOptions contains the optional parameters for the VirtualNetworkGateways.BeginDisconnectVirtualNetworkGatewayVPNConnections 17216// method. 17217type VirtualNetworkGatewaysBeginDisconnectVirtualNetworkGatewayVPNConnectionsOptions struct { 17218 // placeholder for future optional parameters 17219} 17220 17221// VirtualNetworkGatewaysBeginGenerateVPNProfileOptions contains the optional parameters for the VirtualNetworkGateways.BeginGenerateVPNProfile method. 17222type VirtualNetworkGatewaysBeginGenerateVPNProfileOptions struct { 17223 // placeholder for future optional parameters 17224} 17225 17226// VirtualNetworkGatewaysBeginGeneratevpnclientpackageOptions contains the optional parameters for the VirtualNetworkGateways.BeginGeneratevpnclientpackage 17227// method. 17228type VirtualNetworkGatewaysBeginGeneratevpnclientpackageOptions struct { 17229 // placeholder for future optional parameters 17230} 17231 17232// VirtualNetworkGatewaysBeginGetAdvertisedRoutesOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetAdvertisedRoutes method. 17233type VirtualNetworkGatewaysBeginGetAdvertisedRoutesOptions struct { 17234 // placeholder for future optional parameters 17235} 17236 17237// VirtualNetworkGatewaysBeginGetBgpPeerStatusOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetBgpPeerStatus method. 17238type VirtualNetworkGatewaysBeginGetBgpPeerStatusOptions struct { 17239 // The IP address of the peer to retrieve the status of. 17240 Peer *string 17241} 17242 17243// VirtualNetworkGatewaysBeginGetLearnedRoutesOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetLearnedRoutes method. 17244type VirtualNetworkGatewaysBeginGetLearnedRoutesOptions struct { 17245 // placeholder for future optional parameters 17246} 17247 17248// VirtualNetworkGatewaysBeginGetVPNProfilePackageURLOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVPNProfilePackageURL 17249// method. 17250type VirtualNetworkGatewaysBeginGetVPNProfilePackageURLOptions struct { 17251 // placeholder for future optional parameters 17252} 17253 17254// VirtualNetworkGatewaysBeginGetVpnclientConnectionHealthOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVpnclientConnectionHealth 17255// method. 17256type VirtualNetworkGatewaysBeginGetVpnclientConnectionHealthOptions struct { 17257 // placeholder for future optional parameters 17258} 17259 17260// VirtualNetworkGatewaysBeginGetVpnclientIPSecParametersOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVpnclientIPSecParameters 17261// method. 17262type VirtualNetworkGatewaysBeginGetVpnclientIPSecParametersOptions struct { 17263 // placeholder for future optional parameters 17264} 17265 17266// VirtualNetworkGatewaysBeginResetOptions contains the optional parameters for the VirtualNetworkGateways.BeginReset method. 17267type VirtualNetworkGatewaysBeginResetOptions struct { 17268 // Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. 17269 GatewayVip *string 17270} 17271 17272// VirtualNetworkGatewaysBeginResetVPNClientSharedKeyOptions contains the optional parameters for the VirtualNetworkGateways.BeginResetVPNClientSharedKey 17273// method. 17274type VirtualNetworkGatewaysBeginResetVPNClientSharedKeyOptions struct { 17275 // placeholder for future optional parameters 17276} 17277 17278// VirtualNetworkGatewaysBeginSetVpnclientIPSecParametersOptions contains the optional parameters for the VirtualNetworkGateways.BeginSetVpnclientIPSecParameters 17279// method. 17280type VirtualNetworkGatewaysBeginSetVpnclientIPSecParametersOptions struct { 17281 // placeholder for future optional parameters 17282} 17283 17284// VirtualNetworkGatewaysBeginStartPacketCaptureOptions contains the optional parameters for the VirtualNetworkGateways.BeginStartPacketCapture method. 17285type VirtualNetworkGatewaysBeginStartPacketCaptureOptions struct { 17286 // Virtual network gateway packet capture parameters supplied to start packet capture on gateway. 17287 Parameters *VPNPacketCaptureStartParameters 17288} 17289 17290// VirtualNetworkGatewaysBeginStopPacketCaptureOptions contains the optional parameters for the VirtualNetworkGateways.BeginStopPacketCapture method. 17291type VirtualNetworkGatewaysBeginStopPacketCaptureOptions struct { 17292 // placeholder for future optional parameters 17293} 17294 17295// VirtualNetworkGatewaysBeginUpdateTagsOptions contains the optional parameters for the VirtualNetworkGateways.BeginUpdateTags method. 17296type VirtualNetworkGatewaysBeginUpdateTagsOptions struct { 17297 // placeholder for future optional parameters 17298} 17299 17300// VirtualNetworkGatewaysGetOptions contains the optional parameters for the VirtualNetworkGateways.Get method. 17301type VirtualNetworkGatewaysGetOptions struct { 17302 // placeholder for future optional parameters 17303} 17304 17305// VirtualNetworkGatewaysListConnectionsOptions contains the optional parameters for the VirtualNetworkGateways.ListConnections method. 17306type VirtualNetworkGatewaysListConnectionsOptions struct { 17307 // placeholder for future optional parameters 17308} 17309 17310// VirtualNetworkGatewaysListOptions contains the optional parameters for the VirtualNetworkGateways.List method. 17311type VirtualNetworkGatewaysListOptions struct { 17312 // placeholder for future optional parameters 17313} 17314 17315// VirtualNetworkGatewaysSupportedVPNDevicesOptions contains the optional parameters for the VirtualNetworkGateways.SupportedVPNDevices method. 17316type VirtualNetworkGatewaysSupportedVPNDevicesOptions struct { 17317 // placeholder for future optional parameters 17318} 17319 17320// VirtualNetworkGatewaysVPNDeviceConfigurationScriptOptions contains the optional parameters for the VirtualNetworkGateways.VPNDeviceConfigurationScript 17321// method. 17322type VirtualNetworkGatewaysVPNDeviceConfigurationScriptOptions struct { 17323 // placeholder for future optional parameters 17324} 17325 17326// VirtualNetworkListResult - Response for the ListVirtualNetworks API service call. 17327type VirtualNetworkListResult struct { 17328 // The URL to get the next set of results. 17329 NextLink *string `json:"nextLink,omitempty"` 17330 17331 // A list of VirtualNetwork resources in a resource group. 17332 Value []*VirtualNetwork `json:"value,omitempty"` 17333} 17334 17335// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkListResult. 17336func (v VirtualNetworkListResult) MarshalJSON() ([]byte, error) { 17337 objectMap := make(map[string]interface{}) 17338 populate(objectMap, "nextLink", v.NextLink) 17339 populate(objectMap, "value", v.Value) 17340 return json.Marshal(objectMap) 17341} 17342 17343// VirtualNetworkListUsageResult - Response for the virtual networks GetUsage API service call. 17344type VirtualNetworkListUsageResult struct { 17345 // The URL to get the next set of results. 17346 NextLink *string `json:"nextLink,omitempty"` 17347 17348 // READ-ONLY; VirtualNetwork usage stats. 17349 Value []*VirtualNetworkUsage `json:"value,omitempty" azure:"ro"` 17350} 17351 17352// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkListUsageResult. 17353func (v VirtualNetworkListUsageResult) MarshalJSON() ([]byte, error) { 17354 objectMap := make(map[string]interface{}) 17355 populate(objectMap, "nextLink", v.NextLink) 17356 populate(objectMap, "value", v.Value) 17357 return json.Marshal(objectMap) 17358} 17359 17360// VirtualNetworkPeering - Peerings in a virtual network resource. 17361type VirtualNetworkPeering struct { 17362 SubResource 17363 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 17364 Name *string `json:"name,omitempty"` 17365 17366 // Properties of the virtual network peering. 17367 Properties *VirtualNetworkPeeringPropertiesFormat `json:"properties,omitempty"` 17368 17369 // Resource type. 17370 Type *string `json:"type,omitempty"` 17371 17372 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 17373 Etag *string `json:"etag,omitempty" azure:"ro"` 17374} 17375 17376// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPeering. 17377func (v VirtualNetworkPeering) MarshalJSON() ([]byte, error) { 17378 objectMap := v.SubResource.marshalInternal() 17379 populate(objectMap, "etag", v.Etag) 17380 populate(objectMap, "name", v.Name) 17381 populate(objectMap, "properties", v.Properties) 17382 populate(objectMap, "type", v.Type) 17383 return json.Marshal(objectMap) 17384} 17385 17386// VirtualNetworkPeeringListResult - Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 17387type VirtualNetworkPeeringListResult struct { 17388 // The URL to get the next set of results. 17389 NextLink *string `json:"nextLink,omitempty"` 17390 17391 // The peerings in a virtual network. 17392 Value []*VirtualNetworkPeering `json:"value,omitempty"` 17393} 17394 17395// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPeeringListResult. 17396func (v VirtualNetworkPeeringListResult) MarshalJSON() ([]byte, error) { 17397 objectMap := make(map[string]interface{}) 17398 populate(objectMap, "nextLink", v.NextLink) 17399 populate(objectMap, "value", v.Value) 17400 return json.Marshal(objectMap) 17401} 17402 17403// VirtualNetworkPeeringPropertiesFormat - Properties of the virtual network peering. 17404type VirtualNetworkPeeringPropertiesFormat struct { 17405 // Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. 17406 AllowForwardedTraffic *bool `json:"allowForwardedTraffic,omitempty"` 17407 17408 // If gateway links can be used in remote virtual networking to link to this virtual network. 17409 AllowGatewayTransit *bool `json:"allowGatewayTransit,omitempty"` 17410 17411 // Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. 17412 AllowVirtualNetworkAccess *bool `json:"allowVirtualNetworkAccess,omitempty"` 17413 17414 // If we need to verify the provisioning state of the remote gateway. 17415 DoNotVerifyRemoteGateways *bool `json:"doNotVerifyRemoteGateways,omitempty"` 17416 17417 // The status of the virtual network peering. 17418 PeeringState *VirtualNetworkPeeringState `json:"peeringState,omitempty"` 17419 17420 // The peering sync status of the virtual network peering. 17421 PeeringSyncLevel *VirtualNetworkPeeringLevel `json:"peeringSyncLevel,omitempty"` 17422 17423 // The reference to the address space peered with the remote virtual network. 17424 RemoteAddressSpace *AddressSpace `json:"remoteAddressSpace,omitempty"` 17425 17426 // The reference to the remote virtual network's Bgp Communities. 17427 RemoteBgpCommunities *VirtualNetworkBgpCommunities `json:"remoteBgpCommunities,omitempty"` 17428 17429 // 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 17430 // preview and learn more 17431 // (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). 17432 RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` 17433 17434 // The reference to the current address space of the remote virtual network. 17435 RemoteVirtualNetworkAddressSpace *AddressSpace `json:"remoteVirtualNetworkAddressSpace,omitempty"` 17436 17437 // 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 17438 // will use gateways of remote virtual network 17439 // for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. 17440 UseRemoteGateways *bool `json:"useRemoteGateways,omitempty"` 17441 17442 // READ-ONLY; The provisioning state of the virtual network peering resource. 17443 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17444 17445 // READ-ONLY; The resourceGuid property of the Virtual Network peering resource. 17446 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 17447} 17448 17449// VirtualNetworkPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkPeerings.BeginCreateOrUpdate method. 17450type VirtualNetworkPeeringsBeginCreateOrUpdateOptions struct { 17451 // Parameter indicates the intention to sync the peering with the current address space on the remote vNet after it's updated. 17452 SyncRemoteAddressSpace *SyncRemoteAddressSpace 17453} 17454 17455// VirtualNetworkPeeringsBeginDeleteOptions contains the optional parameters for the VirtualNetworkPeerings.BeginDelete method. 17456type VirtualNetworkPeeringsBeginDeleteOptions struct { 17457 // placeholder for future optional parameters 17458} 17459 17460// VirtualNetworkPeeringsGetOptions contains the optional parameters for the VirtualNetworkPeerings.Get method. 17461type VirtualNetworkPeeringsGetOptions struct { 17462 // placeholder for future optional parameters 17463} 17464 17465// VirtualNetworkPeeringsListOptions contains the optional parameters for the VirtualNetworkPeerings.List method. 17466type VirtualNetworkPeeringsListOptions struct { 17467 // placeholder for future optional parameters 17468} 17469 17470// VirtualNetworkPropertiesFormat - Properties of the virtual network. 17471type VirtualNetworkPropertiesFormat struct { 17472 // The AddressSpace that contains an array of IP address ranges that can be used by subnets. 17473 AddressSpace *AddressSpace `json:"addressSpace,omitempty"` 17474 17475 // Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. 17476 BgpCommunities *VirtualNetworkBgpCommunities `json:"bgpCommunities,omitempty"` 17477 17478 // The DDoS protection plan associated with the virtual network. 17479 DdosProtectionPlan *SubResource `json:"ddosProtectionPlan,omitempty"` 17480 17481 // The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. 17482 DhcpOptions *DhcpOptions `json:"dhcpOptions,omitempty"` 17483 17484 // Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the 17485 // resource. 17486 EnableDdosProtection *bool `json:"enableDdosProtection,omitempty"` 17487 17488 // Indicates if VM protection is enabled for all the subnets in the virtual network. 17489 EnableVMProtection *bool `json:"enableVmProtection,omitempty"` 17490 17491 // The FlowTimeout value (in minutes) for the Virtual Network 17492 FlowTimeoutInMinutes *int32 `json:"flowTimeoutInMinutes,omitempty"` 17493 17494 // Array of IpAllocation which reference this VNET. 17495 IPAllocations []*SubResource `json:"ipAllocations,omitempty"` 17496 17497 // A list of subnets in a Virtual Network. 17498 Subnets []*Subnet `json:"subnets,omitempty"` 17499 17500 // A list of peerings in a Virtual Network. 17501 VirtualNetworkPeerings []*VirtualNetworkPeering `json:"virtualNetworkPeerings,omitempty"` 17502 17503 // READ-ONLY; The provisioning state of the virtual network resource. 17504 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17505 17506 // READ-ONLY; The resourceGuid property of the Virtual Network resource. 17507 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 17508} 17509 17510// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPropertiesFormat. 17511func (v VirtualNetworkPropertiesFormat) MarshalJSON() ([]byte, error) { 17512 objectMap := make(map[string]interface{}) 17513 populate(objectMap, "addressSpace", v.AddressSpace) 17514 populate(objectMap, "bgpCommunities", v.BgpCommunities) 17515 populate(objectMap, "ddosProtectionPlan", v.DdosProtectionPlan) 17516 populate(objectMap, "dhcpOptions", v.DhcpOptions) 17517 populate(objectMap, "enableDdosProtection", v.EnableDdosProtection) 17518 populate(objectMap, "enableVmProtection", v.EnableVMProtection) 17519 populate(objectMap, "flowTimeoutInMinutes", v.FlowTimeoutInMinutes) 17520 populate(objectMap, "ipAllocations", v.IPAllocations) 17521 populate(objectMap, "provisioningState", v.ProvisioningState) 17522 populate(objectMap, "resourceGuid", v.ResourceGUID) 17523 populate(objectMap, "subnets", v.Subnets) 17524 populate(objectMap, "virtualNetworkPeerings", v.VirtualNetworkPeerings) 17525 return json.Marshal(objectMap) 17526} 17527 17528// VirtualNetworkTap - Virtual Network Tap resource. 17529type VirtualNetworkTap struct { 17530 Resource 17531 // Virtual Network Tap Properties. 17532 Properties *VirtualNetworkTapPropertiesFormat `json:"properties,omitempty"` 17533 17534 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 17535 Etag *string `json:"etag,omitempty" azure:"ro"` 17536} 17537 17538// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTap. 17539func (v VirtualNetworkTap) MarshalJSON() ([]byte, error) { 17540 objectMap := v.Resource.marshalInternal() 17541 populate(objectMap, "etag", v.Etag) 17542 populate(objectMap, "properties", v.Properties) 17543 return json.Marshal(objectMap) 17544} 17545 17546// VirtualNetworkTapListResult - Response for ListVirtualNetworkTap API service call. 17547type VirtualNetworkTapListResult struct { 17548 // The URL to get the next set of results. 17549 NextLink *string `json:"nextLink,omitempty"` 17550 17551 // A list of VirtualNetworkTaps in a resource group. 17552 Value []*VirtualNetworkTap `json:"value,omitempty"` 17553} 17554 17555// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTapListResult. 17556func (v VirtualNetworkTapListResult) MarshalJSON() ([]byte, error) { 17557 objectMap := make(map[string]interface{}) 17558 populate(objectMap, "nextLink", v.NextLink) 17559 populate(objectMap, "value", v.Value) 17560 return json.Marshal(objectMap) 17561} 17562 17563// VirtualNetworkTapPropertiesFormat - Virtual Network Tap properties. 17564type VirtualNetworkTapPropertiesFormat struct { 17565 // The reference to the private IP address on the internal Load Balancer that will receive the tap. 17566 DestinationLoadBalancerFrontEndIPConfiguration *FrontendIPConfiguration `json:"destinationLoadBalancerFrontEndIPConfiguration,omitempty"` 17567 17568 // The reference to the private IP Address of the collector nic that will receive the tap. 17569 DestinationNetworkInterfaceIPConfiguration *NetworkInterfaceIPConfiguration `json:"destinationNetworkInterfaceIPConfiguration,omitempty"` 17570 17571 // The VXLAN destination port that will receive the tapped traffic. 17572 DestinationPort *int32 `json:"destinationPort,omitempty"` 17573 17574 // READ-ONLY; Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped. 17575 NetworkInterfaceTapConfigurations []*NetworkInterfaceTapConfiguration `json:"networkInterfaceTapConfigurations,omitempty" azure:"ro"` 17576 17577 // READ-ONLY; The provisioning state of the virtual network tap resource. 17578 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17579 17580 // READ-ONLY; The resource GUID property of the virtual network tap resource. 17581 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 17582} 17583 17584// MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTapPropertiesFormat. 17585func (v VirtualNetworkTapPropertiesFormat) MarshalJSON() ([]byte, error) { 17586 objectMap := make(map[string]interface{}) 17587 populate(objectMap, "destinationLoadBalancerFrontEndIPConfiguration", v.DestinationLoadBalancerFrontEndIPConfiguration) 17588 populate(objectMap, "destinationNetworkInterfaceIPConfiguration", v.DestinationNetworkInterfaceIPConfiguration) 17589 populate(objectMap, "destinationPort", v.DestinationPort) 17590 populate(objectMap, "networkInterfaceTapConfigurations", v.NetworkInterfaceTapConfigurations) 17591 populate(objectMap, "provisioningState", v.ProvisioningState) 17592 populate(objectMap, "resourceGuid", v.ResourceGUID) 17593 return json.Marshal(objectMap) 17594} 17595 17596// VirtualNetworkTapsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkTaps.BeginCreateOrUpdate method. 17597type VirtualNetworkTapsBeginCreateOrUpdateOptions struct { 17598 // placeholder for future optional parameters 17599} 17600 17601// VirtualNetworkTapsBeginDeleteOptions contains the optional parameters for the VirtualNetworkTaps.BeginDelete method. 17602type VirtualNetworkTapsBeginDeleteOptions struct { 17603 // placeholder for future optional parameters 17604} 17605 17606// VirtualNetworkTapsGetOptions contains the optional parameters for the VirtualNetworkTaps.Get method. 17607type VirtualNetworkTapsGetOptions struct { 17608 // placeholder for future optional parameters 17609} 17610 17611// VirtualNetworkTapsListAllOptions contains the optional parameters for the VirtualNetworkTaps.ListAll method. 17612type VirtualNetworkTapsListAllOptions struct { 17613 // placeholder for future optional parameters 17614} 17615 17616// VirtualNetworkTapsListByResourceGroupOptions contains the optional parameters for the VirtualNetworkTaps.ListByResourceGroup method. 17617type VirtualNetworkTapsListByResourceGroupOptions struct { 17618 // placeholder for future optional parameters 17619} 17620 17621// VirtualNetworkTapsUpdateTagsOptions contains the optional parameters for the VirtualNetworkTaps.UpdateTags method. 17622type VirtualNetworkTapsUpdateTagsOptions struct { 17623 // placeholder for future optional parameters 17624} 17625 17626// VirtualNetworkUsage - Usage details for subnet. 17627type VirtualNetworkUsage struct { 17628 // READ-ONLY; Indicates number of IPs used from the Subnet. 17629 CurrentValue *float64 `json:"currentValue,omitempty" azure:"ro"` 17630 17631 // READ-ONLY; Subnet identifier. 17632 ID *string `json:"id,omitempty" azure:"ro"` 17633 17634 // READ-ONLY; Indicates the size of the subnet. 17635 Limit *float64 `json:"limit,omitempty" azure:"ro"` 17636 17637 // READ-ONLY; The name containing common and localized value for usage. 17638 Name *VirtualNetworkUsageName `json:"name,omitempty" azure:"ro"` 17639 17640 // READ-ONLY; Usage units. Returns 'Count'. 17641 Unit *string `json:"unit,omitempty" azure:"ro"` 17642} 17643 17644// VirtualNetworkUsageName - Usage strings container. 17645type VirtualNetworkUsageName struct { 17646 // READ-ONLY; Localized subnet size and usage string. 17647 LocalizedValue *string `json:"localizedValue,omitempty" azure:"ro"` 17648 17649 // READ-ONLY; Subnet size and usage string. 17650 Value *string `json:"value,omitempty" azure:"ro"` 17651} 17652 17653// VirtualNetworksBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworks.BeginCreateOrUpdate method. 17654type VirtualNetworksBeginCreateOrUpdateOptions struct { 17655 // placeholder for future optional parameters 17656} 17657 17658// VirtualNetworksBeginDeleteOptions contains the optional parameters for the VirtualNetworks.BeginDelete method. 17659type VirtualNetworksBeginDeleteOptions struct { 17660 // placeholder for future optional parameters 17661} 17662 17663// VirtualNetworksCheckIPAddressAvailabilityOptions contains the optional parameters for the VirtualNetworks.CheckIPAddressAvailability method. 17664type VirtualNetworksCheckIPAddressAvailabilityOptions struct { 17665 // placeholder for future optional parameters 17666} 17667 17668// VirtualNetworksGetOptions contains the optional parameters for the VirtualNetworks.Get method. 17669type VirtualNetworksGetOptions struct { 17670 // Expands referenced resources. 17671 Expand *string 17672} 17673 17674// VirtualNetworksListAllOptions contains the optional parameters for the VirtualNetworks.ListAll method. 17675type VirtualNetworksListAllOptions struct { 17676 // placeholder for future optional parameters 17677} 17678 17679// VirtualNetworksListOptions contains the optional parameters for the VirtualNetworks.List method. 17680type VirtualNetworksListOptions struct { 17681 // placeholder for future optional parameters 17682} 17683 17684// VirtualNetworksListUsageOptions contains the optional parameters for the VirtualNetworks.ListUsage method. 17685type VirtualNetworksListUsageOptions struct { 17686 // placeholder for future optional parameters 17687} 17688 17689// VirtualNetworksUpdateTagsOptions contains the optional parameters for the VirtualNetworks.UpdateTags method. 17690type VirtualNetworksUpdateTagsOptions struct { 17691 // placeholder for future optional parameters 17692} 17693 17694// VirtualRouter Resource. 17695type VirtualRouter struct { 17696 Resource 17697 // Properties of the Virtual Router. 17698 Properties *VirtualRouterPropertiesFormat `json:"properties,omitempty"` 17699 17700 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 17701 Etag *string `json:"etag,omitempty" azure:"ro"` 17702} 17703 17704// MarshalJSON implements the json.Marshaller interface for type VirtualRouter. 17705func (v VirtualRouter) MarshalJSON() ([]byte, error) { 17706 objectMap := v.Resource.marshalInternal() 17707 populate(objectMap, "etag", v.Etag) 17708 populate(objectMap, "properties", v.Properties) 17709 return json.Marshal(objectMap) 17710} 17711 17712// VirtualRouterListResult - Response for ListVirtualRouters API service call. 17713type VirtualRouterListResult struct { 17714 // URL to get the next set of results. 17715 NextLink *string `json:"nextLink,omitempty"` 17716 17717 // List of Virtual Routers. 17718 Value []*VirtualRouter `json:"value,omitempty"` 17719} 17720 17721// MarshalJSON implements the json.Marshaller interface for type VirtualRouterListResult. 17722func (v VirtualRouterListResult) MarshalJSON() ([]byte, error) { 17723 objectMap := make(map[string]interface{}) 17724 populate(objectMap, "nextLink", v.NextLink) 17725 populate(objectMap, "value", v.Value) 17726 return json.Marshal(objectMap) 17727} 17728 17729// VirtualRouterPeering - Virtual Router Peering resource. 17730type VirtualRouterPeering struct { 17731 SubResource 17732 // Name of the virtual router peering that is unique within a virtual router. 17733 Name *string `json:"name,omitempty"` 17734 17735 // The properties of the Virtual Router Peering. 17736 Properties *VirtualRouterPeeringProperties `json:"properties,omitempty"` 17737 17738 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 17739 Etag *string `json:"etag,omitempty" azure:"ro"` 17740 17741 // READ-ONLY; Peering type. 17742 Type *string `json:"type,omitempty" azure:"ro"` 17743} 17744 17745// MarshalJSON implements the json.Marshaller interface for type VirtualRouterPeering. 17746func (v VirtualRouterPeering) MarshalJSON() ([]byte, error) { 17747 objectMap := v.SubResource.marshalInternal() 17748 populate(objectMap, "etag", v.Etag) 17749 populate(objectMap, "name", v.Name) 17750 populate(objectMap, "properties", v.Properties) 17751 populate(objectMap, "type", v.Type) 17752 return json.Marshal(objectMap) 17753} 17754 17755// VirtualRouterPeeringListResult - Response for ListVirtualRouterPeerings API service call. 17756type VirtualRouterPeeringListResult struct { 17757 // URL to get the next set of results. 17758 NextLink *string `json:"nextLink,omitempty"` 17759 17760 // List of VirtualRouterPeerings in a VirtualRouter. 17761 Value []*VirtualRouterPeering `json:"value,omitempty"` 17762} 17763 17764// MarshalJSON implements the json.Marshaller interface for type VirtualRouterPeeringListResult. 17765func (v VirtualRouterPeeringListResult) MarshalJSON() ([]byte, error) { 17766 objectMap := make(map[string]interface{}) 17767 populate(objectMap, "nextLink", v.NextLink) 17768 populate(objectMap, "value", v.Value) 17769 return json.Marshal(objectMap) 17770} 17771 17772// VirtualRouterPeeringProperties - Properties of the rule group. 17773type VirtualRouterPeeringProperties struct { 17774 // Peer ASN. 17775 PeerAsn *int64 `json:"peerAsn,omitempty"` 17776 17777 // Peer IP. 17778 PeerIP *string `json:"peerIp,omitempty"` 17779 17780 // READ-ONLY; The provisioning state of the resource. 17781 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17782} 17783 17784// VirtualRouterPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualRouterPeerings.BeginCreateOrUpdate method. 17785type VirtualRouterPeeringsBeginCreateOrUpdateOptions struct { 17786 // placeholder for future optional parameters 17787} 17788 17789// VirtualRouterPeeringsBeginDeleteOptions contains the optional parameters for the VirtualRouterPeerings.BeginDelete method. 17790type VirtualRouterPeeringsBeginDeleteOptions struct { 17791 // placeholder for future optional parameters 17792} 17793 17794// VirtualRouterPeeringsGetOptions contains the optional parameters for the VirtualRouterPeerings.Get method. 17795type VirtualRouterPeeringsGetOptions struct { 17796 // placeholder for future optional parameters 17797} 17798 17799// VirtualRouterPeeringsListOptions contains the optional parameters for the VirtualRouterPeerings.List method. 17800type VirtualRouterPeeringsListOptions struct { 17801 // placeholder for future optional parameters 17802} 17803 17804// VirtualRouterPropertiesFormat - Virtual Router definition. 17805type VirtualRouterPropertiesFormat struct { 17806 // The Gateway on which VirtualRouter is hosted. 17807 HostedGateway *SubResource `json:"hostedGateway,omitempty"` 17808 17809 // The Subnet on which VirtualRouter is hosted. 17810 HostedSubnet *SubResource `json:"hostedSubnet,omitempty"` 17811 17812 // VirtualRouter ASN. 17813 VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` 17814 17815 // VirtualRouter IPs. 17816 VirtualRouterIPs []*string `json:"virtualRouterIps,omitempty"` 17817 17818 // READ-ONLY; List of references to VirtualRouterPeerings. 17819 Peerings []*SubResource `json:"peerings,omitempty" azure:"ro"` 17820 17821 // READ-ONLY; The provisioning state of the resource. 17822 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17823} 17824 17825// MarshalJSON implements the json.Marshaller interface for type VirtualRouterPropertiesFormat. 17826func (v VirtualRouterPropertiesFormat) MarshalJSON() ([]byte, error) { 17827 objectMap := make(map[string]interface{}) 17828 populate(objectMap, "hostedGateway", v.HostedGateway) 17829 populate(objectMap, "hostedSubnet", v.HostedSubnet) 17830 populate(objectMap, "peerings", v.Peerings) 17831 populate(objectMap, "provisioningState", v.ProvisioningState) 17832 populate(objectMap, "virtualRouterAsn", v.VirtualRouterAsn) 17833 populate(objectMap, "virtualRouterIps", v.VirtualRouterIPs) 17834 return json.Marshal(objectMap) 17835} 17836 17837// VirtualRoutersBeginCreateOrUpdateOptions contains the optional parameters for the VirtualRouters.BeginCreateOrUpdate method. 17838type VirtualRoutersBeginCreateOrUpdateOptions struct { 17839 // placeholder for future optional parameters 17840} 17841 17842// VirtualRoutersBeginDeleteOptions contains the optional parameters for the VirtualRouters.BeginDelete method. 17843type VirtualRoutersBeginDeleteOptions struct { 17844 // placeholder for future optional parameters 17845} 17846 17847// VirtualRoutersGetOptions contains the optional parameters for the VirtualRouters.Get method. 17848type VirtualRoutersGetOptions struct { 17849 // Expands referenced resources. 17850 Expand *string 17851} 17852 17853// VirtualRoutersListByResourceGroupOptions contains the optional parameters for the VirtualRouters.ListByResourceGroup method. 17854type VirtualRoutersListByResourceGroupOptions struct { 17855 // placeholder for future optional parameters 17856} 17857 17858// VirtualRoutersListOptions contains the optional parameters for the VirtualRouters.List method. 17859type VirtualRoutersListOptions struct { 17860 // placeholder for future optional parameters 17861} 17862 17863// VirtualWAN Resource. 17864type VirtualWAN struct { 17865 Resource 17866 // Properties of the virtual WAN. 17867 Properties *VirtualWanProperties `json:"properties,omitempty"` 17868 17869 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 17870 Etag *string `json:"etag,omitempty" azure:"ro"` 17871} 17872 17873// MarshalJSON implements the json.Marshaller interface for type VirtualWAN. 17874func (v VirtualWAN) MarshalJSON() ([]byte, error) { 17875 objectMap := v.Resource.marshalInternal() 17876 populate(objectMap, "etag", v.Etag) 17877 populate(objectMap, "properties", v.Properties) 17878 return json.Marshal(objectMap) 17879} 17880 17881// VirtualWanProperties - Parameters for VirtualWAN. 17882type VirtualWanProperties struct { 17883 // True if branch to branch traffic is allowed. 17884 AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` 17885 17886 // True if Vnet to Vnet traffic is allowed. 17887 AllowVnetToVnetTraffic *bool `json:"allowVnetToVnetTraffic,omitempty"` 17888 17889 // Vpn encryption to be disabled or not. 17890 DisableVPNEncryption *bool `json:"disableVpnEncryption,omitempty"` 17891 17892 // The type of the VirtualWAN. 17893 Type *string `json:"type,omitempty"` 17894 17895 // READ-ONLY; The office local breakout category. 17896 Office365LocalBreakoutCategory *OfficeTrafficCategory `json:"office365LocalBreakoutCategory,omitempty" azure:"ro"` 17897 17898 // READ-ONLY; The provisioning state of the virtual WAN resource. 17899 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 17900 17901 // READ-ONLY; List of VpnSites in the VirtualWAN. 17902 VPNSites []*SubResource `json:"vpnSites,omitempty" azure:"ro"` 17903 17904 // READ-ONLY; List of VirtualHubs in the VirtualWAN. 17905 VirtualHubs []*SubResource `json:"virtualHubs,omitempty" azure:"ro"` 17906} 17907 17908// MarshalJSON implements the json.Marshaller interface for type VirtualWanProperties. 17909func (v VirtualWanProperties) MarshalJSON() ([]byte, error) { 17910 objectMap := make(map[string]interface{}) 17911 populate(objectMap, "allowBranchToBranchTraffic", v.AllowBranchToBranchTraffic) 17912 populate(objectMap, "allowVnetToVnetTraffic", v.AllowVnetToVnetTraffic) 17913 populate(objectMap, "disableVpnEncryption", v.DisableVPNEncryption) 17914 populate(objectMap, "office365LocalBreakoutCategory", v.Office365LocalBreakoutCategory) 17915 populate(objectMap, "provisioningState", v.ProvisioningState) 17916 populate(objectMap, "type", v.Type) 17917 populate(objectMap, "vpnSites", v.VPNSites) 17918 populate(objectMap, "virtualHubs", v.VirtualHubs) 17919 return json.Marshal(objectMap) 17920} 17921 17922// VirtualWanSecurityProvider - Collection of SecurityProviders. 17923type VirtualWanSecurityProvider struct { 17924 // Name of the security provider. 17925 Name *string `json:"name,omitempty"` 17926 17927 // Url of the security provider. 17928 URL *string `json:"url,omitempty"` 17929 17930 // READ-ONLY; Name of the security provider. 17931 Type *VirtualWanSecurityProviderType `json:"type,omitempty" azure:"ro"` 17932} 17933 17934// VirtualWanSecurityProviders - Collection of SecurityProviders. 17935type VirtualWanSecurityProviders struct { 17936 // List of VirtualWAN security providers. 17937 SupportedProviders []*VirtualWanSecurityProvider `json:"supportedProviders,omitempty"` 17938} 17939 17940// MarshalJSON implements the json.Marshaller interface for type VirtualWanSecurityProviders. 17941func (v VirtualWanSecurityProviders) MarshalJSON() ([]byte, error) { 17942 objectMap := make(map[string]interface{}) 17943 populate(objectMap, "supportedProviders", v.SupportedProviders) 17944 return json.Marshal(objectMap) 17945} 17946 17947// VirtualWanVPNProfileParameters - Virtual Wan Vpn profile parameters Vpn profile generation. 17948type VirtualWanVPNProfileParameters struct { 17949 // VPN client authentication method. 17950 AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` 17951 17952 // VpnServerConfiguration partial resource uri with which VirtualWan is associated to. 17953 VPNServerConfigurationResourceID *string `json:"vpnServerConfigurationResourceId,omitempty"` 17954} 17955 17956// VirtualWansBeginCreateOrUpdateOptions contains the optional parameters for the VirtualWans.BeginCreateOrUpdate method. 17957type VirtualWansBeginCreateOrUpdateOptions struct { 17958 // placeholder for future optional parameters 17959} 17960 17961// VirtualWansBeginDeleteOptions contains the optional parameters for the VirtualWans.BeginDelete method. 17962type VirtualWansBeginDeleteOptions struct { 17963 // placeholder for future optional parameters 17964} 17965 17966// VirtualWansGetOptions contains the optional parameters for the VirtualWans.Get method. 17967type VirtualWansGetOptions struct { 17968 // placeholder for future optional parameters 17969} 17970 17971// VirtualWansListByResourceGroupOptions contains the optional parameters for the VirtualWans.ListByResourceGroup method. 17972type VirtualWansListByResourceGroupOptions struct { 17973 // placeholder for future optional parameters 17974} 17975 17976// VirtualWansListOptions contains the optional parameters for the VirtualWans.List method. 17977type VirtualWansListOptions struct { 17978 // placeholder for future optional parameters 17979} 17980 17981// VirtualWansUpdateTagsOptions contains the optional parameters for the VirtualWans.UpdateTags method. 17982type VirtualWansUpdateTagsOptions struct { 17983 // placeholder for future optional parameters 17984} 17985 17986// VnetRoute - List of routes that control routing from VirtualHub into a virtual network connection. 17987type VnetRoute struct { 17988 // List of all Static Routes. 17989 StaticRoutes []*StaticRoute `json:"staticRoutes,omitempty"` 17990} 17991 17992// MarshalJSON implements the json.Marshaller interface for type VnetRoute. 17993func (v VnetRoute) MarshalJSON() ([]byte, error) { 17994 objectMap := make(map[string]interface{}) 17995 populate(objectMap, "staticRoutes", v.StaticRoutes) 17996 return json.Marshal(objectMap) 17997} 17998 17999// WebApplicationFirewallCustomRule - Defines contents of a web application rule. 18000type WebApplicationFirewallCustomRule struct { 18001 // REQUIRED; Type of Actions. 18002 Action *WebApplicationFirewallAction `json:"action,omitempty"` 18003 18004 // REQUIRED; List of match conditions. 18005 MatchConditions []*MatchCondition `json:"matchConditions,omitempty"` 18006 18007 // REQUIRED; Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. 18008 Priority *int32 `json:"priority,omitempty"` 18009 18010 // REQUIRED; The rule type. 18011 RuleType *WebApplicationFirewallRuleType `json:"ruleType,omitempty"` 18012 18013 // The name of the resource that is unique within a policy. This name can be used to access the resource. 18014 Name *string `json:"name,omitempty"` 18015 18016 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 18017 Etag *string `json:"etag,omitempty" azure:"ro"` 18018} 18019 18020// MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallCustomRule. 18021func (w WebApplicationFirewallCustomRule) MarshalJSON() ([]byte, error) { 18022 objectMap := make(map[string]interface{}) 18023 populate(objectMap, "action", w.Action) 18024 populate(objectMap, "etag", w.Etag) 18025 populate(objectMap, "matchConditions", w.MatchConditions) 18026 populate(objectMap, "name", w.Name) 18027 populate(objectMap, "priority", w.Priority) 18028 populate(objectMap, "ruleType", w.RuleType) 18029 return json.Marshal(objectMap) 18030} 18031 18032// WebApplicationFirewallPoliciesBeginDeleteOptions contains the optional parameters for the WebApplicationFirewallPolicies.BeginDelete method. 18033type WebApplicationFirewallPoliciesBeginDeleteOptions struct { 18034 // placeholder for future optional parameters 18035} 18036 18037// WebApplicationFirewallPoliciesCreateOrUpdateOptions contains the optional parameters for the WebApplicationFirewallPolicies.CreateOrUpdate method. 18038type WebApplicationFirewallPoliciesCreateOrUpdateOptions struct { 18039 // placeholder for future optional parameters 18040} 18041 18042// WebApplicationFirewallPoliciesGetOptions contains the optional parameters for the WebApplicationFirewallPolicies.Get method. 18043type WebApplicationFirewallPoliciesGetOptions struct { 18044 // placeholder for future optional parameters 18045} 18046 18047// WebApplicationFirewallPoliciesListAllOptions contains the optional parameters for the WebApplicationFirewallPolicies.ListAll method. 18048type WebApplicationFirewallPoliciesListAllOptions struct { 18049 // placeholder for future optional parameters 18050} 18051 18052// WebApplicationFirewallPoliciesListOptions contains the optional parameters for the WebApplicationFirewallPolicies.List method. 18053type WebApplicationFirewallPoliciesListOptions struct { 18054 // placeholder for future optional parameters 18055} 18056 18057// WebApplicationFirewallPolicy - Defines web application firewall policy. 18058type WebApplicationFirewallPolicy struct { 18059 Resource 18060 // Properties of the web application firewall policy. 18061 Properties *WebApplicationFirewallPolicyPropertiesFormat `json:"properties,omitempty"` 18062 18063 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 18064 Etag *string `json:"etag,omitempty" azure:"ro"` 18065} 18066 18067// MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicy. 18068func (w WebApplicationFirewallPolicy) MarshalJSON() ([]byte, error) { 18069 objectMap := w.Resource.marshalInternal() 18070 populate(objectMap, "etag", w.Etag) 18071 populate(objectMap, "properties", w.Properties) 18072 return json.Marshal(objectMap) 18073} 18074 18075// WebApplicationFirewallPolicyListResult - Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy 18076// objects and a URL link to get the next set of results. 18077type WebApplicationFirewallPolicyListResult struct { 18078 // READ-ONLY; URL to get the next set of WebApplicationFirewallPolicy objects if there are any. 18079 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 18080 18081 // READ-ONLY; List of WebApplicationFirewallPolicies within a resource group. 18082 Value []*WebApplicationFirewallPolicy `json:"value,omitempty" azure:"ro"` 18083} 18084 18085// MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicyListResult. 18086func (w WebApplicationFirewallPolicyListResult) MarshalJSON() ([]byte, error) { 18087 objectMap := make(map[string]interface{}) 18088 populate(objectMap, "nextLink", w.NextLink) 18089 populate(objectMap, "value", w.Value) 18090 return json.Marshal(objectMap) 18091} 18092 18093// WebApplicationFirewallPolicyPropertiesFormat - Defines web application firewall policy properties. 18094type WebApplicationFirewallPolicyPropertiesFormat struct { 18095 // REQUIRED; Describes the managedRules structure. 18096 ManagedRules *ManagedRulesDefinition `json:"managedRules,omitempty"` 18097 18098 // The custom rules inside the policy. 18099 CustomRules []*WebApplicationFirewallCustomRule `json:"customRules,omitempty"` 18100 18101 // The PolicySettings for policy. 18102 PolicySettings *PolicySettings `json:"policySettings,omitempty"` 18103 18104 // READ-ONLY; A collection of references to application gateways. 18105 ApplicationGateways []*ApplicationGateway `json:"applicationGateways,omitempty" azure:"ro"` 18106 18107 // READ-ONLY; A collection of references to application gateway http listeners. 18108 HTTPListeners []*SubResource `json:"httpListeners,omitempty" azure:"ro"` 18109 18110 // READ-ONLY; A collection of references to application gateway path rules. 18111 PathBasedRules []*SubResource `json:"pathBasedRules,omitempty" azure:"ro"` 18112 18113 // READ-ONLY; The provisioning state of the web application firewall policy resource. 18114 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 18115 18116 // READ-ONLY; Resource status of the policy. 18117 ResourceState *WebApplicationFirewallPolicyResourceState `json:"resourceState,omitempty" azure:"ro"` 18118} 18119 18120// MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicyPropertiesFormat. 18121func (w WebApplicationFirewallPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 18122 objectMap := make(map[string]interface{}) 18123 populate(objectMap, "applicationGateways", w.ApplicationGateways) 18124 populate(objectMap, "customRules", w.CustomRules) 18125 populate(objectMap, "httpListeners", w.HTTPListeners) 18126 populate(objectMap, "managedRules", w.ManagedRules) 18127 populate(objectMap, "pathBasedRules", w.PathBasedRules) 18128 populate(objectMap, "policySettings", w.PolicySettings) 18129 populate(objectMap, "provisioningState", w.ProvisioningState) 18130 populate(objectMap, "resourceState", w.ResourceState) 18131 return json.Marshal(objectMap) 18132} 18133 18134// WebCategoriesGetOptions contains the optional parameters for the WebCategories.Get method. 18135type WebCategoriesGetOptions struct { 18136 // Expands resourceIds back referenced by the azureWebCategory resource. 18137 Expand *string 18138} 18139 18140// WebCategoriesListBySubscriptionOptions contains the optional parameters for the WebCategories.ListBySubscription method. 18141type WebCategoriesListBySubscriptionOptions struct { 18142 // placeholder for future optional parameters 18143} 18144 18145func populate(m map[string]interface{}, k string, v interface{}) { 18146 if v == nil { 18147 return 18148 } else if azcore.IsNullValue(v) { 18149 m[k] = nil 18150 } else if !reflect.ValueOf(v).IsNil() { 18151 m[k] = v 18152 } 18153} 18154 18155func unpopulate(data json.RawMessage, v interface{}) error { 18156 if data == nil { 18157 return nil 18158 } 18159 return json.Unmarshal(data, v) 18160} 18161