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 "context" 12 "encoding/json" 13 "fmt" 14 "net/http" 15 "time" 16) 17 18// AAD Vpn authentication type related parameters. 19type AadAuthenticationParameters struct { 20 // AAD Vpn authentication parameter AAD audience. 21 AadAudience *string `json:"aadAudience,omitempty"` 22 23 // AAD Vpn authentication parameter AAD issuer. 24 AadIssuer *string `json:"aadIssuer,omitempty"` 25 26 // AAD Vpn authentication parameter AAD tenant. 27 AadTenant *string `json:"aadTenant,omitempty"` 28} 29 30// AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 31type AddressSpace struct { 32 // A list of address blocks reserved for this virtual network in CIDR notation. 33 AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` 34} 35 36// Application gateway resource. 37type ApplicationGateway struct { 38 Resource 39 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 40 Etag *string `json:"etag,omitempty" azure:"ro"` 41 42 // The identity of the application gateway, if configured. 43 IDentity *ManagedServiceIDentity `json:"identity,omitempty"` 44 45 // Properties of the application gateway. 46 Properties *ApplicationGatewayPropertiesFormat `json:"properties,omitempty"` 47 48 // A list of availability zones denoting where the resource needs to come from. 49 Zones *[]string `json:"zones,omitempty"` 50} 51 52// Authentication certificates of an application gateway. 53type ApplicationGatewayAuthenticationCertificate struct { 54 SubResource 55 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 56 Etag *string `json:"etag,omitempty" azure:"ro"` 57 58 // Name of the authentication certificate that is unique within an Application Gateway. 59 Name *string `json:"name,omitempty"` 60 61 // Properties of the application gateway authentication certificate. 62 Properties *ApplicationGatewayAuthenticationCertificatePropertiesFormat `json:"properties,omitempty"` 63 64 // READ-ONLY; Type of the resource. 65 Type *string `json:"type,omitempty" azure:"ro"` 66} 67 68// Authentication certificates properties of an application gateway. 69type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct { 70 // Certificate public data. 71 Data *string `json:"data,omitempty"` 72 73 // READ-ONLY; The provisioning state of the authentication certificate resource. 74 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 75} 76 77// Application Gateway autoscale configuration. 78type ApplicationGatewayAutoscaleConfiguration struct { 79 // Upper bound on number of Application Gateway capacity. 80 MaxCapacity *int32 `json:"maxCapacity,omitempty"` 81 82 // Lower bound on number of Application Gateway capacity. 83 MinCapacity *int32 `json:"minCapacity,omitempty"` 84} 85 86// Response for ApplicationGatewayAvailableSslOptions API service call. 87type ApplicationGatewayAvailableSslOptions struct { 88 Resource 89 // Properties of the application gateway available SSL options. 90 Properties *ApplicationGatewayAvailableSslOptionsPropertiesFormat `json:"properties,omitempty"` 91} 92 93// Properties of ApplicationGatewayAvailableSslOptions. 94type ApplicationGatewayAvailableSslOptionsPropertiesFormat struct { 95 // List of available Ssl cipher suites. 96 AvailableCipherSuites *[]ApplicationGatewaySslCipherSuite `json:"availableCipherSuites,omitempty"` 97 98 // List of available Ssl protocols. 99 AvailableProtocols *[]ApplicationGatewaySslProtocol `json:"availableProtocols,omitempty"` 100 101 // Name of the Ssl predefined policy applied by default to application gateway. 102 DefaultPolicy *ApplicationGatewaySslPolicyName `json:"defaultPolicy,omitempty"` 103 104 // List of available Ssl predefined policy. 105 PredefinedPolicies *[]SubResource `json:"predefinedPolicies,omitempty"` 106} 107 108// ApplicationGatewayAvailableSslOptionsResponse is the response envelope for operations that return a ApplicationGatewayAvailableSslOptions type. 109type ApplicationGatewayAvailableSslOptionsResponse struct { 110 // Response for ApplicationGatewayAvailableSslOptions API service call. 111 ApplicationGatewayAvailableSslOptions *ApplicationGatewayAvailableSslOptions 112 113 // RawResponse contains the underlying HTTP response. 114 RawResponse *http.Response 115} 116 117// Response for ApplicationGatewayAvailableSslOptions API service call. 118type ApplicationGatewayAvailableSslPredefinedPolicies struct { 119 // URL to get the next set of results. 120 NextLink *string `json:"nextLink,omitempty"` 121 122 // List of available Ssl predefined policy. 123 Value *[]ApplicationGatewaySslPredefinedPolicy `json:"value,omitempty"` 124} 125 126// ApplicationGatewayAvailableSslPredefinedPoliciesResponse is the response envelope for operations that return a ApplicationGatewayAvailableSslPredefinedPolicies 127// type. 128type ApplicationGatewayAvailableSslPredefinedPoliciesResponse struct { 129 // Response for ApplicationGatewayAvailableSslOptions API service call. 130 ApplicationGatewayAvailableSslPredefinedPolicies *ApplicationGatewayAvailableSslPredefinedPolicies 131 132 // RawResponse contains the underlying HTTP response. 133 RawResponse *http.Response 134} 135 136// Response for ApplicationGatewayAvailableWafRuleSets API service call. 137type ApplicationGatewayAvailableWafRuleSetsResult struct { 138 // The list of application gateway rule sets. 139 Value *[]ApplicationGatewayFirewallRuleSet `json:"value,omitempty"` 140} 141 142// ApplicationGatewayAvailableWafRuleSetsResultResponse is the response envelope for operations that return a ApplicationGatewayAvailableWafRuleSetsResult 143// type. 144type ApplicationGatewayAvailableWafRuleSetsResultResponse struct { 145 // Response for ApplicationGatewayAvailableWafRuleSets API service call. 146 ApplicationGatewayAvailableWafRuleSetsResult *ApplicationGatewayAvailableWafRuleSetsResult 147 148 // RawResponse contains the underlying HTTP response. 149 RawResponse *http.Response 150} 151 152// Backend address of an application gateway. 153type ApplicationGatewayBackendAddress struct { 154 // Fully qualified domain name (FQDN). 155 Fqdn *string `json:"fqdn,omitempty"` 156 157 // IP address. 158 IPAddress *string `json:"ipAddress,omitempty"` 159} 160 161// Backend Address Pool of an application gateway. 162type ApplicationGatewayBackendAddressPool struct { 163 SubResource 164 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 165 Etag *string `json:"etag,omitempty" azure:"ro"` 166 167 // Name of the backend address pool that is unique within an Application Gateway. 168 Name *string `json:"name,omitempty"` 169 170 // Properties of the application gateway backend address pool. 171 Properties *ApplicationGatewayBackendAddressPoolPropertiesFormat `json:"properties,omitempty"` 172 173 // READ-ONLY; Type of the resource. 174 Type *string `json:"type,omitempty" azure:"ro"` 175} 176 177// Properties of Backend Address Pool of an application gateway. 178type ApplicationGatewayBackendAddressPoolPropertiesFormat struct { 179 // Backend addresses. 180 BackendAddresses *[]ApplicationGatewayBackendAddress `json:"backendAddresses,omitempty"` 181 182 // READ-ONLY; Collection of references to IPs defined in network interfaces. 183 BackendIPConfigurations *[]NetworkInterfaceIPConfiguration `json:"backendIPConfigurations,omitempty" azure:"ro"` 184 185 // READ-ONLY; The provisioning state of the backend address pool resource. 186 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 187} 188 189// Backend address pool settings of an application gateway. 190type ApplicationGatewayBackendHTTPSettings struct { 191 SubResource 192 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 193 Etag *string `json:"etag,omitempty" azure:"ro"` 194 195 // Name of the backend http settings that is unique within an Application Gateway. 196 Name *string `json:"name,omitempty"` 197 198 // Properties of the application gateway backend HTTP settings. 199 Properties *ApplicationGatewayBackendHTTPSettingsPropertiesFormat `json:"properties,omitempty"` 200 201 // READ-ONLY; Type of the resource. 202 Type *string `json:"type,omitempty" azure:"ro"` 203} 204 205// Properties of Backend address pool settings of an application gateway. 206type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct { 207 // Cookie name to use for the affinity cookie. 208 AffinityCookieName *string `json:"affinityCookieName,omitempty"` 209 210 // Array of references to application gateway authentication certificates. 211 AuthenticationCertificates *[]SubResource `json:"authenticationCertificates,omitempty"` 212 213 // Connection draining of the backend http settings resource. 214 ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"` 215 216 // Cookie based affinity. 217 CookieBasedAffinity *ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"` 218 219 // Host header to be sent to the backend servers. 220 HostName *string `json:"hostName,omitempty"` 221 222 // Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null. 223 Path *string `json:"path,omitempty"` 224 225 // Whether to pick host header should be picked from the host name of the backend server. Default value is false. 226 PickHostNameFromBackendAddress *bool `json:"pickHostNameFromBackendAddress,omitempty"` 227 228 // The destination port on the backend. 229 Port *int32 `json:"port,omitempty"` 230 231 // Probe resource of an application gateway. 232 Probe *SubResource `json:"probe,omitempty"` 233 234 // Whether the probe is enabled. Default value is false. 235 ProbeEnabled *bool `json:"probeEnabled,omitempty"` 236 237 // The protocol used to communicate with the backend. 238 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 239 240 // READ-ONLY; The provisioning state of the backend HTTP settings resource. 241 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 242 243 // Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 244 // second to 86400 seconds. 245 RequestTimeout *int32 `json:"requestTimeout,omitempty"` 246 247 // Array of references to application gateway trusted root certificates. 248 TrustedRootCertificates *[]SubResource `json:"trustedRootCertificates,omitempty"` 249} 250 251// Response for ApplicationGatewayBackendHealth API service call. 252type ApplicationGatewayBackendHealth struct { 253 // A list of ApplicationGatewayBackendHealthPool resources. 254 BackendAddressPools *[]ApplicationGatewayBackendHealthPool `json:"backendAddressPools,omitempty"` 255} 256 257// Application gateway BackendHealthHttp settings. 258type ApplicationGatewayBackendHealthHTTPSettings struct { 259 // Reference to an ApplicationGatewayBackendHttpSettings resource. 260 BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettings,omitempty"` 261 262 // List of ApplicationGatewayBackendHealthServer resources. 263 Servers *[]ApplicationGatewayBackendHealthServer `json:"servers,omitempty"` 264} 265 266// Result of on demand test probe. 267type ApplicationGatewayBackendHealthOnDemand struct { 268 // Reference to an ApplicationGatewayBackendAddressPool resource. 269 BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` 270 271 // Application gateway BackendHealthHttp settings. 272 BackendHealthHTTPSettings *ApplicationGatewayBackendHealthHTTPSettings `json:"backendHealthHttpSettings,omitempty"` 273} 274 275// ApplicationGatewayBackendHealthOnDemandPollerResponse is the response envelope for operations that asynchronously return a ApplicationGatewayBackendHealthOnDemand 276// type. 277type ApplicationGatewayBackendHealthOnDemandPollerResponse struct { 278 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 279 PollUntilDone func(ctx context.Context, frequency time.Duration) (ApplicationGatewayBackendHealthOnDemandResponse, error) 280 281 // Poller contains an initialized poller. 282 Poller ApplicationGatewayBackendHealthOnDemandPoller 283 284 // RawResponse contains the underlying HTTP response. 285 RawResponse *http.Response 286} 287 288// ApplicationGatewayBackendHealthOnDemandResponse is the response envelope for operations that return a ApplicationGatewayBackendHealthOnDemand type. 289type ApplicationGatewayBackendHealthOnDemandResponse struct { 290 // Result of on demand test probe. 291 ApplicationGatewayBackendHealthOnDemand *ApplicationGatewayBackendHealthOnDemand 292 293 // RawResponse contains the underlying HTTP response. 294 RawResponse *http.Response 295} 296 297// ApplicationGatewayBackendHealthPollerResponse is the response envelope for operations that asynchronously return a ApplicationGatewayBackendHealth type. 298type ApplicationGatewayBackendHealthPollerResponse struct { 299 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 300 PollUntilDone func(ctx context.Context, frequency time.Duration) (ApplicationGatewayBackendHealthResponse, error) 301 302 // Poller contains an initialized poller. 303 Poller ApplicationGatewayBackendHealthPoller 304 305 // RawResponse contains the underlying HTTP response. 306 RawResponse *http.Response 307} 308 309// Application gateway BackendHealth pool. 310type ApplicationGatewayBackendHealthPool struct { 311 // Reference to an ApplicationGatewayBackendAddressPool resource. 312 BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` 313 314 // List of ApplicationGatewayBackendHealthHttpSettings resources. 315 BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHealthHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` 316} 317 318// ApplicationGatewayBackendHealthResponse is the response envelope for operations that return a ApplicationGatewayBackendHealth type. 319type ApplicationGatewayBackendHealthResponse struct { 320 // Response for ApplicationGatewayBackendHealth API service call. 321 ApplicationGatewayBackendHealth *ApplicationGatewayBackendHealth 322 323 // RawResponse contains the underlying HTTP response. 324 RawResponse *http.Response 325} 326 327// Application gateway backendhealth http settings. 328type ApplicationGatewayBackendHealthServer struct { 329 // IP address or FQDN of backend server. 330 Address *string `json:"address,omitempty"` 331 332 // Health of backend server. 333 Health *ApplicationGatewayBackendHealthServerHealth `json:"health,omitempty"` 334 335 // Health Probe Log. 336 HealthProbeLog *string `json:"healthProbeLog,omitempty"` 337 338 // Reference to IP configuration of backend server. 339 IPConfiguration *NetworkInterfaceIPConfiguration `json:"ipConfiguration,omitempty"` 340} 341 342// Application gateway client authentication configuration. 343type ApplicationGatewayClientAuthConfiguration struct { 344 // Verify client certificate issuer name on the application gateway. 345 VerifyClientCertIssuerDn *bool `json:"verifyClientCertIssuerDN,omitempty"` 346} 347 348// Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration. 349type ApplicationGatewayConnectionDraining struct { 350 // The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds. 351 DrainTimeoutInSec *int32 `json:"drainTimeoutInSec,omitempty"` 352 353 // Whether connection draining is enabled or not. 354 Enabled *bool `json:"enabled,omitempty"` 355} 356 357// Customer error of an application gateway. 358type ApplicationGatewayCustomError struct { 359 // Error page URL of the application gateway customer error. 360 CustomErrorPageURL *string `json:"customErrorPageUrl,omitempty"` 361 362 // Status code of the application gateway customer error. 363 StatusCode *ApplicationGatewayCustomErrorStatusCode `json:"statusCode,omitempty"` 364} 365 366// Allows to disable rules within a rule group or an entire rule group. 367type ApplicationGatewayFirewallDisabledRuleGroup struct { 368 // The name of the rule group that will be disabled. 369 RuleGroupName *string `json:"ruleGroupName,omitempty"` 370 371 // The list of rules that will be disabled. If null, all rules of the rule group will be disabled. 372 Rules *[]int32 `json:"rules,omitempty"` 373} 374 375// Allow to exclude some variable satisfy the condition for the WAF check. 376type ApplicationGatewayFirewallExclusion struct { 377 // The variable to be excluded. 378 MatchVariable *string `json:"matchVariable,omitempty"` 379 380 // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. 381 Selector *string `json:"selector,omitempty"` 382 383 // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. 384 SelectorMatchOperator *string `json:"selectorMatchOperator,omitempty"` 385} 386 387// A web application firewall rule. 388type ApplicationGatewayFirewallRule struct { 389 // The description of the web application firewall rule. 390 Description *string `json:"description,omitempty"` 391 392 // The identifier of the web application firewall rule. 393 RuleID *int32 `json:"ruleId,omitempty"` 394} 395 396// A web application firewall rule group. 397type ApplicationGatewayFirewallRuleGroup struct { 398 // The description of the web application firewall rule group. 399 Description *string `json:"description,omitempty"` 400 401 // The name of the web application firewall rule group. 402 RuleGroupName *string `json:"ruleGroupName,omitempty"` 403 404 // The rules of the web application firewall rule group. 405 Rules *[]ApplicationGatewayFirewallRule `json:"rules,omitempty"` 406} 407 408// A web application firewall rule set. 409type ApplicationGatewayFirewallRuleSet struct { 410 Resource 411 // Properties of the application gateway firewall rule set. 412 Properties *ApplicationGatewayFirewallRuleSetPropertiesFormat `json:"properties,omitempty"` 413} 414 415// Properties of the web application firewall rule set. 416type ApplicationGatewayFirewallRuleSetPropertiesFormat struct { 417 // READ-ONLY; The provisioning state of the web application firewall rule set. 418 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 419 420 // The rule groups of the web application firewall rule set. 421 RuleGroups *[]ApplicationGatewayFirewallRuleGroup `json:"ruleGroups,omitempty"` 422 423 // The type of the web application firewall rule set. 424 RuleSetType *string `json:"ruleSetType,omitempty"` 425 426 // The version of the web application firewall rule set type. 427 RuleSetVersion *string `json:"ruleSetVersion,omitempty"` 428} 429 430// Frontend IP configuration of an application gateway. 431type ApplicationGatewayFrontendIPConfiguration struct { 432 SubResource 433 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 434 Etag *string `json:"etag,omitempty" azure:"ro"` 435 436 // Name of the frontend IP configuration that is unique within an Application Gateway. 437 Name *string `json:"name,omitempty"` 438 439 // Properties of the application gateway frontend IP configuration. 440 Properties *ApplicationGatewayFrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` 441 442 // READ-ONLY; Type of the resource. 443 Type *string `json:"type,omitempty" azure:"ro"` 444} 445 446// Properties of Frontend IP configuration of an application gateway. 447type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct { 448 // PrivateIPAddress of the network interface IP Configuration. 449 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 450 451 // The private IP address allocation method. 452 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 453 454 // Reference to the application gateway private link configuration. 455 PrivateLinkConfiguration *SubResource `json:"privateLinkConfiguration,omitempty"` 456 457 // READ-ONLY; The provisioning state of the frontend IP configuration resource. 458 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 459 460 // Reference to the PublicIP resource. 461 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 462 463 // Reference to the subnet resource. 464 Subnet *SubResource `json:"subnet,omitempty"` 465} 466 467// Frontend port of an application gateway. 468type ApplicationGatewayFrontendPort struct { 469 SubResource 470 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 471 Etag *string `json:"etag,omitempty" azure:"ro"` 472 473 // Name of the frontend port that is unique within an Application Gateway. 474 Name *string `json:"name,omitempty"` 475 476 // Properties of the application gateway frontend port. 477 Properties *ApplicationGatewayFrontendPortPropertiesFormat `json:"properties,omitempty"` 478 479 // READ-ONLY; Type of the resource. 480 Type *string `json:"type,omitempty" azure:"ro"` 481} 482 483// Properties of Frontend port of an application gateway. 484type ApplicationGatewayFrontendPortPropertiesFormat struct { 485 // Frontend port. 486 Port *int32 `json:"port,omitempty"` 487 488 // READ-ONLY; The provisioning state of the frontend port resource. 489 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 490} 491 492// Http listener of an application gateway. 493type ApplicationGatewayHTTPListener struct { 494 SubResource 495 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 496 Etag *string `json:"etag,omitempty" azure:"ro"` 497 498 // Name of the HTTP listener that is unique within an Application Gateway. 499 Name *string `json:"name,omitempty"` 500 501 // Properties of the application gateway HTTP listener. 502 Properties *ApplicationGatewayHTTPListenerPropertiesFormat `json:"properties,omitempty"` 503 504 // READ-ONLY; Type of the resource. 505 Type *string `json:"type,omitempty" azure:"ro"` 506} 507 508// Properties of HTTP listener of an application gateway. 509type ApplicationGatewayHTTPListenerPropertiesFormat struct { 510 // Custom error configurations of the HTTP listener. 511 CustomErrorConfigurations *[]ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` 512 513 // Reference to the FirewallPolicy resource. 514 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 515 516 // Frontend IP configuration resource of an application gateway. 517 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 518 519 // Frontend port resource of an application gateway. 520 FrontendPort *SubResource `json:"frontendPort,omitempty"` 521 522 // Host name of HTTP listener. 523 HostName *string `json:"hostName,omitempty"` 524 525 // List of Host names for HTTP Listener that allows special wildcard characters as well. 526 HostNames *[]string `json:"hostNames,omitempty"` 527 528 // Protocol of the HTTP listener. 529 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 530 531 // READ-ONLY; The provisioning state of the HTTP listener resource. 532 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 533 534 // Applicable only if protocol is https. Enables SNI for multi-hosting. 535 RequireServerNameIndication *bool `json:"requireServerNameIndication,omitempty"` 536 537 // SSL certificate resource of an application gateway. 538 SslCertificate *SubResource `json:"sslCertificate,omitempty"` 539 540 // SSL profile resource of the application gateway. 541 SslProfile *SubResource `json:"sslProfile,omitempty"` 542} 543 544// Header configuration of the Actions set in Application Gateway. 545type ApplicationGatewayHeaderConfiguration struct { 546 // Header name of the header configuration. 547 HeaderName *string `json:"headerName,omitempty"` 548 549 // Header value of the header configuration. 550 HeaderValue *string `json:"headerValue,omitempty"` 551} 552 553// IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 554type ApplicationGatewayIPConfiguration struct { 555 SubResource 556 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 557 Etag *string `json:"etag,omitempty" azure:"ro"` 558 559 // Name of the IP configuration that is unique within an Application Gateway. 560 Name *string `json:"name,omitempty"` 561 562 // Properties of the application gateway IP configuration. 563 Properties *ApplicationGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` 564 565 // READ-ONLY; Type of the resource. 566 Type *string `json:"type,omitempty" azure:"ro"` 567} 568 569// Properties of IP configuration of an application gateway. 570type ApplicationGatewayIPConfigurationPropertiesFormat struct { 571 // READ-ONLY; The provisioning state of the application gateway IP configuration resource. 572 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 573 574 // Reference to the subnet resource. A subnet from where application gateway gets its private address. 575 Subnet *SubResource `json:"subnet,omitempty"` 576} 577 578// Response for ListApplicationGateways API service call. 579type ApplicationGatewayListResult struct { 580 // URL to get the next set of results. 581 NextLink *string `json:"nextLink,omitempty"` 582 583 // List of an application gateways in a resource group. 584 Value *[]ApplicationGateway `json:"value,omitempty"` 585} 586 587// ApplicationGatewayListResultResponse is the response envelope for operations that return a ApplicationGatewayListResult type. 588type ApplicationGatewayListResultResponse struct { 589 // Response for ListApplicationGateways API service call. 590 ApplicationGatewayListResult *ApplicationGatewayListResult 591 592 // RawResponse contains the underlying HTTP response. 593 RawResponse *http.Response 594} 595 596// Details of on demand test probe request. 597type ApplicationGatewayOnDemandProbe struct { 598 // Reference to backend pool of application gateway to which probe request will be sent. 599 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 600 601 // Reference to backend http setting of application gateway to be used for test probe. 602 BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` 603 604 // Host name to send the probe to. 605 Host *string `json:"host,omitempty"` 606 607 // Criterion for classifying a healthy probe response. 608 Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` 609 610 // Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. 611 Path *string `json:"path,omitempty"` 612 613 // Whether the host header should be picked from the backend http settings. Default value is false. 614 PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` 615 616 // The protocol used for the probe. 617 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 618 619 // 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 620 // to 86400 seconds. 621 Timeout *int32 `json:"timeout,omitempty"` 622} 623 624// Path rule of URL path map of an application gateway. 625type ApplicationGatewayPathRule struct { 626 SubResource 627 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 628 Etag *string `json:"etag,omitempty" azure:"ro"` 629 630 // Name of the path rule that is unique within an Application Gateway. 631 Name *string `json:"name,omitempty"` 632 633 // Properties of the application gateway path rule. 634 Properties *ApplicationGatewayPathRulePropertiesFormat `json:"properties,omitempty"` 635 636 // READ-ONLY; Type of the resource. 637 Type *string `json:"type,omitempty" azure:"ro"` 638} 639 640// Properties of path rule of an application gateway. 641type ApplicationGatewayPathRulePropertiesFormat struct { 642 // Backend address pool resource of URL path map path rule. 643 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 644 645 // Backend http settings resource of URL path map path rule. 646 BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` 647 648 // Reference to the FirewallPolicy resource. 649 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 650 651 // Path rules of URL path map. 652 Paths *[]string `json:"paths,omitempty"` 653 654 // READ-ONLY; The provisioning state of the path rule resource. 655 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 656 657 // Redirect configuration resource of URL path map path rule. 658 RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` 659 660 // Rewrite rule set resource of URL path map path rule. 661 RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` 662} 663 664// ApplicationGatewayPollerResponse is the response envelope for operations that asynchronously return a ApplicationGateway type. 665type ApplicationGatewayPollerResponse struct { 666 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 667 PollUntilDone func(ctx context.Context, frequency time.Duration) (ApplicationGatewayResponse, error) 668 669 // Poller contains an initialized poller. 670 Poller ApplicationGatewayPoller 671 672 // RawResponse contains the underlying HTTP response. 673 RawResponse *http.Response 674} 675 676// Private Endpoint connection on an application gateway. 677type ApplicationGatewayPrivateEndpointConnection struct { 678 SubResource 679 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 680 Etag *string `json:"etag,omitempty" azure:"ro"` 681 682 // Name of the private endpoint connection on an application gateway. 683 Name *string `json:"name,omitempty"` 684 685 // Properties of the application gateway private endpoint connection. 686 Properties *ApplicationGatewayPrivateEndpointConnectionProperties `json:"properties,omitempty"` 687 688 // READ-ONLY; Type of the resource. 689 Type *string `json:"type,omitempty" azure:"ro"` 690} 691 692// Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private endpoint connections for an application gateway. 693type ApplicationGatewayPrivateEndpointConnectionListResult struct { 694 // URL to get the next set of results. 695 NextLink *string `json:"nextLink,omitempty"` 696 697 // List of private endpoint connections on an application gateway. 698 Value *[]ApplicationGatewayPrivateEndpointConnection `json:"value,omitempty"` 699} 700 701// ApplicationGatewayPrivateEndpointConnectionListResultResponse is the response envelope for operations that return a ApplicationGatewayPrivateEndpointConnectionListResult 702// type. 703type ApplicationGatewayPrivateEndpointConnectionListResultResponse struct { 704 // Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private endpoint connections for an application gateway. 705 ApplicationGatewayPrivateEndpointConnectionListResult *ApplicationGatewayPrivateEndpointConnectionListResult 706 707 // RawResponse contains the underlying HTTP response. 708 RawResponse *http.Response 709} 710 711// ApplicationGatewayPrivateEndpointConnectionPollerResponse is the response envelope for operations that asynchronously return a ApplicationGatewayPrivateEndpointConnection 712// type. 713type ApplicationGatewayPrivateEndpointConnectionPollerResponse struct { 714 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 715 PollUntilDone func(ctx context.Context, frequency time.Duration) (ApplicationGatewayPrivateEndpointConnectionResponse, error) 716 717 // Poller contains an initialized poller. 718 Poller ApplicationGatewayPrivateEndpointConnectionPoller 719 720 // RawResponse contains the underlying HTTP response. 721 RawResponse *http.Response 722} 723 724// Properties of Private Link Resource of an application gateway. 725type ApplicationGatewayPrivateEndpointConnectionProperties struct { 726 // READ-ONLY; The consumer link id. 727 LinkIDentifier *string `json:"linkIdentifier,omitempty" azure:"ro"` 728 729 // READ-ONLY; The resource of private end point. 730 PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` 731 732 // A collection of information about the state of the connection between service consumer and provider. 733 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` 734 735 // READ-ONLY; The provisioning state of the application gateway private endpoint connection resource. 736 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 737} 738 739// ApplicationGatewayPrivateEndpointConnectionResponse is the response envelope for operations that return a ApplicationGatewayPrivateEndpointConnection 740// type. 741type ApplicationGatewayPrivateEndpointConnectionResponse struct { 742 // Private Endpoint connection on an application gateway. 743 ApplicationGatewayPrivateEndpointConnection *ApplicationGatewayPrivateEndpointConnection 744 745 // RawResponse contains the underlying HTTP response. 746 RawResponse *http.Response 747} 748 749// ApplicationGatewayPrivateEndpointConnectionsBeginDeleteOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.BeginDelete 750// method. 751type ApplicationGatewayPrivateEndpointConnectionsBeginDeleteOptions struct { 752 // placeholder for future optional parameters 753} 754 755// ApplicationGatewayPrivateEndpointConnectionsBeginUpdateOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.BeginUpdate 756// method. 757type ApplicationGatewayPrivateEndpointConnectionsBeginUpdateOptions struct { 758 // placeholder for future optional parameters 759} 760 761// ApplicationGatewayPrivateEndpointConnectionsGetOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.Get method. 762type ApplicationGatewayPrivateEndpointConnectionsGetOptions struct { 763 // placeholder for future optional parameters 764} 765 766// ApplicationGatewayPrivateEndpointConnectionsListOptions contains the optional parameters for the ApplicationGatewayPrivateEndpointConnections.List method. 767type ApplicationGatewayPrivateEndpointConnectionsListOptions struct { 768 // placeholder for future optional parameters 769} 770 771// Private Link Configuration on an application gateway. 772type ApplicationGatewayPrivateLinkConfiguration struct { 773 SubResource 774 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 775 Etag *string `json:"etag,omitempty" azure:"ro"` 776 777 // Name of the private link configuration that is unique within an Application Gateway. 778 Name *string `json:"name,omitempty"` 779 780 // Properties of the application gateway private link configuration. 781 Properties *ApplicationGatewayPrivateLinkConfigurationProperties `json:"properties,omitempty"` 782 783 // READ-ONLY; Type of the resource. 784 Type *string `json:"type,omitempty" azure:"ro"` 785} 786 787// Properties of private link configuration on an application gateway. 788type ApplicationGatewayPrivateLinkConfigurationProperties struct { 789 // An array of application gateway private link ip configurations. 790 IPConfigurations *[]ApplicationGatewayPrivateLinkIPConfiguration `json:"ipConfigurations,omitempty"` 791 792 // READ-ONLY; The provisioning state of the application gateway private link configuration. 793 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 794} 795 796// The application gateway private link ip configuration. 797type ApplicationGatewayPrivateLinkIPConfiguration struct { 798 SubResource 799 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 800 Etag *string `json:"etag,omitempty" azure:"ro"` 801 802 // The name of application gateway private link ip configuration. 803 Name *string `json:"name,omitempty"` 804 805 // Properties of an application gateway private link ip configuration. 806 Properties *ApplicationGatewayPrivateLinkIPConfigurationProperties `json:"properties,omitempty"` 807 808 // READ-ONLY; The resource type. 809 Type *string `json:"type,omitempty" azure:"ro"` 810} 811 812// Properties of an application gateway private link IP configuration. 813type ApplicationGatewayPrivateLinkIPConfigurationProperties struct { 814 // Whether the ip configuration is primary or not. 815 Primary *bool `json:"primary,omitempty"` 816 817 // The private IP address of the IP configuration. 818 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 819 820 // The private IP address allocation method. 821 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 822 823 // READ-ONLY; The provisioning state of the application gateway private link IP configuration. 824 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 825 826 // Reference to the subnet resource. 827 Subnet *SubResource `json:"subnet,omitempty"` 828} 829 830// PrivateLink Resource of an application gateway. 831type ApplicationGatewayPrivateLinkResource struct { 832 SubResource 833 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 834 Etag *string `json:"etag,omitempty" azure:"ro"` 835 836 // Name of the private link resource that is unique within an Application Gateway. 837 Name *string `json:"name,omitempty"` 838 839 // Properties of the application gateway private link resource. 840 Properties *ApplicationGatewayPrivateLinkResourceProperties `json:"properties,omitempty"` 841 842 // READ-ONLY; Type of the resource. 843 Type *string `json:"type,omitempty" azure:"ro"` 844} 845 846// Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources for an application gateway. 847type ApplicationGatewayPrivateLinkResourceListResult struct { 848 // URL to get the next set of results. 849 NextLink *string `json:"nextLink,omitempty"` 850 851 // List of private link resources of an application gateway. 852 Value *[]ApplicationGatewayPrivateLinkResource `json:"value,omitempty"` 853} 854 855// ApplicationGatewayPrivateLinkResourceListResultResponse is the response envelope for operations that return a ApplicationGatewayPrivateLinkResourceListResult 856// type. 857type ApplicationGatewayPrivateLinkResourceListResultResponse struct { 858 // Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources for an application gateway. 859 ApplicationGatewayPrivateLinkResourceListResult *ApplicationGatewayPrivateLinkResourceListResult 860 861 // RawResponse contains the underlying HTTP response. 862 RawResponse *http.Response 863} 864 865// Properties of a private link resource. 866type ApplicationGatewayPrivateLinkResourceProperties struct { 867 // READ-ONLY; Group identifier of private link resource. 868 GroupID *string `json:"groupId,omitempty" azure:"ro"` 869 870 // READ-ONLY; Required member names of private link resource. 871 RequiredMembers *[]string `json:"requiredMembers,omitempty" azure:"ro"` 872 873 // Required DNS zone names of the the private link resource. 874 RequiredZoneNames *[]string `json:"requiredZoneNames,omitempty"` 875} 876 877// ApplicationGatewayPrivateLinkResourcesListOptions contains the optional parameters for the ApplicationGatewayPrivateLinkResources.List method. 878type ApplicationGatewayPrivateLinkResourcesListOptions struct { 879 // placeholder for future optional parameters 880} 881 882// Probe of the application gateway. 883type ApplicationGatewayProbe struct { 884 SubResource 885 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 886 Etag *string `json:"etag,omitempty" azure:"ro"` 887 888 // Name of the probe that is unique within an Application Gateway. 889 Name *string `json:"name,omitempty"` 890 891 // Properties of the application gateway probe. 892 Properties *ApplicationGatewayProbePropertiesFormat `json:"properties,omitempty"` 893 894 // READ-ONLY; Type of the resource. 895 Type *string `json:"type,omitempty" azure:"ro"` 896} 897 898// Application gateway probe health response match. 899type ApplicationGatewayProbeHealthResponseMatch struct { 900 // Body that must be contained in the health response. Default value is empty. 901 Body *string `json:"body,omitempty"` 902 903 // Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399. 904 StatusCodes *[]string `json:"statusCodes,omitempty"` 905} 906 907// Properties of probe of an application gateway. 908type ApplicationGatewayProbePropertiesFormat struct { 909 // Host name to send the probe to. 910 Host *string `json:"host,omitempty"` 911 912 // The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. 913 Interval *int32 `json:"interval,omitempty"` 914 915 // Criterion for classifying a healthy probe response. 916 Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` 917 918 // Minimum number of servers that are always marked healthy. Default value is 0. 919 MinServers *int32 `json:"minServers,omitempty"` 920 921 // Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. 922 Path *string `json:"path,omitempty"` 923 924 // Whether the host header should be picked from the backend http settings. Default value is false. 925 PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` 926 927 // 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 928 // be used. This property is valid for Standardv2 and 929 // WAFv2 only. 930 Port *int32 `json:"port,omitempty"` 931 932 // The protocol used for the probe. 933 Protocol *ApplicationGatewayProtocol `json:"protocol,omitempty"` 934 935 // READ-ONLY; The provisioning state of the probe resource. 936 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 937 938 // 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 939 // to 86400 seconds. 940 Timeout *int32 `json:"timeout,omitempty"` 941 942 // The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 943 // to 20. 944 UnhealthyThreshold *int32 `json:"unhealthyThreshold,omitempty"` 945} 946 947// Properties of the application gateway. 948type ApplicationGatewayPropertiesFormat struct { 949 // Authentication certificates of the application gateway resource. For default limits, see Application Gateway limits 950 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 951 AuthenticationCertificates *[]ApplicationGatewayAuthenticationCertificate `json:"authenticationCertificates,omitempty"` 952 953 // Autoscale Configuration. 954 AutoscaleConfiguration *ApplicationGatewayAutoscaleConfiguration `json:"autoscaleConfiguration,omitempty"` 955 956 // Backend address pool of the application gateway resource. For default limits, see Application Gateway limits 957 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 958 BackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"backendAddressPools,omitempty"` 959 960 // Backend http settings of the application gateway resource. For default limits, see Application Gateway limits 961 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 962 BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` 963 964 // Custom error configurations of the application gateway resource. 965 CustomErrorConfigurations *[]ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` 966 967 // Whether FIPS is enabled on the application gateway resource. 968 EnableFips *bool `json:"enableFips,omitempty"` 969 970 // Whether HTTP2 is enabled on the application gateway resource. 971 EnableHTTP2 *bool `json:"enableHttp2,omitempty"` 972 973 // Reference to the FirewallPolicy resource. 974 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 975 976 // If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config. 977 ForceFirewallPolicyAssociation *bool `json:"forceFirewallPolicyAssociation,omitempty"` 978 979 // Frontend IP addresses of the application gateway resource. For default limits, see Application Gateway limits 980 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 981 FrontendIPConfigurations *[]ApplicationGatewayFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` 982 983 // 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]. 984 FrontendPorts *[]ApplicationGatewayFrontendPort `json:"frontendPorts,omitempty"` 985 986 // 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]. 987 GatewayIPConfigurations *[]ApplicationGatewayIPConfiguration `json:"gatewayIPConfigurations,omitempty"` 988 989 // 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]. 990 HTTPListeners *[]ApplicationGatewayHTTPListener `json:"httpListeners,omitempty"` 991 992 // READ-ONLY; Operational state of the application gateway resource. 993 OperationalState *ApplicationGatewayOperationalState `json:"operationalState,omitempty" azure:"ro"` 994 995 // READ-ONLY; Private Endpoint connections on application gateway. 996 PrivateEndpointConnections *[]ApplicationGatewayPrivateEndpointConnection `json:"privateEndpointConnections,omitempty" azure:"ro"` 997 998 // PrivateLink configurations on application gateway. 999 PrivateLinkConfigurations *[]ApplicationGatewayPrivateLinkConfiguration `json:"privateLinkConfigurations,omitempty"` 1000 1001 // Probes of the application gateway resource. 1002 Probes *[]ApplicationGatewayProbe `json:"probes,omitempty"` 1003 1004 // READ-ONLY; The provisioning state of the application gateway resource. 1005 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1006 1007 // Redirect configurations of the application gateway resource. For default limits, see Application Gateway limits 1008 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1009 RedirectConfigurations *[]ApplicationGatewayRedirectConfiguration `json:"redirectConfigurations,omitempty"` 1010 1011 // Request routing rules of the application gateway resource. 1012 RequestRoutingRules *[]ApplicationGatewayRequestRoutingRule `json:"requestRoutingRules,omitempty"` 1013 1014 // READ-ONLY; The resource GUID property of the application gateway resource. 1015 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 1016 1017 // Rewrite rules for the application gateway resource. 1018 RewriteRuleSets *[]ApplicationGatewayRewriteRuleSet `json:"rewriteRuleSets,omitempty"` 1019 1020 // SKU of the application gateway resource. 1021 SKU *ApplicationGatewaySKU `json:"sku,omitempty"` 1022 1023 // 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] 1024 // . 1025 SslCertificates *[]ApplicationGatewaySslCertificate `json:"sslCertificates,omitempty"` 1026 1027 // SSL policy of the application gateway resource. 1028 SslPolicy *ApplicationGatewaySslPolicy `json:"sslPolicy,omitempty"` 1029 1030 // 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]. 1031 SslProfiles *[]ApplicationGatewaySslProfile `json:"sslProfiles,omitempty"` 1032 1033 // Trusted client certificates of the application gateway resource. For default limits, see Application Gateway limits 1034 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1035 TrustedClientCertificates *[]ApplicationGatewayTrustedClientCertificate `json:"trustedClientCertificates,omitempty"` 1036 1037 // Trusted Root certificates of the application gateway resource. For default limits, see Application Gateway limits 1038 // [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]. 1039 TrustedRootCertificates *[]ApplicationGatewayTrustedRootCertificate `json:"trustedRootCertificates,omitempty"` 1040 1041 // 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]. 1042 URLPathMaps *[]ApplicationGatewayURLPathMap `json:"urlPathMaps,omitempty"` 1043 1044 // Web application firewall configuration. 1045 WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration `json:"webApplicationFirewallConfiguration,omitempty"` 1046} 1047 1048// Redirect configuration of an application gateway. 1049type ApplicationGatewayRedirectConfiguration struct { 1050 SubResource 1051 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1052 Etag *string `json:"etag,omitempty" azure:"ro"` 1053 1054 // Name of the redirect configuration that is unique within an Application Gateway. 1055 Name *string `json:"name,omitempty"` 1056 1057 // Properties of the application gateway redirect configuration. 1058 Properties *ApplicationGatewayRedirectConfigurationPropertiesFormat `json:"properties,omitempty"` 1059 1060 // READ-ONLY; Type of the resource. 1061 Type *string `json:"type,omitempty" azure:"ro"` 1062} 1063 1064// Properties of redirect configuration of the application gateway. 1065type ApplicationGatewayRedirectConfigurationPropertiesFormat struct { 1066 // Include path in the redirected url. 1067 IncludePath *bool `json:"includePath,omitempty"` 1068 1069 // Include query string in the redirected url. 1070 IncludeQueryString *bool `json:"includeQueryString,omitempty"` 1071 1072 // Path rules specifying redirect configuration. 1073 PathRules *[]SubResource `json:"pathRules,omitempty"` 1074 1075 // HTTP redirection type. 1076 RedirectType *ApplicationGatewayRedirectType `json:"redirectType,omitempty"` 1077 1078 // Request routing specifying redirect configuration. 1079 RequestRoutingRules *[]SubResource `json:"requestRoutingRules,omitempty"` 1080 1081 // Reference to a listener to redirect the request to. 1082 TargetListener *SubResource `json:"targetListener,omitempty"` 1083 1084 // Url to redirect the request to. 1085 TargetURL *string `json:"targetUrl,omitempty"` 1086 1087 // Url path maps specifying default redirect configuration. 1088 URLPathMaps *[]SubResource `json:"urlPathMaps,omitempty"` 1089} 1090 1091// Request routing rule of an application gateway. 1092type ApplicationGatewayRequestRoutingRule struct { 1093 SubResource 1094 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1095 Etag *string `json:"etag,omitempty" azure:"ro"` 1096 1097 // Name of the request routing rule that is unique within an Application Gateway. 1098 Name *string `json:"name,omitempty"` 1099 1100 // Properties of the application gateway request routing rule. 1101 Properties *ApplicationGatewayRequestRoutingRulePropertiesFormat `json:"properties,omitempty"` 1102 1103 // READ-ONLY; Type of the resource. 1104 Type *string `json:"type,omitempty" azure:"ro"` 1105} 1106 1107// Properties of request routing rule of the application gateway. 1108type ApplicationGatewayRequestRoutingRulePropertiesFormat struct { 1109 // Backend address pool resource of the application gateway. 1110 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 1111 1112 // Backend http settings resource of the application gateway. 1113 BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` 1114 1115 // Http listener resource of the application gateway. 1116 HTTPListener *SubResource `json:"httpListener,omitempty"` 1117 1118 // Priority of the request routing rule. 1119 Priority *int32 `json:"priority,omitempty"` 1120 1121 // READ-ONLY; The provisioning state of the request routing rule resource. 1122 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1123 1124 // Redirect configuration resource of the application gateway. 1125 RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` 1126 1127 // Rewrite Rule Set resource in Basic rule of the application gateway. 1128 RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` 1129 1130 // Rule type. 1131 RuleType *ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"` 1132 1133 // URL path map resource of the application gateway. 1134 URLPathMap *SubResource `json:"urlPathMap,omitempty"` 1135} 1136 1137// ApplicationGatewayResponse is the response envelope for operations that return a ApplicationGateway type. 1138type ApplicationGatewayResponse struct { 1139 // Application gateway resource. 1140 ApplicationGateway *ApplicationGateway 1141 1142 // RawResponse contains the underlying HTTP response. 1143 RawResponse *http.Response 1144} 1145 1146// Rewrite rule of an application gateway. 1147type ApplicationGatewayRewriteRule struct { 1148 // Set of actions to be done as part of the rewrite Rule. 1149 ActionSet *ApplicationGatewayRewriteRuleActionSet `json:"actionSet,omitempty"` 1150 1151 // Conditions based on which the action set execution will be evaluated. 1152 Conditions *[]ApplicationGatewayRewriteRuleCondition `json:"conditions,omitempty"` 1153 1154 // Name of the rewrite rule that is unique within an Application Gateway. 1155 Name *string `json:"name,omitempty"` 1156 1157 // Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet. 1158 RuleSequence *int32 `json:"ruleSequence,omitempty"` 1159} 1160 1161// Set of actions in the Rewrite Rule in Application Gateway. 1162type ApplicationGatewayRewriteRuleActionSet struct { 1163 // Request Header Actions in the Action Set. 1164 RequestHeaderConfigurations *[]ApplicationGatewayHeaderConfiguration `json:"requestHeaderConfigurations,omitempty"` 1165 1166 // Response Header Actions in the Action Set. 1167 ResponseHeaderConfigurations *[]ApplicationGatewayHeaderConfiguration `json:"responseHeaderConfigurations,omitempty"` 1168 1169 // Url Configuration Action in the Action Set. 1170 URLConfiguration *ApplicationGatewayURLConfiguration `json:"urlConfiguration,omitempty"` 1171} 1172 1173// Set of conditions in the Rewrite Rule in Application Gateway. 1174type ApplicationGatewayRewriteRuleCondition struct { 1175 // Setting this paramter to truth value with force the pattern to do a case in-sensitive comparison. 1176 IgnoreCase *bool `json:"ignoreCase,omitempty"` 1177 1178 // Setting this value as truth will force to check the negation of the condition given by the user. 1179 Negate *bool `json:"negate,omitempty"` 1180 1181 // The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition. 1182 Pattern *string `json:"pattern,omitempty"` 1183 1184 // The condition parameter of the RewriteRuleCondition. 1185 Variable *string `json:"variable,omitempty"` 1186} 1187 1188// Rewrite rule set of an application gateway. 1189type ApplicationGatewayRewriteRuleSet struct { 1190 SubResource 1191 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1192 Etag *string `json:"etag,omitempty" azure:"ro"` 1193 1194 // Name of the rewrite rule set that is unique within an Application Gateway. 1195 Name *string `json:"name,omitempty"` 1196 1197 // Properties of the application gateway rewrite rule set. 1198 Properties *ApplicationGatewayRewriteRuleSetPropertiesFormat `json:"properties,omitempty"` 1199} 1200 1201// Properties of rewrite rule set of the application gateway. 1202type ApplicationGatewayRewriteRuleSetPropertiesFormat struct { 1203 // READ-ONLY; The provisioning state of the rewrite rule set resource. 1204 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1205 1206 // Rewrite rules in the rewrite rule set. 1207 RewriteRules *[]ApplicationGatewayRewriteRule `json:"rewriteRules,omitempty"` 1208} 1209 1210// SKU of an application gateway. 1211type ApplicationGatewaySKU struct { 1212 // Capacity (instance count) of an application gateway. 1213 Capacity *int32 `json:"capacity,omitempty"` 1214 1215 // Name of an application gateway SKU. 1216 Name *ApplicationGatewaySKUName `json:"name,omitempty"` 1217 1218 // Tier of an application gateway. 1219 Tier *ApplicationGatewayTier `json:"tier,omitempty"` 1220} 1221 1222// SSL certificates of an application gateway. 1223type ApplicationGatewaySslCertificate struct { 1224 SubResource 1225 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1226 Etag *string `json:"etag,omitempty" azure:"ro"` 1227 1228 // Name of the SSL certificate that is unique within an Application Gateway. 1229 Name *string `json:"name,omitempty"` 1230 1231 // Properties of the application gateway SSL certificate. 1232 Properties *ApplicationGatewaySslCertificatePropertiesFormat `json:"properties,omitempty"` 1233 1234 // READ-ONLY; Type of the resource. 1235 Type *string `json:"type,omitempty" azure:"ro"` 1236} 1237 1238// Properties of SSL certificates of an application gateway. 1239type ApplicationGatewaySslCertificatePropertiesFormat struct { 1240 // Base-64 encoded pfx certificate. Only applicable in PUT Request. 1241 Data *string `json:"data,omitempty"` 1242 1243 // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. 1244 KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` 1245 1246 // Password for the pfx file specified in data. Only applicable in PUT request. 1247 Password *string `json:"password,omitempty"` 1248 1249 // READ-ONLY; The provisioning state of the SSL certificate resource. 1250 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1251 1252 // READ-ONLY; Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. 1253 PublicCertData *string `json:"publicCertData,omitempty" azure:"ro"` 1254} 1255 1256// Application Gateway Ssl policy. 1257type ApplicationGatewaySslPolicy struct { 1258 // Ssl cipher suites to be enabled in the specified order to application gateway. 1259 CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` 1260 1261 // Ssl protocols to be disabled on application gateway. 1262 DisabledSslProtocols *[]ApplicationGatewaySslProtocol `json:"disabledSslProtocols,omitempty"` 1263 1264 // Minimum version of Ssl protocol to be supported on application gateway. 1265 MinProtocolVersion *ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` 1266 1267 // Name of Ssl predefined policy. 1268 PolicyName *ApplicationGatewaySslPolicyName `json:"policyName,omitempty"` 1269 1270 // Type of Ssl Policy. 1271 PolicyType *ApplicationGatewaySslPolicyType `json:"policyType,omitempty"` 1272} 1273 1274// An Ssl predefined policy. 1275type ApplicationGatewaySslPredefinedPolicy struct { 1276 SubResource 1277 // Name of the Ssl predefined policy. 1278 Name *string `json:"name,omitempty"` 1279 1280 // Properties of the application gateway SSL predefined policy. 1281 Properties *ApplicationGatewaySslPredefinedPolicyPropertiesFormat `json:"properties,omitempty"` 1282} 1283 1284// Properties of ApplicationGatewaySslPredefinedPolicy. 1285type ApplicationGatewaySslPredefinedPolicyPropertiesFormat struct { 1286 // Ssl cipher suites to be enabled in the specified order for application gateway. 1287 CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` 1288 1289 // Minimum version of Ssl protocol to be supported on application gateway. 1290 MinProtocolVersion *ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` 1291} 1292 1293// ApplicationGatewaySslPredefinedPolicyResponse is the response envelope for operations that return a ApplicationGatewaySslPredefinedPolicy type. 1294type ApplicationGatewaySslPredefinedPolicyResponse struct { 1295 // An Ssl predefined policy. 1296 ApplicationGatewaySslPredefinedPolicy *ApplicationGatewaySslPredefinedPolicy 1297 1298 // RawResponse contains the underlying HTTP response. 1299 RawResponse *http.Response 1300} 1301 1302// SSL profile of an application gateway. 1303type ApplicationGatewaySslProfile struct { 1304 SubResource 1305 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1306 Etag *string `json:"etag,omitempty" azure:"ro"` 1307 1308 // Name of the SSL profile that is unique within an Application Gateway. 1309 Name *string `json:"name,omitempty"` 1310 1311 // Properties of the application gateway SSL profile. 1312 Properties *ApplicationGatewaySslProfilePropertiesFormat `json:"properties,omitempty"` 1313 1314 // READ-ONLY; Type of the resource. 1315 Type *string `json:"type,omitempty" azure:"ro"` 1316} 1317 1318// Properties of SSL profile of an application gateway. 1319type ApplicationGatewaySslProfilePropertiesFormat struct { 1320 // Client authentication configuration of the application gateway resource. 1321 ClientAuthConfiguration *ApplicationGatewayClientAuthConfiguration `json:"clientAuthConfiguration,omitempty"` 1322 1323 // READ-ONLY; The provisioning state of the HTTP listener resource. 1324 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1325 1326 // SSL policy of the application gateway resource. 1327 SslPolicy *ApplicationGatewaySslPolicy `json:"sslPolicy,omitempty"` 1328 1329 // Array of references to application gateway trusted client certificates. 1330 TrustedClientCertificates *[]SubResource `json:"trustedClientCertificates,omitempty"` 1331} 1332 1333// Trusted client certificates of an application gateway. 1334type ApplicationGatewayTrustedClientCertificate struct { 1335 SubResource 1336 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1337 Etag *string `json:"etag,omitempty" azure:"ro"` 1338 1339 // Name of the trusted client certificate that is unique within an Application Gateway. 1340 Name *string `json:"name,omitempty"` 1341 1342 // Properties of the application gateway trusted client certificate. 1343 Properties *ApplicationGatewayTrustedClientCertificatePropertiesFormat `json:"properties,omitempty"` 1344 1345 // READ-ONLY; Type of the resource. 1346 Type *string `json:"type,omitempty" azure:"ro"` 1347} 1348 1349// Trusted client certificates properties of an application gateway. 1350type ApplicationGatewayTrustedClientCertificatePropertiesFormat struct { 1351 // Certificate public data. 1352 Data *string `json:"data,omitempty"` 1353 1354 // READ-ONLY; The provisioning state of the trusted client certificate resource. 1355 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1356} 1357 1358// Trusted Root certificates of an application gateway. 1359type ApplicationGatewayTrustedRootCertificate struct { 1360 SubResource 1361 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1362 Etag *string `json:"etag,omitempty" azure:"ro"` 1363 1364 // Name of the trusted root certificate that is unique within an Application Gateway. 1365 Name *string `json:"name,omitempty"` 1366 1367 // Properties of the application gateway trusted root certificate. 1368 Properties *ApplicationGatewayTrustedRootCertificatePropertiesFormat `json:"properties,omitempty"` 1369 1370 // READ-ONLY; Type of the resource. 1371 Type *string `json:"type,omitempty" azure:"ro"` 1372} 1373 1374// Trusted Root certificates properties of an application gateway. 1375type ApplicationGatewayTrustedRootCertificatePropertiesFormat struct { 1376 // Certificate public data. 1377 Data *string `json:"data,omitempty"` 1378 1379 // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. 1380 KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` 1381 1382 // READ-ONLY; The provisioning state of the trusted root certificate resource. 1383 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1384} 1385 1386// Url configuration of the Actions set in Application Gateway. 1387type ApplicationGatewayURLConfiguration struct { 1388 // Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null. 1389 ModifiedPath *string `json:"modifiedPath,omitempty"` 1390 1391 // Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null. 1392 ModifiedQueryString *string `json:"modifiedQueryString,omitempty"` 1393 1394 // 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. 1395 Reroute *bool `json:"reroute,omitempty"` 1396} 1397 1398// UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 1399type ApplicationGatewayURLPathMap struct { 1400 SubResource 1401 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1402 Etag *string `json:"etag,omitempty" azure:"ro"` 1403 1404 // Name of the URL path map that is unique within an Application Gateway. 1405 Name *string `json:"name,omitempty"` 1406 1407 // Properties of the application gateway URL path map. 1408 Properties *ApplicationGatewayURLPathMapPropertiesFormat `json:"properties,omitempty"` 1409 1410 // READ-ONLY; Type of the resource. 1411 Type *string `json:"type,omitempty" azure:"ro"` 1412} 1413 1414// Properties of UrlPathMap of the application gateway. 1415type ApplicationGatewayURLPathMapPropertiesFormat struct { 1416 // Default backend address pool resource of URL path map. 1417 DefaultBackendAddressPool *SubResource `json:"defaultBackendAddressPool,omitempty"` 1418 1419 // Default backend http settings resource of URL path map. 1420 DefaultBackendHTTPSettings *SubResource `json:"defaultBackendHttpSettings,omitempty"` 1421 1422 // Default redirect configuration resource of URL path map. 1423 DefaultRedirectConfiguration *SubResource `json:"defaultRedirectConfiguration,omitempty"` 1424 1425 // Default Rewrite rule set resource of URL path map. 1426 DefaultRewriteRuleSet *SubResource `json:"defaultRewriteRuleSet,omitempty"` 1427 1428 // Path rule of URL path map resource. 1429 PathRules *[]ApplicationGatewayPathRule `json:"pathRules,omitempty"` 1430 1431 // READ-ONLY; The provisioning state of the URL path map resource. 1432 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1433} 1434 1435// Application gateway web application firewall configuration. 1436type ApplicationGatewayWebApplicationFirewallConfiguration struct { 1437 // The disabled rule groups. 1438 DisabledRuleGroups *[]ApplicationGatewayFirewallDisabledRuleGroup `json:"disabledRuleGroups,omitempty"` 1439 1440 // Whether the web application firewall is enabled or not. 1441 Enabled *bool `json:"enabled,omitempty"` 1442 1443 // The exclusion list. 1444 Exclusions *[]ApplicationGatewayFirewallExclusion `json:"exclusions,omitempty"` 1445 1446 // Maximum file upload size in Mb for WAF. 1447 FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` 1448 1449 // Web application firewall mode. 1450 FirewallMode *ApplicationGatewayFirewallMode `json:"firewallMode,omitempty"` 1451 1452 // Maximum request body size for WAF. 1453 MaxRequestBodySize *int32 `json:"maxRequestBodySize,omitempty"` 1454 1455 // Maximum request body size in Kb for WAF. 1456 MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` 1457 1458 // Whether allow WAF to check request Body. 1459 RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` 1460 1461 // The type of the web application firewall rule set. Possible values are: 'OWASP'. 1462 RuleSetType *string `json:"ruleSetType,omitempty"` 1463 1464 // The version of the rule set type. 1465 RuleSetVersion *string `json:"ruleSetVersion,omitempty"` 1466} 1467 1468// ApplicationGatewaysBeginBackendHealthOnDemandOptions contains the optional parameters for the ApplicationGateways.BeginBackendHealthOnDemand method. 1469type ApplicationGatewaysBeginBackendHealthOnDemandOptions struct { 1470 // Expands BackendAddressPool and BackendHttpSettings referenced in backend health. 1471 Expand *string 1472} 1473 1474// ApplicationGatewaysBeginBackendHealthOptions contains the optional parameters for the ApplicationGateways.BeginBackendHealth method. 1475type ApplicationGatewaysBeginBackendHealthOptions struct { 1476 // Expands BackendAddressPool and BackendHttpSettings referenced in backend health. 1477 Expand *string 1478} 1479 1480// ApplicationGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the ApplicationGateways.BeginCreateOrUpdate method. 1481type ApplicationGatewaysBeginCreateOrUpdateOptions struct { 1482 // placeholder for future optional parameters 1483} 1484 1485// ApplicationGatewaysBeginDeleteOptions contains the optional parameters for the ApplicationGateways.BeginDelete method. 1486type ApplicationGatewaysBeginDeleteOptions struct { 1487 // placeholder for future optional parameters 1488} 1489 1490// ApplicationGatewaysBeginStartOptions contains the optional parameters for the ApplicationGateways.BeginStart method. 1491type ApplicationGatewaysBeginStartOptions struct { 1492 // placeholder for future optional parameters 1493} 1494 1495// ApplicationGatewaysBeginStopOptions contains the optional parameters for the ApplicationGateways.BeginStop method. 1496type ApplicationGatewaysBeginStopOptions struct { 1497 // placeholder for future optional parameters 1498} 1499 1500// ApplicationGatewaysGetOptions contains the optional parameters for the ApplicationGateways.Get method. 1501type ApplicationGatewaysGetOptions struct { 1502 // placeholder for future optional parameters 1503} 1504 1505// ApplicationGatewaysGetSslPredefinedPolicyOptions contains the optional parameters for the ApplicationGateways.GetSslPredefinedPolicy method. 1506type ApplicationGatewaysGetSslPredefinedPolicyOptions struct { 1507 // placeholder for future optional parameters 1508} 1509 1510// ApplicationGatewaysListAllOptions contains the optional parameters for the ApplicationGateways.ListAll method. 1511type ApplicationGatewaysListAllOptions struct { 1512 // placeholder for future optional parameters 1513} 1514 1515// ApplicationGatewaysListAvailableRequestHeadersOptions contains the optional parameters for the ApplicationGateways.ListAvailableRequestHeaders method. 1516type ApplicationGatewaysListAvailableRequestHeadersOptions struct { 1517 // placeholder for future optional parameters 1518} 1519 1520// ApplicationGatewaysListAvailableResponseHeadersOptions contains the optional parameters for the ApplicationGateways.ListAvailableResponseHeaders method. 1521type ApplicationGatewaysListAvailableResponseHeadersOptions struct { 1522 // placeholder for future optional parameters 1523} 1524 1525// ApplicationGatewaysListAvailableServerVariablesOptions contains the optional parameters for the ApplicationGateways.ListAvailableServerVariables method. 1526type ApplicationGatewaysListAvailableServerVariablesOptions struct { 1527 // placeholder for future optional parameters 1528} 1529 1530// ApplicationGatewaysListAvailableSslOptionsOptions contains the optional parameters for the ApplicationGateways.ListAvailableSslOptions method. 1531type ApplicationGatewaysListAvailableSslOptionsOptions struct { 1532 // placeholder for future optional parameters 1533} 1534 1535// ApplicationGatewaysListAvailableSslPredefinedPoliciesOptions contains the optional parameters for the ApplicationGateways.ListAvailableSslPredefinedPolicies 1536// method. 1537type ApplicationGatewaysListAvailableSslPredefinedPoliciesOptions struct { 1538 // placeholder for future optional parameters 1539} 1540 1541// ApplicationGatewaysListAvailableWafRuleSetsOptions contains the optional parameters for the ApplicationGateways.ListAvailableWafRuleSets method. 1542type ApplicationGatewaysListAvailableWafRuleSetsOptions struct { 1543 // placeholder for future optional parameters 1544} 1545 1546// ApplicationGatewaysListOptions contains the optional parameters for the ApplicationGateways.List method. 1547type ApplicationGatewaysListOptions struct { 1548 // placeholder for future optional parameters 1549} 1550 1551// ApplicationGatewaysUpdateTagsOptions contains the optional parameters for the ApplicationGateways.UpdateTags method. 1552type ApplicationGatewaysUpdateTagsOptions struct { 1553 // placeholder for future optional parameters 1554} 1555 1556// Rule of type application. 1557type ApplicationRule struct { 1558 FirewallPolicyRule 1559 // List of destination IP addresses or Service Tags. 1560 DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` 1561 1562 // List of FQDN Tags for this rule. 1563 FqdnTags *[]string `json:"fqdnTags,omitempty"` 1564 1565 // Array of Application Protocols. 1566 Protocols *[]FirewallPolicyRuleApplicationProtocol `json:"protocols,omitempty"` 1567 1568 // List of source IP addresses for this rule. 1569 SourceAddresses *[]string `json:"sourceAddresses,omitempty"` 1570 1571 // List of source IpGroups for this rule. 1572 SourceIPGroups *[]string `json:"sourceIpGroups,omitempty"` 1573 1574 // List of FQDNs for this rule. 1575 TargetFqdns *[]string `json:"targetFqdns,omitempty"` 1576 1577 // List of Urls for this rule condition. 1578 TargetURLs *[]string `json:"targetUrls,omitempty"` 1579 1580 // Terminate TLS connections for this rule. 1581 TerminateTLS *bool `json:"terminateTLS,omitempty"` 1582 1583 // List of destination azure web categories. 1584 WebCategories *[]string `json:"webCategories,omitempty"` 1585} 1586 1587// MarshalJSON implements the json.Marshaller interface for type ApplicationRule. 1588func (a ApplicationRule) MarshalJSON() ([]byte, error) { 1589 objectMap := a.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeApplicationRule) 1590 if a.DestinationAddresses != nil { 1591 objectMap["destinationAddresses"] = a.DestinationAddresses 1592 } 1593 if a.FqdnTags != nil { 1594 objectMap["fqdnTags"] = a.FqdnTags 1595 } 1596 if a.Protocols != nil { 1597 objectMap["protocols"] = a.Protocols 1598 } 1599 if a.SourceAddresses != nil { 1600 objectMap["sourceAddresses"] = a.SourceAddresses 1601 } 1602 if a.SourceIPGroups != nil { 1603 objectMap["sourceIpGroups"] = a.SourceIPGroups 1604 } 1605 if a.TargetFqdns != nil { 1606 objectMap["targetFqdns"] = a.TargetFqdns 1607 } 1608 if a.TargetURLs != nil { 1609 objectMap["targetUrls"] = a.TargetURLs 1610 } 1611 if a.TerminateTLS != nil { 1612 objectMap["terminateTLS"] = a.TerminateTLS 1613 } 1614 if a.WebCategories != nil { 1615 objectMap["webCategories"] = a.WebCategories 1616 } 1617 return json.Marshal(objectMap) 1618} 1619 1620// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationRule. 1621func (a *ApplicationRule) UnmarshalJSON(data []byte) error { 1622 var rawMsg map[string]*json.RawMessage 1623 if err := json.Unmarshal(data, &rawMsg); err != nil { 1624 return err 1625 } 1626 for key, val := range rawMsg { 1627 var err error 1628 switch key { 1629 case "destinationAddresses": 1630 if val != nil { 1631 err = json.Unmarshal(*val, &a.DestinationAddresses) 1632 } 1633 delete(rawMsg, key) 1634 case "fqdnTags": 1635 if val != nil { 1636 err = json.Unmarshal(*val, &a.FqdnTags) 1637 } 1638 delete(rawMsg, key) 1639 case "protocols": 1640 if val != nil { 1641 err = json.Unmarshal(*val, &a.Protocols) 1642 } 1643 delete(rawMsg, key) 1644 case "sourceAddresses": 1645 if val != nil { 1646 err = json.Unmarshal(*val, &a.SourceAddresses) 1647 } 1648 delete(rawMsg, key) 1649 case "sourceIpGroups": 1650 if val != nil { 1651 err = json.Unmarshal(*val, &a.SourceIPGroups) 1652 } 1653 delete(rawMsg, key) 1654 case "targetFqdns": 1655 if val != nil { 1656 err = json.Unmarshal(*val, &a.TargetFqdns) 1657 } 1658 delete(rawMsg, key) 1659 case "targetUrls": 1660 if val != nil { 1661 err = json.Unmarshal(*val, &a.TargetURLs) 1662 } 1663 delete(rawMsg, key) 1664 case "terminateTLS": 1665 if val != nil { 1666 err = json.Unmarshal(*val, &a.TerminateTLS) 1667 } 1668 delete(rawMsg, key) 1669 case "webCategories": 1670 if val != nil { 1671 err = json.Unmarshal(*val, &a.WebCategories) 1672 } 1673 delete(rawMsg, key) 1674 } 1675 if err != nil { 1676 return err 1677 } 1678 } 1679 return a.FirewallPolicyRule.unmarshalInternal(rawMsg) 1680} 1681 1682// An application security group in a resource group. 1683type ApplicationSecurityGroup struct { 1684 Resource 1685 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 1686 Etag *string `json:"etag,omitempty" azure:"ro"` 1687 1688 // Properties of the application security group. 1689 Properties *ApplicationSecurityGroupPropertiesFormat `json:"properties,omitempty"` 1690} 1691 1692// A list of application security groups. 1693type ApplicationSecurityGroupListResult struct { 1694 // READ-ONLY; The URL to get the next set of results. 1695 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 1696 1697 // A list of application security groups. 1698 Value *[]ApplicationSecurityGroup `json:"value,omitempty"` 1699} 1700 1701// ApplicationSecurityGroupListResultResponse is the response envelope for operations that return a ApplicationSecurityGroupListResult type. 1702type ApplicationSecurityGroupListResultResponse struct { 1703 // A list of application security groups. 1704 ApplicationSecurityGroupListResult *ApplicationSecurityGroupListResult 1705 1706 // RawResponse contains the underlying HTTP response. 1707 RawResponse *http.Response 1708} 1709 1710// ApplicationSecurityGroupPollerResponse is the response envelope for operations that asynchronously return a ApplicationSecurityGroup type. 1711type ApplicationSecurityGroupPollerResponse struct { 1712 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 1713 PollUntilDone func(ctx context.Context, frequency time.Duration) (ApplicationSecurityGroupResponse, error) 1714 1715 // Poller contains an initialized poller. 1716 Poller ApplicationSecurityGroupPoller 1717 1718 // RawResponse contains the underlying HTTP response. 1719 RawResponse *http.Response 1720} 1721 1722// Application security group properties. 1723type ApplicationSecurityGroupPropertiesFormat struct { 1724 // READ-ONLY; The provisioning state of the application security group resource. 1725 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1726 1727 // READ-ONLY; The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name 1728 // or migrate the resource across subscriptions or resource 1729 // groups. 1730 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 1731} 1732 1733// ApplicationSecurityGroupResponse is the response envelope for operations that return a ApplicationSecurityGroup type. 1734type ApplicationSecurityGroupResponse struct { 1735 // An application security group in a resource group. 1736 ApplicationSecurityGroup *ApplicationSecurityGroup 1737 1738 // RawResponse contains the underlying HTTP response. 1739 RawResponse *http.Response 1740} 1741 1742// ApplicationSecurityGroupsBeginCreateOrUpdateOptions contains the optional parameters for the ApplicationSecurityGroups.BeginCreateOrUpdate method. 1743type ApplicationSecurityGroupsBeginCreateOrUpdateOptions struct { 1744 // placeholder for future optional parameters 1745} 1746 1747// ApplicationSecurityGroupsBeginDeleteOptions contains the optional parameters for the ApplicationSecurityGroups.BeginDelete method. 1748type ApplicationSecurityGroupsBeginDeleteOptions struct { 1749 // placeholder for future optional parameters 1750} 1751 1752// ApplicationSecurityGroupsGetOptions contains the optional parameters for the ApplicationSecurityGroups.Get method. 1753type ApplicationSecurityGroupsGetOptions struct { 1754 // placeholder for future optional parameters 1755} 1756 1757// ApplicationSecurityGroupsListAllOptions contains the optional parameters for the ApplicationSecurityGroups.ListAll method. 1758type ApplicationSecurityGroupsListAllOptions struct { 1759 // placeholder for future optional parameters 1760} 1761 1762// ApplicationSecurityGroupsListOptions contains the optional parameters for the ApplicationSecurityGroups.List method. 1763type ApplicationSecurityGroupsListOptions struct { 1764 // placeholder for future optional parameters 1765} 1766 1767// ApplicationSecurityGroupsUpdateTagsOptions contains the optional parameters for the ApplicationSecurityGroups.UpdateTags method. 1768type ApplicationSecurityGroupsUpdateTagsOptions struct { 1769 // placeholder for future optional parameters 1770} 1771 1772// Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 1773type AuthorizationListResult struct { 1774 // The URL to get the next set of results. 1775 NextLink *string `json:"nextLink,omitempty"` 1776 1777 // The authorizations in an ExpressRoute Circuit. 1778 Value *[]ExpressRouteCircuitAuthorization `json:"value,omitempty"` 1779} 1780 1781// AuthorizationListResultResponse is the response envelope for operations that return a AuthorizationListResult type. 1782type AuthorizationListResultResponse struct { 1783 // Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 1784 AuthorizationListResult *AuthorizationListResult 1785 1786 // RawResponse contains the underlying HTTP response. 1787 RawResponse *http.Response 1788} 1789 1790// Properties of ExpressRouteCircuitAuthorization. 1791type AuthorizationPropertiesFormat struct { 1792 // The authorization key. 1793 AuthorizationKey *string `json:"authorizationKey,omitempty"` 1794 1795 // The authorization use status. 1796 AuthorizationUseStatus *AuthorizationUseStatus `json:"authorizationUseStatus,omitempty"` 1797 1798 // READ-ONLY; The provisioning state of the authorization resource. 1799 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 1800} 1801 1802// The information of an AutoApprovedPrivateLinkService. 1803type AutoApprovedPrivateLinkService struct { 1804 // The id of the private link service resource. 1805 PrivateLinkService *string `json:"privateLinkService,omitempty"` 1806} 1807 1808// An array of private link service id that can be linked to a private end point with auto approved. 1809type AutoApprovedPrivateLinkServicesResult struct { 1810 // READ-ONLY; The URL to get the next set of results. 1811 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 1812 1813 // An array of auto approved private link service. 1814 Value *[]AutoApprovedPrivateLinkService `json:"value,omitempty"` 1815} 1816 1817// AutoApprovedPrivateLinkServicesResultResponse is the response envelope for operations that return a AutoApprovedPrivateLinkServicesResult type. 1818type AutoApprovedPrivateLinkServicesResultResponse struct { 1819 // An array of private link service id that can be linked to a private end point with auto approved. 1820 AutoApprovedPrivateLinkServicesResult *AutoApprovedPrivateLinkServicesResult 1821 1822 // RawResponse contains the underlying HTTP response. 1823 RawResponse *http.Response 1824} 1825 1826// Availability of the metric. 1827type Availability struct { 1828 // Duration of the availability blob. 1829 BlobDuration *string `json:"blobDuration,omitempty"` 1830 1831 // The retention of the availability. 1832 Retention *string `json:"retention,omitempty"` 1833 1834 // The time grain of the availability. 1835 TimeGrain *string `json:"timeGrain,omitempty"` 1836} 1837 1838// The serviceName of an AvailableDelegation indicates a possible delegation for a subnet. 1839type AvailableDelegation struct { 1840 // The actions permitted to the service upon delegation. 1841 Actions *[]string `json:"actions,omitempty"` 1842 1843 // A unique identifier of the AvailableDelegation resource. 1844 ID *string `json:"id,omitempty"` 1845 1846 // The name of the AvailableDelegation resource. 1847 Name *string `json:"name,omitempty"` 1848 1849 // The name of the service and resource. 1850 ServiceName *string `json:"serviceName,omitempty"` 1851 1852 // Resource type. 1853 Type *string `json:"type,omitempty"` 1854} 1855 1856// AvailableDelegationsListOptions contains the optional parameters for the AvailableDelegations.List method. 1857type AvailableDelegationsListOptions struct { 1858 // placeholder for future optional parameters 1859} 1860 1861// An array of available delegations. 1862type AvailableDelegationsResult struct { 1863 // READ-ONLY; The URL to get the next set of results. 1864 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 1865 1866 // An array of available delegations. 1867 Value *[]AvailableDelegation `json:"value,omitempty"` 1868} 1869 1870// AvailableDelegationsResultResponse is the response envelope for operations that return a AvailableDelegationsResult type. 1871type AvailableDelegationsResultResponse struct { 1872 // An array of available delegations. 1873 AvailableDelegationsResult *AvailableDelegationsResult 1874 1875 // RawResponse contains the underlying HTTP response. 1876 RawResponse *http.Response 1877} 1878 1879// AvailableEndpointServicesListOptions contains the optional parameters for the AvailableEndpointServices.List method. 1880type AvailableEndpointServicesListOptions struct { 1881 // placeholder for future optional parameters 1882} 1883 1884// The information of an AvailablePrivateEndpointType. 1885type AvailablePrivateEndpointType struct { 1886 // A unique identifier of the AvailablePrivateEndpoint Type resource. 1887 ID *string `json:"id,omitempty"` 1888 1889 // The name of the service and resource. 1890 Name *string `json:"name,omitempty"` 1891 1892 // The name of the service and resource. 1893 ResourceName *string `json:"resourceName,omitempty"` 1894 1895 // Resource type. 1896 Type *string `json:"type,omitempty"` 1897} 1898 1899// AvailablePrivateEndpointTypesListByResourceGroupOptions contains the optional parameters for the AvailablePrivateEndpointTypes.ListByResourceGroup method. 1900type AvailablePrivateEndpointTypesListByResourceGroupOptions struct { 1901 // placeholder for future optional parameters 1902} 1903 1904// AvailablePrivateEndpointTypesListOptions contains the optional parameters for the AvailablePrivateEndpointTypes.List method. 1905type AvailablePrivateEndpointTypesListOptions struct { 1906 // placeholder for future optional parameters 1907} 1908 1909// An array of available PrivateEndpoint types. 1910type AvailablePrivateEndpointTypesResult struct { 1911 // READ-ONLY; The URL to get the next set of results. 1912 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 1913 1914 // An array of available privateEndpoint type. 1915 Value *[]AvailablePrivateEndpointType `json:"value,omitempty"` 1916} 1917 1918// AvailablePrivateEndpointTypesResultResponse is the response envelope for operations that return a AvailablePrivateEndpointTypesResult type. 1919type AvailablePrivateEndpointTypesResultResponse struct { 1920 // An array of available PrivateEndpoint types. 1921 AvailablePrivateEndpointTypesResult *AvailablePrivateEndpointTypesResult 1922 1923 // RawResponse contains the underlying HTTP response. 1924 RawResponse *http.Response 1925} 1926 1927// List of available countries with details. 1928type AvailableProvidersList struct { 1929 // List of available countries. 1930 Countries *[]AvailableProvidersListCountry `json:"countries,omitempty"` 1931} 1932 1933// City or town details. 1934type AvailableProvidersListCity struct { 1935 // The city or town name. 1936 CityName *string `json:"cityName,omitempty"` 1937 1938 // A list of Internet service providers. 1939 Providers *[]string `json:"providers,omitempty"` 1940} 1941 1942// Country details. 1943type AvailableProvidersListCountry struct { 1944 // The country name. 1945 CountryName *string `json:"countryName,omitempty"` 1946 1947 // A list of Internet service providers. 1948 Providers *[]string `json:"providers,omitempty"` 1949 1950 // List of available states in the country. 1951 States *[]AvailableProvidersListState `json:"states,omitempty"` 1952} 1953 1954// Constraints that determine the list of available Internet service providers. 1955type AvailableProvidersListParameters struct { 1956 // A list of Azure regions. 1957 AzureLocations *[]string `json:"azureLocations,omitempty"` 1958 1959 // The city or town for available providers list. 1960 City *string `json:"city,omitempty"` 1961 1962 // The country for available providers list. 1963 Country *string `json:"country,omitempty"` 1964 1965 // The state for available providers list. 1966 State *string `json:"state,omitempty"` 1967} 1968 1969// AvailableProvidersListPollerResponse is the response envelope for operations that asynchronously return a AvailableProvidersList type. 1970type AvailableProvidersListPollerResponse struct { 1971 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 1972 PollUntilDone func(ctx context.Context, frequency time.Duration) (AvailableProvidersListResponse, error) 1973 1974 // Poller contains an initialized poller. 1975 Poller AvailableProvidersListPoller 1976 1977 // RawResponse contains the underlying HTTP response. 1978 RawResponse *http.Response 1979} 1980 1981// AvailableProvidersListResponse is the response envelope for operations that return a AvailableProvidersList type. 1982type AvailableProvidersListResponse struct { 1983 // List of available countries with details. 1984 AvailableProvidersList *AvailableProvidersList 1985 1986 // RawResponse contains the underlying HTTP response. 1987 RawResponse *http.Response 1988} 1989 1990// State details. 1991type AvailableProvidersListState struct { 1992 // List of available cities or towns in the state. 1993 Cities *[]AvailableProvidersListCity `json:"cities,omitempty"` 1994 1995 // A list of Internet service providers. 1996 Providers *[]string `json:"providers,omitempty"` 1997 1998 // The state name. 1999 StateName *string `json:"stateName,omitempty"` 2000} 2001 2002// AvailableResourceGroupDelegationsListOptions contains the optional parameters for the AvailableResourceGroupDelegations.List method. 2003type AvailableResourceGroupDelegationsListOptions struct { 2004 // placeholder for future optional parameters 2005} 2006 2007// The available service alias. 2008type AvailableServiceAlias struct { 2009 // The ID of the service alias. 2010 ID *string `json:"id,omitempty"` 2011 2012 // The name of the service alias. 2013 Name *string `json:"name,omitempty"` 2014 2015 // The resource name of the service alias. 2016 ResourceName *string `json:"resourceName,omitempty"` 2017 2018 // The type of the resource. 2019 Type *string `json:"type,omitempty"` 2020} 2021 2022// AvailableServiceAliasesListByResourceGroupOptions contains the optional parameters for the AvailableServiceAliases.ListByResourceGroup method. 2023type AvailableServiceAliasesListByResourceGroupOptions struct { 2024 // placeholder for future optional parameters 2025} 2026 2027// AvailableServiceAliasesListOptions contains the optional parameters for the AvailableServiceAliases.List method. 2028type AvailableServiceAliasesListOptions struct { 2029 // placeholder for future optional parameters 2030} 2031 2032// An array of available service aliases. 2033type AvailableServiceAliasesResult struct { 2034 // READ-ONLY; The URL to get the next set of results. 2035 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 2036 2037 // An array of available service aliases. 2038 Value *[]AvailableServiceAlias `json:"value,omitempty"` 2039} 2040 2041// AvailableServiceAliasesResultResponse is the response envelope for operations that return a AvailableServiceAliasesResult type. 2042type AvailableServiceAliasesResultResponse struct { 2043 // An array of available service aliases. 2044 AvailableServiceAliasesResult *AvailableServiceAliasesResult 2045 2046 // RawResponse contains the underlying HTTP response. 2047 RawResponse *http.Response 2048} 2049 2050// The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note 2051// that this status is distinct from the HTTP 2052// status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status 2053// code for the successful request. If the 2054// asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure. 2055type AzureAsyncOperationResult struct { 2056 // Details of the error occurred during specified asynchronous operation. 2057 Error *Error `json:"error,omitempty"` 2058 2059 // Status of the Azure async operation. 2060 Status *NetworkOperationStatus `json:"status,omitempty"` 2061} 2062 2063// Azure Firewall resource. 2064type AzureFirewall struct { 2065 Resource 2066 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2067 Etag *string `json:"etag,omitempty" azure:"ro"` 2068 2069 // Properties of the azure firewall. 2070 Properties *AzureFirewallPropertiesFormat `json:"properties,omitempty"` 2071 2072 // A list of availability zones denoting where the resource needs to come from. 2073 Zones *[]string `json:"zones,omitempty"` 2074} 2075 2076// Properties of an application rule. 2077type AzureFirewallApplicationRule struct { 2078 // Description of the rule. 2079 Description *string `json:"description,omitempty"` 2080 2081 // List of FQDN Tags for this rule. 2082 FqdnTags *[]string `json:"fqdnTags,omitempty"` 2083 2084 // Name of the application rule. 2085 Name *string `json:"name,omitempty"` 2086 2087 // Array of ApplicationRuleProtocols. 2088 Protocols *[]AzureFirewallApplicationRuleProtocol `json:"protocols,omitempty"` 2089 2090 // List of source IP addresses for this rule. 2091 SourceAddresses *[]string `json:"sourceAddresses,omitempty"` 2092 2093 // List of source IpGroups for this rule. 2094 SourceIPGroups *[]string `json:"sourceIpGroups,omitempty"` 2095 2096 // List of FQDNs for this rule. 2097 TargetFqdns *[]string `json:"targetFqdns,omitempty"` 2098} 2099 2100// Application rule collection resource. 2101type AzureFirewallApplicationRuleCollection struct { 2102 SubResource 2103 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2104 Etag *string `json:"etag,omitempty" azure:"ro"` 2105 2106 // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. 2107 Name *string `json:"name,omitempty"` 2108 2109 // Properties of the azure firewall application rule collection. 2110 Properties *AzureFirewallApplicationRuleCollectionPropertiesFormat `json:"properties,omitempty"` 2111} 2112 2113// Properties of the application rule collection. 2114type AzureFirewallApplicationRuleCollectionPropertiesFormat struct { 2115 // The action type of a rule collection. 2116 Action *AzureFirewallRcAction `json:"action,omitempty"` 2117 2118 // Priority of the application rule collection resource. 2119 Priority *int32 `json:"priority,omitempty"` 2120 2121 // READ-ONLY; The provisioning state of the application rule collection resource. 2122 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2123 2124 // Collection of rules used by a application rule collection. 2125 Rules *[]AzureFirewallApplicationRule `json:"rules,omitempty"` 2126} 2127 2128// Properties of the application rule protocol. 2129type AzureFirewallApplicationRuleProtocol struct { 2130 // Port number for the protocol, cannot be greater than 64000. This field is optional. 2131 Port *int32 `json:"port,omitempty"` 2132 2133 // Protocol type. 2134 ProtocolType *AzureFirewallApplicationRuleProtocolType `json:"protocolType,omitempty"` 2135} 2136 2137// Azure Firewall FQDN Tag Resource. 2138type AzureFirewallFqdnTag struct { 2139 Resource 2140 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2141 Etag *string `json:"etag,omitempty" azure:"ro"` 2142 2143 // Properties of the azure firewall FQDN tag. 2144 Properties *AzureFirewallFqdnTagPropertiesFormat `json:"properties,omitempty"` 2145} 2146 2147// Response for ListAzureFirewallFqdnTags API service call. 2148type AzureFirewallFqdnTagListResult struct { 2149 // URL to get the next set of results. 2150 NextLink *string `json:"nextLink,omitempty"` 2151 2152 // List of Azure Firewall FQDN Tags in a resource group. 2153 Value *[]AzureFirewallFqdnTag `json:"value,omitempty"` 2154} 2155 2156// AzureFirewallFqdnTagListResultResponse is the response envelope for operations that return a AzureFirewallFqdnTagListResult type. 2157type AzureFirewallFqdnTagListResultResponse struct { 2158 // Response for ListAzureFirewallFqdnTags API service call. 2159 AzureFirewallFqdnTagListResult *AzureFirewallFqdnTagListResult 2160 2161 // RawResponse contains the underlying HTTP response. 2162 RawResponse *http.Response 2163} 2164 2165// Azure Firewall FQDN Tag Properties. 2166type AzureFirewallFqdnTagPropertiesFormat struct { 2167 // READ-ONLY; The name of this FQDN Tag. 2168 FqdnTagName *string `json:"fqdnTagName,omitempty" azure:"ro"` 2169 2170 // READ-ONLY; The provisioning state of the Azure firewall FQDN tag resource. 2171 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2172} 2173 2174// AzureFirewallFqdnTagsListAllOptions contains the optional parameters for the AzureFirewallFqdnTags.ListAll method. 2175type AzureFirewallFqdnTagsListAllOptions struct { 2176 // placeholder for future optional parameters 2177} 2178 2179// IP configuration of an Azure Firewall. 2180type AzureFirewallIPConfiguration struct { 2181 SubResource 2182 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2183 Etag *string `json:"etag,omitempty" azure:"ro"` 2184 2185 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 2186 Name *string `json:"name,omitempty"` 2187 2188 // Properties of the azure firewall IP configuration. 2189 Properties *AzureFirewallIPConfigurationPropertiesFormat `json:"properties,omitempty"` 2190 2191 // READ-ONLY; Type of the resource. 2192 Type *string `json:"type,omitempty" azure:"ro"` 2193} 2194 2195// Properties of IP configuration of an Azure Firewall. 2196type AzureFirewallIPConfigurationPropertiesFormat struct { 2197 // READ-ONLY; The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes. 2198 PrivateIPAddress *string `json:"privateIPAddress,omitempty" azure:"ro"` 2199 2200 // READ-ONLY; The provisioning state of the Azure firewall IP configuration resource. 2201 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2202 2203 // Reference to the PublicIP resource. This field is a mandatory input if subnet is not null. 2204 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 2205 2206 // Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. 2207 Subnet *SubResource `json:"subnet,omitempty"` 2208} 2209 2210// IpGroups associated with azure firewall. 2211type AzureFirewallIPGroups struct { 2212 // READ-ONLY; The iteration number. 2213 ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` 2214 2215 // READ-ONLY; Resource ID. 2216 ID *string `json:"id,omitempty" azure:"ro"` 2217} 2218 2219// Response for ListAzureFirewalls API service call. 2220type AzureFirewallListResult struct { 2221 // URL to get the next set of results. 2222 NextLink *string `json:"nextLink,omitempty"` 2223 2224 // List of Azure Firewalls in a resource group. 2225 Value *[]AzureFirewall `json:"value,omitempty"` 2226} 2227 2228// AzureFirewallListResultResponse is the response envelope for operations that return a AzureFirewallListResult type. 2229type AzureFirewallListResultResponse struct { 2230 // Response for ListAzureFirewalls API service call. 2231 AzureFirewallListResult *AzureFirewallListResult 2232 2233 // RawResponse contains the underlying HTTP response. 2234 RawResponse *http.Response 2235} 2236 2237// AzureFirewall NAT Rule Collection Action. 2238type AzureFirewallNatRcAction struct { 2239 // The type of action. 2240 Type *AzureFirewallNatRCActionType `json:"type,omitempty"` 2241} 2242 2243// Properties of a NAT rule. 2244type AzureFirewallNatRule struct { 2245 // Description of the rule. 2246 Description *string `json:"description,omitempty"` 2247 2248 // List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags. 2249 DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` 2250 2251 // List of destination ports. 2252 DestinationPorts *[]string `json:"destinationPorts,omitempty"` 2253 2254 // Name of the NAT rule. 2255 Name *string `json:"name,omitempty"` 2256 2257 // Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. 2258 Protocols *[]AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` 2259 2260 // List of source IP addresses for this rule. 2261 SourceAddresses *[]string `json:"sourceAddresses,omitempty"` 2262 2263 // List of source IpGroups for this rule. 2264 SourceIPGroups *[]string `json:"sourceIpGroups,omitempty"` 2265 2266 // The translated address for this NAT rule. 2267 TranslatedAddress *string `json:"translatedAddress,omitempty"` 2268 2269 // The translated FQDN for this NAT rule. 2270 TranslatedFqdn *string `json:"translatedFqdn,omitempty"` 2271 2272 // The translated port for this NAT rule. 2273 TranslatedPort *string `json:"translatedPort,omitempty"` 2274} 2275 2276// NAT rule collection resource. 2277type AzureFirewallNatRuleCollection struct { 2278 SubResource 2279 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2280 Etag *string `json:"etag,omitempty" azure:"ro"` 2281 2282 // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. 2283 Name *string `json:"name,omitempty"` 2284 2285 // Properties of the azure firewall NAT rule collection. 2286 Properties *AzureFirewallNatRuleCollectionProperties `json:"properties,omitempty"` 2287} 2288 2289// Properties of the NAT rule collection. 2290type AzureFirewallNatRuleCollectionProperties struct { 2291 // The action type of a NAT rule collection. 2292 Action *AzureFirewallNatRcAction `json:"action,omitempty"` 2293 2294 // Priority of the NAT rule collection resource. 2295 Priority *int32 `json:"priority,omitempty"` 2296 2297 // READ-ONLY; The provisioning state of the NAT rule collection resource. 2298 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2299 2300 // Collection of rules used by a NAT rule collection. 2301 Rules *[]AzureFirewallNatRule `json:"rules,omitempty"` 2302} 2303 2304// Properties of the network rule. 2305type AzureFirewallNetworkRule struct { 2306 // Description of the rule. 2307 Description *string `json:"description,omitempty"` 2308 2309 // List of destination IP addresses. 2310 DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` 2311 2312 // List of destination FQDNs. 2313 DestinationFqdns *[]string `json:"destinationFqdns,omitempty"` 2314 2315 // List of destination IpGroups for this rule. 2316 DestinationIPGroups *[]string `json:"destinationIpGroups,omitempty"` 2317 2318 // List of destination ports. 2319 DestinationPorts *[]string `json:"destinationPorts,omitempty"` 2320 2321 // Name of the network rule. 2322 Name *string `json:"name,omitempty"` 2323 2324 // Array of AzureFirewallNetworkRuleProtocols. 2325 Protocols *[]AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` 2326 2327 // List of source IP addresses for this rule. 2328 SourceAddresses *[]string `json:"sourceAddresses,omitempty"` 2329 2330 // List of source IpGroups for this rule. 2331 SourceIPGroups *[]string `json:"sourceIpGroups,omitempty"` 2332} 2333 2334// Network rule collection resource. 2335type AzureFirewallNetworkRuleCollection struct { 2336 SubResource 2337 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2338 Etag *string `json:"etag,omitempty" azure:"ro"` 2339 2340 // The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. 2341 Name *string `json:"name,omitempty"` 2342 2343 // Properties of the azure firewall network rule collection. 2344 Properties *AzureFirewallNetworkRuleCollectionPropertiesFormat `json:"properties,omitempty"` 2345} 2346 2347// Properties of the network rule collection. 2348type AzureFirewallNetworkRuleCollectionPropertiesFormat struct { 2349 // The action type of a rule collection. 2350 Action *AzureFirewallRcAction `json:"action,omitempty"` 2351 2352 // Priority of the network rule collection resource. 2353 Priority *int32 `json:"priority,omitempty"` 2354 2355 // READ-ONLY; The provisioning state of the network rule collection resource. 2356 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2357 2358 // Collection of rules used by a network rule collection. 2359 Rules *[]AzureFirewallNetworkRule `json:"rules,omitempty"` 2360} 2361 2362// AzureFirewallPollerResponse is the response envelope for operations that asynchronously return a AzureFirewall type. 2363type AzureFirewallPollerResponse struct { 2364 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 2365 PollUntilDone func(ctx context.Context, frequency time.Duration) (AzureFirewallResponse, error) 2366 2367 // Poller contains an initialized poller. 2368 Poller AzureFirewallPoller 2369 2370 // RawResponse contains the underlying HTTP response. 2371 RawResponse *http.Response 2372} 2373 2374// Properties of the Azure Firewall. 2375type AzureFirewallPropertiesFormat struct { 2376 // The additional properties used to further config this azure firewall. 2377 AdditionalProperties *map[string]string `json:"additionalProperties,omitempty"` 2378 2379 // Collection of application rule collections used by Azure Firewall. 2380 ApplicationRuleCollections *[]AzureFirewallApplicationRuleCollection `json:"applicationRuleCollections,omitempty"` 2381 2382 // The firewallPolicy associated with this azure firewall. 2383 FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` 2384 2385 // IP addresses associated with AzureFirewall. 2386 HubIPAddresses *HubIPAddresses `json:"hubIPAddresses,omitempty"` 2387 2388 // IP configuration of the Azure Firewall resource. 2389 IPConfigurations *[]AzureFirewallIPConfiguration `json:"ipConfigurations,omitempty"` 2390 2391 // READ-ONLY; IpGroups associated with AzureFirewall. 2392 IPGroups *[]AzureFirewallIPGroups `json:"ipGroups,omitempty" azure:"ro"` 2393 2394 // IP configuration of the Azure Firewall used for management traffic. 2395 ManagementIPConfiguration *AzureFirewallIPConfiguration `json:"managementIpConfiguration,omitempty"` 2396 2397 // Collection of NAT rule collections used by Azure Firewall. 2398 NatRuleCollections *[]AzureFirewallNatRuleCollection `json:"natRuleCollections,omitempty"` 2399 2400 // Collection of network rule collections used by Azure Firewall. 2401 NetworkRuleCollections *[]AzureFirewallNetworkRuleCollection `json:"networkRuleCollections,omitempty"` 2402 2403 // READ-ONLY; The provisioning state of the Azure firewall resource. 2404 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2405 2406 // The Azure Firewall Resource SKU. 2407 SKU *AzureFirewallSKU `json:"sku,omitempty"` 2408 2409 // The operation mode for Threat Intelligence. 2410 ThreatIntelMode *AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` 2411 2412 // The virtualHub to which the firewall belongs. 2413 VirtualHub *SubResource `json:"virtualHub,omitempty"` 2414} 2415 2416// Public IP Address associated with azure firewall. 2417type AzureFirewallPublicIPAddress struct { 2418 // Public IP Address value. 2419 Address *string `json:"address,omitempty"` 2420} 2421 2422// Properties of the AzureFirewallRCAction. 2423type AzureFirewallRcAction struct { 2424 // The type of action. 2425 Type *AzureFirewallRCActionType `json:"type,omitempty"` 2426} 2427 2428// AzureFirewallResponse is the response envelope for operations that return a AzureFirewall type. 2429type AzureFirewallResponse struct { 2430 // Azure Firewall resource. 2431 AzureFirewall *AzureFirewall 2432 2433 // RawResponse contains the underlying HTTP response. 2434 RawResponse *http.Response 2435} 2436 2437// SKU of an Azure Firewall. 2438type AzureFirewallSKU struct { 2439 // Name of an Azure Firewall SKU. 2440 Name *AzureFirewallSKUName `json:"name,omitempty"` 2441 2442 // Tier of an Azure Firewall. 2443 Tier *AzureFirewallSKUTier `json:"tier,omitempty"` 2444} 2445 2446// AzureFirewallsBeginCreateOrUpdateOptions contains the optional parameters for the AzureFirewalls.BeginCreateOrUpdate method. 2447type AzureFirewallsBeginCreateOrUpdateOptions struct { 2448 // placeholder for future optional parameters 2449} 2450 2451// AzureFirewallsBeginDeleteOptions contains the optional parameters for the AzureFirewalls.BeginDelete method. 2452type AzureFirewallsBeginDeleteOptions struct { 2453 // placeholder for future optional parameters 2454} 2455 2456// AzureFirewallsBeginUpdateTagsOptions contains the optional parameters for the AzureFirewalls.BeginUpdateTags method. 2457type AzureFirewallsBeginUpdateTagsOptions struct { 2458 // placeholder for future optional parameters 2459} 2460 2461// AzureFirewallsGetOptions contains the optional parameters for the AzureFirewalls.Get method. 2462type AzureFirewallsGetOptions struct { 2463 // placeholder for future optional parameters 2464} 2465 2466// AzureFirewallsListAllOptions contains the optional parameters for the AzureFirewalls.ListAll method. 2467type AzureFirewallsListAllOptions struct { 2468 // placeholder for future optional parameters 2469} 2470 2471// AzureFirewallsListOptions contains the optional parameters for the AzureFirewalls.List method. 2472type AzureFirewallsListOptions struct { 2473 // placeholder for future optional parameters 2474} 2475 2476// Azure reachability report details. 2477type AzureReachabilityReport struct { 2478 // The aggregation level of Azure reachability report. Can be Country, State or City. 2479 AggregationLevel *string `json:"aggregationLevel,omitempty"` 2480 2481 // Parameters that define a geographic location. 2482 ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` 2483 2484 // List of Azure reachability report items. 2485 ReachabilityReport *[]AzureReachabilityReportItem `json:"reachabilityReport,omitempty"` 2486} 2487 2488// Azure reachability report details for a given provider location. 2489type AzureReachabilityReportItem struct { 2490 // The Azure region. 2491 AzureLocation *string `json:"azureLocation,omitempty"` 2492 2493 // List of latency details for each of the time series. 2494 Latencies *[]AzureReachabilityReportLatencyInfo `json:"latencies,omitempty"` 2495 2496 // The Internet service provider. 2497 Provider *string `json:"provider,omitempty"` 2498} 2499 2500// Details on latency for a time series. 2501type AzureReachabilityReportLatencyInfo struct { 2502 // The relative latency score between 1 and 100, higher values indicating a faster connection. 2503 Score *int32 `json:"score,omitempty"` 2504 2505 // The time stamp. 2506 TimeStamp *time.Time `json:"timeStamp,omitempty"` 2507} 2508 2509// MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportLatencyInfo. 2510func (a AzureReachabilityReportLatencyInfo) MarshalJSON() ([]byte, error) { 2511 objectMap := make(map[string]interface{}) 2512 if a.Score != nil { 2513 objectMap["score"] = a.Score 2514 } 2515 if a.TimeStamp != nil { 2516 objectMap["timeStamp"] = (*timeRFC3339)(a.TimeStamp) 2517 } 2518 return json.Marshal(objectMap) 2519} 2520 2521// UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportLatencyInfo. 2522func (a *AzureReachabilityReportLatencyInfo) UnmarshalJSON(data []byte) error { 2523 var rawMsg map[string]*json.RawMessage 2524 if err := json.Unmarshal(data, &rawMsg); err != nil { 2525 return err 2526 } 2527 for key, val := range rawMsg { 2528 var err error 2529 switch key { 2530 case "score": 2531 if val != nil { 2532 err = json.Unmarshal(*val, &a.Score) 2533 } 2534 delete(rawMsg, key) 2535 case "timeStamp": 2536 if val != nil { 2537 var aux timeRFC3339 2538 err = json.Unmarshal(*val, &aux) 2539 a.TimeStamp = (*time.Time)(&aux) 2540 } 2541 delete(rawMsg, key) 2542 } 2543 if err != nil { 2544 return err 2545 } 2546 } 2547 return nil 2548} 2549 2550// Parameters that define a geographic location. 2551type AzureReachabilityReportLocation struct { 2552 // The name of the city or town. 2553 City *string `json:"city,omitempty"` 2554 2555 // The name of the country. 2556 Country *string `json:"country,omitempty"` 2557 2558 // The name of the state. 2559 State *string `json:"state,omitempty"` 2560} 2561 2562// Geographic and time constraints for Azure reachability report. 2563type AzureReachabilityReportParameters struct { 2564 // Optional Azure regions to scope the query to. 2565 AzureLocations *[]string `json:"azureLocations,omitempty"` 2566 2567 // The end time for the Azure reachability report. 2568 EndTime *time.Time `json:"endTime,omitempty"` 2569 2570 // Parameters that define a geographic location. 2571 ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` 2572 2573 // List of Internet service providers. 2574 Providers *[]string `json:"providers,omitempty"` 2575 2576 // The start time for the Azure reachability report. 2577 StartTime *time.Time `json:"startTime,omitempty"` 2578} 2579 2580// MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportParameters. 2581func (a AzureReachabilityReportParameters) MarshalJSON() ([]byte, error) { 2582 objectMap := make(map[string]interface{}) 2583 if a.AzureLocations != nil { 2584 objectMap["azureLocations"] = a.AzureLocations 2585 } 2586 if a.EndTime != nil { 2587 objectMap["endTime"] = (*timeRFC3339)(a.EndTime) 2588 } 2589 if a.ProviderLocation != nil { 2590 objectMap["providerLocation"] = a.ProviderLocation 2591 } 2592 if a.Providers != nil { 2593 objectMap["providers"] = a.Providers 2594 } 2595 if a.StartTime != nil { 2596 objectMap["startTime"] = (*timeRFC3339)(a.StartTime) 2597 } 2598 return json.Marshal(objectMap) 2599} 2600 2601// UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportParameters. 2602func (a *AzureReachabilityReportParameters) UnmarshalJSON(data []byte) error { 2603 var rawMsg map[string]*json.RawMessage 2604 if err := json.Unmarshal(data, &rawMsg); err != nil { 2605 return err 2606 } 2607 for key, val := range rawMsg { 2608 var err error 2609 switch key { 2610 case "azureLocations": 2611 if val != nil { 2612 err = json.Unmarshal(*val, &a.AzureLocations) 2613 } 2614 delete(rawMsg, key) 2615 case "endTime": 2616 if val != nil { 2617 var aux timeRFC3339 2618 err = json.Unmarshal(*val, &aux) 2619 a.EndTime = (*time.Time)(&aux) 2620 } 2621 delete(rawMsg, key) 2622 case "providerLocation": 2623 if val != nil { 2624 err = json.Unmarshal(*val, &a.ProviderLocation) 2625 } 2626 delete(rawMsg, key) 2627 case "providers": 2628 if val != nil { 2629 err = json.Unmarshal(*val, &a.Providers) 2630 } 2631 delete(rawMsg, key) 2632 case "startTime": 2633 if val != nil { 2634 var aux timeRFC3339 2635 err = json.Unmarshal(*val, &aux) 2636 a.StartTime = (*time.Time)(&aux) 2637 } 2638 delete(rawMsg, key) 2639 } 2640 if err != nil { 2641 return err 2642 } 2643 } 2644 return nil 2645} 2646 2647// AzureReachabilityReportPollerResponse is the response envelope for operations that asynchronously return a AzureReachabilityReport type. 2648type AzureReachabilityReportPollerResponse struct { 2649 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 2650 PollUntilDone func(ctx context.Context, frequency time.Duration) (AzureReachabilityReportResponse, error) 2651 2652 // Poller contains an initialized poller. 2653 Poller AzureReachabilityReportPoller 2654 2655 // RawResponse contains the underlying HTTP response. 2656 RawResponse *http.Response 2657} 2658 2659// AzureReachabilityReportResponse is the response envelope for operations that return a AzureReachabilityReport type. 2660type AzureReachabilityReportResponse struct { 2661 // Azure reachability report details. 2662 AzureReachabilityReport *AzureReachabilityReport 2663 2664 // RawResponse contains the underlying HTTP response. 2665 RawResponse *http.Response 2666} 2667 2668// Azure Web Category Resource. 2669type AzureWebCategory struct { 2670 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2671 Etag *string `json:"etag,omitempty" azure:"ro"` 2672 2673 // Resource ID. 2674 ID *string `json:"id,omitempty"` 2675 2676 // READ-ONLY; Resource name. 2677 Name *string `json:"name,omitempty" azure:"ro"` 2678 2679 // Properties of the Azure Web Category. 2680 Properties *AzureWebCategoryPropertiesFormat `json:"properties,omitempty"` 2681 2682 // READ-ONLY; Resource type. 2683 Type *string `json:"type,omitempty" azure:"ro"` 2684} 2685 2686// Response for ListAzureWebCategories API service call. 2687type AzureWebCategoryListResult struct { 2688 // URL to get the next set of results. 2689 NextLink *string `json:"nextLink,omitempty"` 2690 2691 // List of Azure Web Categories for a given Subscription. 2692 Value *[]AzureWebCategory `json:"value,omitempty"` 2693} 2694 2695// AzureWebCategoryListResultResponse is the response envelope for operations that return a AzureWebCategoryListResult type. 2696type AzureWebCategoryListResultResponse struct { 2697 // Response for ListAzureWebCategories API service call. 2698 AzureWebCategoryListResult *AzureWebCategoryListResult 2699 2700 // RawResponse contains the underlying HTTP response. 2701 RawResponse *http.Response 2702} 2703 2704// Azure Web Category Properties. 2705type AzureWebCategoryPropertiesFormat struct { 2706 // READ-ONLY; The name of the group that the category belongs to. 2707 Group *string `json:"group,omitempty" azure:"ro"` 2708} 2709 2710// AzureWebCategoryResponse is the response envelope for operations that return a AzureWebCategory type. 2711type AzureWebCategoryResponse struct { 2712 // Azure Web Category Resource. 2713 AzureWebCategory *AzureWebCategory 2714 2715 // RawResponse contains the underlying HTTP response. 2716 RawResponse *http.Response 2717} 2718 2719// Pool of backend IP addresses. 2720type BackendAddressPool struct { 2721 SubResource 2722 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2723 Etag *string `json:"etag,omitempty" azure:"ro"` 2724 2725 // 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. 2726 Name *string `json:"name,omitempty"` 2727 2728 // Properties of load balancer backend address pool. 2729 Properties *BackendAddressPoolPropertiesFormat `json:"properties,omitempty"` 2730 2731 // READ-ONLY; Type of the resource. 2732 Type *string `json:"type,omitempty" azure:"ro"` 2733} 2734 2735// BackendAddressPoolPollerResponse is the response envelope for operations that asynchronously return a BackendAddressPool type. 2736type BackendAddressPoolPollerResponse struct { 2737 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 2738 PollUntilDone func(ctx context.Context, frequency time.Duration) (BackendAddressPoolResponse, error) 2739 2740 // Poller contains an initialized poller. 2741 Poller BackendAddressPoolPoller 2742 2743 // RawResponse contains the underlying HTTP response. 2744 RawResponse *http.Response 2745} 2746 2747// Properties of the backend address pool. 2748type BackendAddressPoolPropertiesFormat struct { 2749 // READ-ONLY; An array of references to IP addresses defined in network interfaces. 2750 BackendIPConfigurations *[]NetworkInterfaceIPConfiguration `json:"backendIPConfigurations,omitempty" azure:"ro"` 2751 2752 // An array of backend addresses. 2753 LoadBalancerBackendAddresses *[]LoadBalancerBackendAddress `json:"loadBalancerBackendAddresses,omitempty"` 2754 2755 // READ-ONLY; An array of references to load balancing rules that use this backend address pool. 2756 LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` 2757 2758 // READ-ONLY; A reference to an outbound rule that uses this backend address pool. 2759 OutboundRule *SubResource `json:"outboundRule,omitempty" azure:"ro"` 2760 2761 // READ-ONLY; An array of references to outbound rules that use this backend address pool. 2762 OutboundRules *[]SubResource `json:"outboundRules,omitempty" azure:"ro"` 2763 2764 // READ-ONLY; The provisioning state of the backend address pool resource. 2765 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2766} 2767 2768// BackendAddressPoolResponse is the response envelope for operations that return a BackendAddressPool type. 2769type BackendAddressPoolResponse struct { 2770 // Pool of backend IP addresses. 2771 BackendAddressPool *BackendAddressPool 2772 2773 // RawResponse contains the underlying HTTP response. 2774 RawResponse *http.Response 2775} 2776 2777// The session detail for a target. 2778type BastionActiveSession struct { 2779 // READ-ONLY; The protocol used to connect to the target. 2780 Protocol *BastionConnectProtocol `json:"protocol,omitempty" azure:"ro"` 2781 2782 // READ-ONLY; The type of the resource. 2783 ResourceType *string `json:"resourceType,omitempty" azure:"ro"` 2784 2785 // READ-ONLY; Duration in mins the session has been active. 2786 SessionDurationInMins *float32 `json:"sessionDurationInMins,omitempty" azure:"ro"` 2787 2788 // READ-ONLY; A unique id for the session. 2789 SessionID *string `json:"sessionId,omitempty" azure:"ro"` 2790 2791 // READ-ONLY; The time when the session started. 2792 StartTime interface{} `json:"startTime,omitempty" azure:"ro"` 2793 2794 // READ-ONLY; The host name of the target. 2795 TargetHostName *string `json:"targetHostName,omitempty" azure:"ro"` 2796 2797 // READ-ONLY; The IP Address of the target. 2798 TargetIPAddress *string `json:"targetIpAddress,omitempty" azure:"ro"` 2799 2800 // READ-ONLY; The resource group of the target. 2801 TargetResourceGroup *string `json:"targetResourceGroup,omitempty" azure:"ro"` 2802 2803 // READ-ONLY; The resource id of the target. 2804 TargetResourceID *string `json:"targetResourceId,omitempty" azure:"ro"` 2805 2806 // READ-ONLY; The subscription id for the target virtual machine. 2807 TargetSubscriptionID *string `json:"targetSubscriptionId,omitempty" azure:"ro"` 2808 2809 // READ-ONLY; The user name who is active on this session. 2810 UserName *string `json:"userName,omitempty" azure:"ro"` 2811} 2812 2813// Response for GetActiveSessions. 2814type BastionActiveSessionListResult struct { 2815 // The URL to get the next set of results. 2816 NextLink *string `json:"nextLink,omitempty"` 2817 2818 // List of active sessions on the bastion. 2819 Value *[]BastionActiveSession `json:"value,omitempty"` 2820} 2821 2822// BastionActiveSessionListResultPagerPollerResponse is the response envelope for operations that asynchronously return a BastionActiveSessionListResultPager 2823// type. 2824type BastionActiveSessionListResultPagerPollerResponse struct { 2825 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 2826 PollUntilDone func(ctx context.Context, frequency time.Duration) (BastionActiveSessionListResultPager, error) 2827 2828 // Poller contains an initialized poller. 2829 Poller BastionActiveSessionListResultPagerPoller 2830 2831 // RawResponse contains the underlying HTTP response. 2832 RawResponse *http.Response 2833} 2834 2835// BastionActiveSessionListResultResponse is the response envelope for operations that return a BastionActiveSessionListResult type. 2836type BastionActiveSessionListResultResponse struct { 2837 // Response for GetActiveSessions. 2838 BastionActiveSessionListResult *BastionActiveSessionListResult 2839 2840 // RawResponse contains the underlying HTTP response. 2841 RawResponse *http.Response 2842} 2843 2844// Bastion Host resource. 2845type BastionHost struct { 2846 Resource 2847 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2848 Etag *string `json:"etag,omitempty" azure:"ro"` 2849 2850 // Represents the bastion host resource. 2851 Properties *BastionHostPropertiesFormat `json:"properties,omitempty"` 2852} 2853 2854// IP configuration of an Bastion Host. 2855type BastionHostIPConfiguration struct { 2856 SubResource 2857 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 2858 Etag *string `json:"etag,omitempty" azure:"ro"` 2859 2860 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 2861 Name *string `json:"name,omitempty"` 2862 2863 // Represents the ip configuration associated with the resource. 2864 Properties *BastionHostIPConfigurationPropertiesFormat `json:"properties,omitempty"` 2865 2866 // READ-ONLY; Ip configuration type. 2867 Type *string `json:"type,omitempty" azure:"ro"` 2868} 2869 2870// Properties of IP configuration of an Bastion Host. 2871type BastionHostIPConfigurationPropertiesFormat struct { 2872 // Private IP allocation method. 2873 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 2874 2875 // READ-ONLY; The provisioning state of the bastion host IP configuration resource. 2876 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2877 2878 // Reference of the PublicIP resource. 2879 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 2880 2881 // Reference of the subnet resource. 2882 Subnet *SubResource `json:"subnet,omitempty"` 2883} 2884 2885// Response for ListBastionHosts API service call. 2886type BastionHostListResult struct { 2887 // URL to get the next set of results. 2888 NextLink *string `json:"nextLink,omitempty"` 2889 2890 // List of Bastion Hosts in a resource group. 2891 Value *[]BastionHost `json:"value,omitempty"` 2892} 2893 2894// BastionHostListResultResponse is the response envelope for operations that return a BastionHostListResult type. 2895type BastionHostListResultResponse struct { 2896 // Response for ListBastionHosts API service call. 2897 BastionHostListResult *BastionHostListResult 2898 2899 // RawResponse contains the underlying HTTP response. 2900 RawResponse *http.Response 2901} 2902 2903// BastionHostPollerResponse is the response envelope for operations that asynchronously return a BastionHost type. 2904type BastionHostPollerResponse struct { 2905 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 2906 PollUntilDone func(ctx context.Context, frequency time.Duration) (BastionHostResponse, error) 2907 2908 // Poller contains an initialized poller. 2909 Poller BastionHostPoller 2910 2911 // RawResponse contains the underlying HTTP response. 2912 RawResponse *http.Response 2913} 2914 2915// Properties of the Bastion Host. 2916type BastionHostPropertiesFormat struct { 2917 // FQDN for the endpoint on which bastion host is accessible. 2918 DNSName *string `json:"dnsName,omitempty"` 2919 2920 // IP configuration of the Bastion Host resource. 2921 IPConfigurations *[]BastionHostIPConfiguration `json:"ipConfigurations,omitempty"` 2922 2923 // READ-ONLY; The provisioning state of the bastion host resource. 2924 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 2925} 2926 2927// BastionHostResponse is the response envelope for operations that return a BastionHost type. 2928type BastionHostResponse struct { 2929 // Bastion Host resource. 2930 BastionHost *BastionHost 2931 2932 // RawResponse contains the underlying HTTP response. 2933 RawResponse *http.Response 2934} 2935 2936// BastionHostsBeginCreateOrUpdateOptions contains the optional parameters for the BastionHosts.BeginCreateOrUpdate method. 2937type BastionHostsBeginCreateOrUpdateOptions struct { 2938 // placeholder for future optional parameters 2939} 2940 2941// BastionHostsBeginDeleteOptions contains the optional parameters for the BastionHosts.BeginDelete method. 2942type BastionHostsBeginDeleteOptions struct { 2943 // placeholder for future optional parameters 2944} 2945 2946// BastionHostsGetOptions contains the optional parameters for the BastionHosts.Get method. 2947type BastionHostsGetOptions struct { 2948 // placeholder for future optional parameters 2949} 2950 2951// BastionHostsListByResourceGroupOptions contains the optional parameters for the BastionHosts.ListByResourceGroup method. 2952type BastionHostsListByResourceGroupOptions struct { 2953 // placeholder for future optional parameters 2954} 2955 2956// BastionHostsListOptions contains the optional parameters for the BastionHosts.List method. 2957type BastionHostsListOptions struct { 2958 // placeholder for future optional parameters 2959} 2960 2961// Response for DisconnectActiveSessions. 2962type BastionSessionDeleteResult struct { 2963 // The URL to get the next set of results. 2964 NextLink *string `json:"nextLink,omitempty"` 2965 2966 // List of sessions with their corresponding state. 2967 Value *[]BastionSessionState `json:"value,omitempty"` 2968} 2969 2970// BastionSessionDeleteResultResponse is the response envelope for operations that return a BastionSessionDeleteResult type. 2971type BastionSessionDeleteResultResponse struct { 2972 // Response for DisconnectActiveSessions. 2973 BastionSessionDeleteResult *BastionSessionDeleteResult 2974 2975 // RawResponse contains the underlying HTTP response. 2976 RawResponse *http.Response 2977} 2978 2979// The session state detail for a target. 2980type BastionSessionState struct { 2981 // READ-ONLY; Used for extra information. 2982 Message *string `json:"message,omitempty" azure:"ro"` 2983 2984 // READ-ONLY; A unique id for the session. 2985 SessionID *string `json:"sessionId,omitempty" azure:"ro"` 2986 2987 // READ-ONLY; The state of the session. Disconnected/Failed/NotFound. 2988 State *string `json:"state,omitempty" azure:"ro"` 2989} 2990 2991// Bastion Shareable Link. 2992type BastionShareableLink struct { 2993 // READ-ONLY; The unique Bastion Shareable Link to the virtual machine. 2994 Bsl *string `json:"bsl,omitempty" azure:"ro"` 2995 2996 // READ-ONLY; The time when the link was created. 2997 CreatedAt *string `json:"createdAt,omitempty" azure:"ro"` 2998 2999 // READ-ONLY; Optional field indicating the warning or error message related to the vm in case of partial failure. 3000 Message *string `json:"message,omitempty" azure:"ro"` 3001 3002 // Reference of the virtual machine resource. 3003 VM *Resource `json:"vm,omitempty"` 3004} 3005 3006// Post request for all the Bastion Shareable Link endpoints. 3007type BastionShareableLinkListRequest struct { 3008 // List of VM references. 3009 VMs *[]BastionShareableLink `json:"vms,omitempty"` 3010} 3011 3012// Response for all the Bastion Shareable Link endpoints. 3013type BastionShareableLinkListResult struct { 3014 // The URL to get the next set of results. 3015 NextLink *string `json:"nextLink,omitempty"` 3016 3017 // List of Bastion Shareable Links for the request. 3018 Value *[]BastionShareableLink `json:"value,omitempty"` 3019} 3020 3021// BastionShareableLinkListResultPagerPollerResponse is the response envelope for operations that asynchronously return a BastionShareableLinkListResultPager 3022// type. 3023type BastionShareableLinkListResultPagerPollerResponse struct { 3024 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 3025 PollUntilDone func(ctx context.Context, frequency time.Duration) (BastionShareableLinkListResultPager, error) 3026 3027 // Poller contains an initialized poller. 3028 Poller BastionShareableLinkListResultPagerPoller 3029 3030 // RawResponse contains the underlying HTTP response. 3031 RawResponse *http.Response 3032} 3033 3034// BastionShareableLinkListResultResponse is the response envelope for operations that return a BastionShareableLinkListResult type. 3035type BastionShareableLinkListResultResponse struct { 3036 // Response for all the Bastion Shareable Link endpoints. 3037 BastionShareableLinkListResult *BastionShareableLinkListResult 3038 3039 // RawResponse contains the underlying HTTP response. 3040 RawResponse *http.Response 3041} 3042 3043// Contains bgp community information offered in Service Community resources. 3044type BgpCommunity struct { 3045 // The name of the bgp community. e.g. Skype. 3046 CommunityName *string `json:"communityName,omitempty"` 3047 3048 // The prefixes that the bgp community contains. 3049 CommunityPrefixes *[]string `json:"communityPrefixes,omitempty"` 3050 3051 // The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 3052 CommunityValue *string `json:"communityValue,omitempty"` 3053 3054 // Customer is authorized to use bgp community or not. 3055 IsAuthorizedToUse *bool `json:"isAuthorizedToUse,omitempty"` 3056 3057 // The service group of the bgp community contains. 3058 ServiceGroup *string `json:"serviceGroup,omitempty"` 3059 3060 // The region which the service support. e.g. For O365, region is Global. 3061 ServiceSupportedRegion *string `json:"serviceSupportedRegion,omitempty"` 3062} 3063 3064// Virtual Appliance Site resource. 3065type BgpConnection struct { 3066 SubResource 3067 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 3068 Etag *string `json:"etag,omitempty" azure:"ro"` 3069 3070 // Name of the connection. 3071 Name *string `json:"name,omitempty"` 3072 3073 // The properties of the Bgp connections. 3074 Properties *BgpConnectionProperties `json:"properties,omitempty"` 3075 3076 // READ-ONLY; Connection type. 3077 Type *string `json:"type,omitempty" azure:"ro"` 3078} 3079 3080// BgpConnectionPollerResponse is the response envelope for operations that asynchronously return a BgpConnection type. 3081type BgpConnectionPollerResponse struct { 3082 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 3083 PollUntilDone func(ctx context.Context, frequency time.Duration) (BgpConnectionResponse, error) 3084 3085 // Poller contains an initialized poller. 3086 Poller BgpConnectionPoller 3087 3088 // RawResponse contains the underlying HTTP response. 3089 RawResponse *http.Response 3090} 3091 3092// Properties of the bgp connection. 3093type BgpConnectionProperties struct { 3094 // READ-ONLY; The current state of the VirtualHub to Peer. 3095 ConnectionState *HubBgpConnectionStatus `json:"connectionState,omitempty" azure:"ro"` 3096 3097 // Peer ASN. 3098 PeerAsn *int64 `json:"peerAsn,omitempty"` 3099 3100 // Peer IP. 3101 PeerIP *string `json:"peerIp,omitempty"` 3102 3103 // READ-ONLY; The provisioning state of the resource. 3104 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 3105} 3106 3107// BgpConnectionResponse is the response envelope for operations that return a BgpConnection type. 3108type BgpConnectionResponse struct { 3109 // Virtual Appliance Site resource. 3110 BgpConnection *BgpConnection 3111 3112 // RawResponse contains the underlying HTTP response. 3113 RawResponse *http.Response 3114} 3115 3116// BGP peer status details. 3117type BgpPeerStatus struct { 3118 // READ-ONLY; The autonomous system number of the remote BGP peer. 3119 Asn *int64 `json:"asn,omitempty" azure:"ro"` 3120 3121 // READ-ONLY; For how long the peering has been up. 3122 ConnectedDuration *string `json:"connectedDuration,omitempty" azure:"ro"` 3123 3124 // READ-ONLY; The virtual network gateway's local address. 3125 LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` 3126 3127 // READ-ONLY; The number of BGP messages received. 3128 MessagesReceived *int64 `json:"messagesReceived,omitempty" azure:"ro"` 3129 3130 // READ-ONLY; The number of BGP messages sent. 3131 MessagesSent *int64 `json:"messagesSent,omitempty" azure:"ro"` 3132 3133 // READ-ONLY; The remote BGP peer. 3134 Neighbor *string `json:"neighbor,omitempty" azure:"ro"` 3135 3136 // READ-ONLY; The number of routes learned from this peer. 3137 RoutesReceived *int64 `json:"routesReceived,omitempty" azure:"ro"` 3138 3139 // READ-ONLY; The BGP peer state. 3140 State *BgpPeerState `json:"state,omitempty" azure:"ro"` 3141} 3142 3143// Response for list BGP peer status API service call. 3144type BgpPeerStatusListResult struct { 3145 // List of BGP peers. 3146 Value *[]BgpPeerStatus `json:"value,omitempty"` 3147} 3148 3149// BgpPeerStatusListResultPollerResponse is the response envelope for operations that asynchronously return a BgpPeerStatusListResult type. 3150type BgpPeerStatusListResultPollerResponse struct { 3151 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 3152 PollUntilDone func(ctx context.Context, frequency time.Duration) (BgpPeerStatusListResultResponse, error) 3153 3154 // Poller contains an initialized poller. 3155 Poller BgpPeerStatusListResultPoller 3156 3157 // RawResponse contains the underlying HTTP response. 3158 RawResponse *http.Response 3159} 3160 3161// BgpPeerStatusListResultResponse is the response envelope for operations that return a BgpPeerStatusListResult type. 3162type BgpPeerStatusListResultResponse struct { 3163 // Response for list BGP peer status API service call. 3164 BgpPeerStatusListResult *BgpPeerStatusListResult 3165 3166 // RawResponse contains the underlying HTTP response. 3167 RawResponse *http.Response 3168} 3169 3170// BgpServiceCommunitiesListOptions contains the optional parameters for the BgpServiceCommunities.List method. 3171type BgpServiceCommunitiesListOptions struct { 3172 // placeholder for future optional parameters 3173} 3174 3175// Service Community Properties. 3176type BgpServiceCommunity struct { 3177 Resource 3178 // Properties of the BGP service community. 3179 Properties *BgpServiceCommunityPropertiesFormat `json:"properties,omitempty"` 3180} 3181 3182// Response for the ListServiceCommunity API service call. 3183type BgpServiceCommunityListResult struct { 3184 // The URL to get the next set of results. 3185 NextLink *string `json:"nextLink,omitempty"` 3186 3187 // A list of service community resources. 3188 Value *[]BgpServiceCommunity `json:"value,omitempty"` 3189} 3190 3191// BgpServiceCommunityListResultResponse is the response envelope for operations that return a BgpServiceCommunityListResult type. 3192type BgpServiceCommunityListResultResponse struct { 3193 // Response for the ListServiceCommunity API service call. 3194 BgpServiceCommunityListResult *BgpServiceCommunityListResult 3195 3196 // RawResponse contains the underlying HTTP response. 3197 RawResponse *http.Response 3198} 3199 3200// Properties of Service Community. 3201type BgpServiceCommunityPropertiesFormat struct { 3202 // A list of bgp communities. 3203 BgpCommunities *[]BgpCommunity `json:"bgpCommunities,omitempty"` 3204 3205 // The name of the bgp community. e.g. Skype. 3206 ServiceName *string `json:"serviceName,omitempty"` 3207} 3208 3209// BGP settings details. 3210type BgpSettings struct { 3211 // The BGP speaker's ASN. 3212 Asn *int64 `json:"asn,omitempty"` 3213 3214 // The BGP peering address and BGP identifier of this BGP speaker. 3215 BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` 3216 3217 // BGP peering address with IP configuration ID for virtual network gateway. 3218 BgpPeeringAddresses *[]IPConfigurationBgpPeeringAddress `json:"bgpPeeringAddresses,omitempty"` 3219 3220 // The weight added to routes learned from this BGP speaker. 3221 PeerWeight *int32 `json:"peerWeight,omitempty"` 3222} 3223 3224// Network Virtual Appliance Sku Properties. 3225type BreakOutCategoryPolicies struct { 3226 // Flag to control breakout of o365 allow category. 3227 Allow *bool `json:"allow,omitempty"` 3228 3229 // Flag to control breakout of o365 default category. 3230 Default *bool `json:"default,omitempty"` 3231 3232 // Flag to control breakout of o365 optimize category. 3233 Optimize *bool `json:"optimize,omitempty"` 3234} 3235 3236// Request body of the CheckPrivateLinkServiceVisibility API service call. 3237type CheckPrivateLinkServiceVisibilityRequest struct { 3238 // The alias of the private link service. 3239 PrivateLinkServiceAlias *string `json:"privateLinkServiceAlias,omitempty"` 3240} 3241 3242// An error response from the service. 3243type CloudError struct { 3244 // Cloud error body. 3245 InnerError *CloudErrorBody `json:"error,omitempty"` 3246} 3247 3248// Error implements the error interface for type CloudError. 3249func (e CloudError) Error() string { 3250 msg := "" 3251 if e.InnerError != nil { 3252 msg += "InnerError: \n" 3253 if e.InnerError.Code != nil { 3254 msg += fmt.Sprintf("\tCode: %v\n", *e.InnerError.Code) 3255 } 3256 if e.InnerError.Message != nil { 3257 msg += fmt.Sprintf("\tMessage: %v\n", *e.InnerError.Message) 3258 } 3259 if e.InnerError.Target != nil { 3260 msg += fmt.Sprintf("\tTarget: %v\n", *e.InnerError.Target) 3261 } 3262 if e.InnerError.Details != nil { 3263 msg += fmt.Sprintf("\tDetails: %v\n", *e.InnerError.Details) 3264 } 3265 } 3266 if msg == "" { 3267 msg = "missing error info" 3268 } 3269 return msg 3270} 3271 3272// An error response from the service. 3273type CloudErrorBody struct { 3274 // An identifier for the error. Codes are invariant and are intended to be consumed programmatically. 3275 Code *string `json:"code,omitempty"` 3276 3277 // A list of additional details about the error. 3278 Details *[]CloudErrorBody `json:"details,omitempty"` 3279 3280 // A message describing the error, intended to be suitable for display in a user interface. 3281 Message *string `json:"message,omitempty"` 3282 3283 // The target of the particular error. For example, the name of the property in error. 3284 Target *string `json:"target,omitempty"` 3285} 3286 3287type Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties struct { 3288 // READ-ONLY; The client id of user assigned identity. 3289 ClientID *string `json:"clientId,omitempty" azure:"ro"` 3290 3291 // READ-ONLY; The principal id of user assigned identity. 3292 PrincipalID *string `json:"principalId,omitempty" azure:"ro"` 3293} 3294 3295// Parameters that define the operation to create a connection monitor. 3296type ConnectionMonitor struct { 3297 // Connection monitor location. 3298 Location *string `json:"location,omitempty"` 3299 3300 // Properties of the connection monitor. 3301 Properties *ConnectionMonitorParameters `json:"properties,omitempty"` 3302 3303 // Connection monitor tags. 3304 Tags *map[string]string `json:"tags,omitempty"` 3305} 3306 3307// Describes the destination of connection monitor. 3308type ConnectionMonitorDestination struct { 3309 // Address of the connection monitor destination (IP or domain name). 3310 Address *string `json:"address,omitempty"` 3311 3312 // The destination port used by connection monitor. 3313 Port *int32 `json:"port,omitempty"` 3314 3315 // The ID of the resource used as the destination by connection monitor. 3316 ResourceID *string `json:"resourceId,omitempty"` 3317} 3318 3319// Describes the connection monitor endpoint. 3320type ConnectionMonitorEndpoint struct { 3321 // Address of the connection monitor endpoint (IP or domain name). 3322 Address *string `json:"address,omitempty"` 3323 3324 // Test coverage for the endpoint. 3325 CoverageLevel *CoverageLevel `json:"coverageLevel,omitempty"` 3326 3327 // Filter for sub-items within the endpoint. 3328 Filter *ConnectionMonitorEndpointFilter `json:"filter,omitempty"` 3329 3330 // The name of the connection monitor endpoint. 3331 Name *string `json:"name,omitempty"` 3332 3333 // Resource ID of the connection monitor endpoint. 3334 ResourceID *string `json:"resourceId,omitempty"` 3335 3336 // Endpoint scope. 3337 Scope *ConnectionMonitorEndpointScope `json:"scope,omitempty"` 3338 3339 // The endpoint type. 3340 Type *EndpointType `json:"type,omitempty"` 3341} 3342 3343// Describes the connection monitor endpoint filter. 3344type ConnectionMonitorEndpointFilter struct { 3345 // List of items in the filter. 3346 Items *[]ConnectionMonitorEndpointFilterItem `json:"items,omitempty"` 3347 3348 // The behavior of the endpoint filter. Currently only 'Include' is supported. 3349 Type *ConnectionMonitorEndpointFilterType `json:"type,omitempty"` 3350} 3351 3352// Describes the connection monitor endpoint filter item. 3353type ConnectionMonitorEndpointFilterItem struct { 3354 // The address of the filter item. 3355 Address *string `json:"address,omitempty"` 3356 3357 // The type of item included in the filter. Currently only 'AgentAddress' is supported. 3358 Type *ConnectionMonitorEndpointFilterItemType `json:"type,omitempty"` 3359} 3360 3361// Describes the connection monitor endpoint scope. 3362type ConnectionMonitorEndpointScope struct { 3363 // List of items which needs to be excluded from the endpoint scope. 3364 Exclude *[]ConnectionMonitorEndpointScopeItem `json:"exclude,omitempty"` 3365 3366 // List of items which needs to be included to the endpoint scope. 3367 Include *[]ConnectionMonitorEndpointScopeItem `json:"include,omitempty"` 3368} 3369 3370// Describes the connection monitor endpoint scope item. 3371type ConnectionMonitorEndpointScopeItem struct { 3372 // The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address. 3373 Address *string `json:"address,omitempty"` 3374} 3375 3376// Describes the HTTP configuration. 3377type ConnectionMonitorHTTPConfiguration struct { 3378 // The HTTP method to use. 3379 Method *HTTPConfigurationMethod `json:"method,omitempty"` 3380 3381 // The path component of the URI. For instance, "/dir1/dir2". 3382 Path *string `json:"path,omitempty"` 3383 3384 // The port to connect to. 3385 Port *int32 `json:"port,omitempty"` 3386 3387 // Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit. 3388 PreferHTTPs *bool `json:"preferHTTPS,omitempty"` 3389 3390 // The HTTP headers to transmit with the request. 3391 RequestHeaders *[]HTTPHeader `json:"requestHeaders,omitempty"` 3392 3393 // HTTP status codes to consider successful. For instance, "2xx,301-304,418". 3394 ValidStatusCodeRanges *[]string `json:"validStatusCodeRanges,omitempty"` 3395} 3396 3397// Describes the ICMP configuration. 3398type ConnectionMonitorIcmpConfiguration struct { 3399 // Value indicating whether path evaluation with trace route should be disabled. 3400 DisableTraceRoute *bool `json:"disableTraceRoute,omitempty"` 3401} 3402 3403// List of connection monitors. 3404type ConnectionMonitorListResult struct { 3405 // Information about connection monitors. 3406 Value *[]ConnectionMonitorResult `json:"value,omitempty"` 3407} 3408 3409// ConnectionMonitorListResultResponse is the response envelope for operations that return a ConnectionMonitorListResult type. 3410type ConnectionMonitorListResultResponse struct { 3411 // List of connection monitors. 3412 ConnectionMonitorListResult *ConnectionMonitorListResult 3413 3414 // RawResponse contains the underlying HTTP response. 3415 RawResponse *http.Response 3416} 3417 3418// Describes a connection monitor output destination. 3419type ConnectionMonitorOutput struct { 3420 // Connection monitor output destination type. Currently, only "Workspace" is supported. 3421 Type *OutputType `json:"type,omitempty"` 3422 3423 // Describes the settings for producing output into a log analytics workspace. 3424 WorkspaceSettings *ConnectionMonitorWorkspaceSettings `json:"workspaceSettings,omitempty"` 3425} 3426 3427// Parameters that define the operation to create a connection monitor. 3428type ConnectionMonitorParameters struct { 3429 // Determines if the connection monitor will start automatically once created. 3430 AutoStart *bool `json:"autoStart,omitempty"` 3431 3432 // Describes the destination of connection monitor. 3433 Destination *ConnectionMonitorDestination `json:"destination,omitempty"` 3434 3435 // List of connection monitor endpoints. 3436 Endpoints *[]ConnectionMonitorEndpoint `json:"endpoints,omitempty"` 3437 3438 // Monitoring interval in seconds. 3439 MonitoringIntervalInSeconds *int32 `json:"monitoringIntervalInSeconds,omitempty"` 3440 3441 // Optional notes to be associated with the connection monitor. 3442 Notes *string `json:"notes,omitempty"` 3443 3444 // List of connection monitor outputs. 3445 Outputs *[]ConnectionMonitorOutput `json:"outputs,omitempty"` 3446 3447 // Describes the source of connection monitor. 3448 Source *ConnectionMonitorSource `json:"source,omitempty"` 3449 3450 // List of connection monitor test configurations. 3451 TestConfigurations *[]ConnectionMonitorTestConfiguration `json:"testConfigurations,omitempty"` 3452 3453 // List of connection monitor test groups. 3454 TestGroups *[]ConnectionMonitorTestGroup `json:"testGroups,omitempty"` 3455} 3456 3457func (c ConnectionMonitorParameters) marshalInternal() map[string]interface{} { 3458 objectMap := make(map[string]interface{}) 3459 if c.AutoStart != nil { 3460 objectMap["autoStart"] = c.AutoStart 3461 } 3462 if c.Destination != nil { 3463 objectMap["destination"] = c.Destination 3464 } 3465 if c.Endpoints != nil { 3466 objectMap["endpoints"] = c.Endpoints 3467 } 3468 if c.MonitoringIntervalInSeconds != nil { 3469 objectMap["monitoringIntervalInSeconds"] = c.MonitoringIntervalInSeconds 3470 } 3471 if c.Notes != nil { 3472 objectMap["notes"] = c.Notes 3473 } 3474 if c.Outputs != nil { 3475 objectMap["outputs"] = c.Outputs 3476 } 3477 if c.Source != nil { 3478 objectMap["source"] = c.Source 3479 } 3480 if c.TestConfigurations != nil { 3481 objectMap["testConfigurations"] = c.TestConfigurations 3482 } 3483 if c.TestGroups != nil { 3484 objectMap["testGroups"] = c.TestGroups 3485 } 3486 return objectMap 3487} 3488 3489func (c *ConnectionMonitorParameters) unmarshalInternal(rawMsg map[string]*json.RawMessage) error { 3490 for key, val := range rawMsg { 3491 var err error 3492 switch key { 3493 case "autoStart": 3494 if val != nil { 3495 err = json.Unmarshal(*val, &c.AutoStart) 3496 } 3497 delete(rawMsg, key) 3498 case "destination": 3499 if val != nil { 3500 err = json.Unmarshal(*val, &c.Destination) 3501 } 3502 delete(rawMsg, key) 3503 case "endpoints": 3504 if val != nil { 3505 err = json.Unmarshal(*val, &c.Endpoints) 3506 } 3507 delete(rawMsg, key) 3508 case "monitoringIntervalInSeconds": 3509 if val != nil { 3510 err = json.Unmarshal(*val, &c.MonitoringIntervalInSeconds) 3511 } 3512 delete(rawMsg, key) 3513 case "notes": 3514 if val != nil { 3515 err = json.Unmarshal(*val, &c.Notes) 3516 } 3517 delete(rawMsg, key) 3518 case "outputs": 3519 if val != nil { 3520 err = json.Unmarshal(*val, &c.Outputs) 3521 } 3522 delete(rawMsg, key) 3523 case "source": 3524 if val != nil { 3525 err = json.Unmarshal(*val, &c.Source) 3526 } 3527 delete(rawMsg, key) 3528 case "testConfigurations": 3529 if val != nil { 3530 err = json.Unmarshal(*val, &c.TestConfigurations) 3531 } 3532 delete(rawMsg, key) 3533 case "testGroups": 3534 if val != nil { 3535 err = json.Unmarshal(*val, &c.TestGroups) 3536 } 3537 delete(rawMsg, key) 3538 } 3539 if err != nil { 3540 return err 3541 } 3542 } 3543 return nil 3544} 3545 3546// List of connection states snapshots. 3547type ConnectionMonitorQueryResult struct { 3548 // Status of connection monitor source. 3549 SourceStatus *ConnectionMonitorSourceStatus `json:"sourceStatus,omitempty"` 3550 3551 // Information about connection states. 3552 States *[]ConnectionStateSnapshot `json:"states,omitempty"` 3553} 3554 3555// ConnectionMonitorQueryResultPollerResponse is the response envelope for operations that asynchronously return a ConnectionMonitorQueryResult type. 3556type ConnectionMonitorQueryResultPollerResponse struct { 3557 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 3558 PollUntilDone func(ctx context.Context, frequency time.Duration) (ConnectionMonitorQueryResultResponse, error) 3559 3560 // Poller contains an initialized poller. 3561 Poller ConnectionMonitorQueryResultPoller 3562 3563 // RawResponse contains the underlying HTTP response. 3564 RawResponse *http.Response 3565} 3566 3567// ConnectionMonitorQueryResultResponse is the response envelope for operations that return a ConnectionMonitorQueryResult type. 3568type ConnectionMonitorQueryResultResponse struct { 3569 // List of connection states snapshots. 3570 ConnectionMonitorQueryResult *ConnectionMonitorQueryResult 3571 3572 // RawResponse contains the underlying HTTP response. 3573 RawResponse *http.Response 3574} 3575 3576// Information about the connection monitor. 3577type ConnectionMonitorResult struct { 3578 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 3579 Etag *string `json:"etag,omitempty" azure:"ro"` 3580 3581 // READ-ONLY; ID of the connection monitor. 3582 ID *string `json:"id,omitempty" azure:"ro"` 3583 3584 // Connection monitor location. 3585 Location *string `json:"location,omitempty"` 3586 3587 // READ-ONLY; Name of the connection monitor. 3588 Name *string `json:"name,omitempty" azure:"ro"` 3589 3590 // Properties of the connection monitor result. 3591 Properties *ConnectionMonitorResultProperties `json:"properties,omitempty"` 3592 3593 // Connection monitor tags. 3594 Tags *map[string]string `json:"tags,omitempty"` 3595 3596 // READ-ONLY; Connection monitor type. 3597 Type *string `json:"type,omitempty" azure:"ro"` 3598} 3599 3600// ConnectionMonitorResultPollerResponse is the response envelope for operations that asynchronously return a ConnectionMonitorResult type. 3601type ConnectionMonitorResultPollerResponse struct { 3602 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 3603 PollUntilDone func(ctx context.Context, frequency time.Duration) (ConnectionMonitorResultResponse, error) 3604 3605 // Poller contains an initialized poller. 3606 Poller ConnectionMonitorResultPoller 3607 3608 // RawResponse contains the underlying HTTP response. 3609 RawResponse *http.Response 3610} 3611 3612// Describes the properties of a connection monitor. 3613type ConnectionMonitorResultProperties struct { 3614 ConnectionMonitorParameters 3615 // READ-ONLY; Type of connection monitor. 3616 ConnectionMonitorType *ConnectionMonitorType `json:"connectionMonitorType,omitempty" azure:"ro"` 3617 3618 // READ-ONLY; The monitoring status of the connection monitor. 3619 MonitoringStatus *string `json:"monitoringStatus,omitempty" azure:"ro"` 3620 3621 // READ-ONLY; The provisioning state of the connection monitor. 3622 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 3623 3624 // READ-ONLY; The date and time when the connection monitor was started. 3625 StartTime *time.Time `json:"startTime,omitempty" azure:"ro"` 3626} 3627 3628// MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorResultProperties. 3629func (c ConnectionMonitorResultProperties) MarshalJSON() ([]byte, error) { 3630 objectMap := c.ConnectionMonitorParameters.marshalInternal() 3631 if c.ConnectionMonitorType != nil { 3632 objectMap["connectionMonitorType"] = c.ConnectionMonitorType 3633 } 3634 if c.MonitoringStatus != nil { 3635 objectMap["monitoringStatus"] = c.MonitoringStatus 3636 } 3637 if c.ProvisioningState != nil { 3638 objectMap["provisioningState"] = c.ProvisioningState 3639 } 3640 if c.StartTime != nil { 3641 objectMap["startTime"] = (*timeRFC3339)(c.StartTime) 3642 } 3643 return json.Marshal(objectMap) 3644} 3645 3646// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorResultProperties. 3647func (c *ConnectionMonitorResultProperties) UnmarshalJSON(data []byte) error { 3648 var rawMsg map[string]*json.RawMessage 3649 if err := json.Unmarshal(data, &rawMsg); err != nil { 3650 return err 3651 } 3652 for key, val := range rawMsg { 3653 var err error 3654 switch key { 3655 case "connectionMonitorType": 3656 if val != nil { 3657 err = json.Unmarshal(*val, &c.ConnectionMonitorType) 3658 } 3659 delete(rawMsg, key) 3660 case "monitoringStatus": 3661 if val != nil { 3662 err = json.Unmarshal(*val, &c.MonitoringStatus) 3663 } 3664 delete(rawMsg, key) 3665 case "provisioningState": 3666 if val != nil { 3667 err = json.Unmarshal(*val, &c.ProvisioningState) 3668 } 3669 delete(rawMsg, key) 3670 case "startTime": 3671 if val != nil { 3672 var aux timeRFC3339 3673 err = json.Unmarshal(*val, &aux) 3674 c.StartTime = (*time.Time)(&aux) 3675 } 3676 delete(rawMsg, key) 3677 } 3678 if err != nil { 3679 return err 3680 } 3681 } 3682 return c.ConnectionMonitorParameters.unmarshalInternal(rawMsg) 3683} 3684 3685// ConnectionMonitorResultResponse is the response envelope for operations that return a ConnectionMonitorResult type. 3686type ConnectionMonitorResultResponse struct { 3687 // Information about the connection monitor. 3688 ConnectionMonitorResult *ConnectionMonitorResult 3689 3690 // RawResponse contains the underlying HTTP response. 3691 RawResponse *http.Response 3692} 3693 3694// Describes the source of connection monitor. 3695type ConnectionMonitorSource struct { 3696 // The source port used by connection monitor. 3697 Port *int32 `json:"port,omitempty"` 3698 3699 // The ID of the resource used as the source by connection monitor. 3700 ResourceID *string `json:"resourceId,omitempty"` 3701} 3702 3703// Describes the threshold for declaring a test successful. 3704type ConnectionMonitorSuccessThreshold struct { 3705 // The maximum percentage of failed checks permitted for a test to evaluate as successful. 3706 ChecksFailedPercent *int32 `json:"checksFailedPercent,omitempty"` 3707 3708 // The maximum round-trip time in milliseconds permitted for a test to evaluate as successful. 3709 RoundTripTimeMS *float32 `json:"roundTripTimeMs,omitempty"` 3710} 3711 3712// Describes the TCP configuration. 3713type ConnectionMonitorTCPConfiguration struct { 3714 // Destination port behavior. 3715 DestinationPortBehavior *DestinationPortBehavior `json:"destinationPortBehavior,omitempty"` 3716 3717 // Value indicating whether path evaluation with trace route should be disabled. 3718 DisableTraceRoute *bool `json:"disableTraceRoute,omitempty"` 3719 3720 // The port to connect to. 3721 Port *int32 `json:"port,omitempty"` 3722} 3723 3724// Describes a connection monitor test configuration. 3725type ConnectionMonitorTestConfiguration struct { 3726 // The parameters used to perform test evaluation over HTTP. 3727 HTTPConfiguration *ConnectionMonitorHTTPConfiguration `json:"httpConfiguration,omitempty"` 3728 3729 // The parameters used to perform test evaluation over ICMP. 3730 IcmpConfiguration *ConnectionMonitorIcmpConfiguration `json:"icmpConfiguration,omitempty"` 3731 3732 // The name of the connection monitor test configuration. 3733 Name *string `json:"name,omitempty"` 3734 3735 // The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters. 3736 PreferredIPVersion *PreferredIPVersion `json:"preferredIPVersion,omitempty"` 3737 3738 // The protocol to use in test evaluation. 3739 Protocol *ConnectionMonitorTestConfigurationProtocol `json:"protocol,omitempty"` 3740 3741 // The threshold for declaring a test successful. 3742 SuccessThreshold *ConnectionMonitorSuccessThreshold `json:"successThreshold,omitempty"` 3743 3744 // The parameters used to perform test evaluation over TCP. 3745 TCPConfiguration *ConnectionMonitorTCPConfiguration `json:"tcpConfiguration,omitempty"` 3746 3747 // The frequency of test evaluation, in seconds. 3748 TestFrequencySec *int32 `json:"testFrequencySec,omitempty"` 3749} 3750 3751// Describes the connection monitor test group. 3752type ConnectionMonitorTestGroup struct { 3753 // List of destination endpoint names. 3754 Destinations *[]string `json:"destinations,omitempty"` 3755 3756 // Value indicating whether test group is disabled. 3757 Disable *bool `json:"disable,omitempty"` 3758 3759 // The name of the connection monitor test group. 3760 Name *string `json:"name,omitempty"` 3761 3762 // List of source endpoint names. 3763 Sources *[]string `json:"sources,omitempty"` 3764 3765 // List of test configuration names. 3766 TestConfigurations *[]string `json:"testConfigurations,omitempty"` 3767} 3768 3769// Describes the settings for producing output into a log analytics workspace. 3770type ConnectionMonitorWorkspaceSettings struct { 3771 // Log analytics workspace resource ID. 3772 WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` 3773} 3774 3775// ConnectionMonitorsBeginCreateOrUpdateOptions contains the optional parameters for the ConnectionMonitors.BeginCreateOrUpdate method. 3776type ConnectionMonitorsBeginCreateOrUpdateOptions struct { 3777 // Value indicating whether connection monitor V1 should be migrated to V2 format. 3778 Migrate *string 3779} 3780 3781// ConnectionMonitorsBeginDeleteOptions contains the optional parameters for the ConnectionMonitors.BeginDelete method. 3782type ConnectionMonitorsBeginDeleteOptions struct { 3783 // placeholder for future optional parameters 3784} 3785 3786// ConnectionMonitorsBeginQueryOptions contains the optional parameters for the ConnectionMonitors.BeginQuery method. 3787type ConnectionMonitorsBeginQueryOptions struct { 3788 // placeholder for future optional parameters 3789} 3790 3791// ConnectionMonitorsBeginStartOptions contains the optional parameters for the ConnectionMonitors.BeginStart method. 3792type ConnectionMonitorsBeginStartOptions struct { 3793 // placeholder for future optional parameters 3794} 3795 3796// ConnectionMonitorsBeginStopOptions contains the optional parameters for the ConnectionMonitors.BeginStop method. 3797type ConnectionMonitorsBeginStopOptions struct { 3798 // placeholder for future optional parameters 3799} 3800 3801// ConnectionMonitorsGetOptions contains the optional parameters for the ConnectionMonitors.Get method. 3802type ConnectionMonitorsGetOptions struct { 3803 // placeholder for future optional parameters 3804} 3805 3806// ConnectionMonitorsListOptions contains the optional parameters for the ConnectionMonitors.List method. 3807type ConnectionMonitorsListOptions struct { 3808 // placeholder for future optional parameters 3809} 3810 3811// ConnectionMonitorsUpdateTagsOptions contains the optional parameters for the ConnectionMonitors.UpdateTags method. 3812type ConnectionMonitorsUpdateTagsOptions struct { 3813 // placeholder for future optional parameters 3814} 3815 3816// The virtual network connection reset shared key. 3817type ConnectionResetSharedKey struct { 3818 // The virtual network connection reset shared key length, should between 1 and 128. 3819 KeyLength *int32 `json:"keyLength,omitempty"` 3820} 3821 3822// ConnectionResetSharedKeyPollerResponse is the response envelope for operations that asynchronously return a ConnectionResetSharedKey type. 3823type ConnectionResetSharedKeyPollerResponse struct { 3824 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 3825 PollUntilDone func(ctx context.Context, frequency time.Duration) (ConnectionResetSharedKeyResponse, error) 3826 3827 // Poller contains an initialized poller. 3828 Poller ConnectionResetSharedKeyPoller 3829 3830 // RawResponse contains the underlying HTTP response. 3831 RawResponse *http.Response 3832} 3833 3834// ConnectionResetSharedKeyResponse is the response envelope for operations that return a ConnectionResetSharedKey type. 3835type ConnectionResetSharedKeyResponse struct { 3836 // The virtual network connection reset shared key. 3837 ConnectionResetSharedKey *ConnectionResetSharedKey 3838 3839 // RawResponse contains the underlying HTTP response. 3840 RawResponse *http.Response 3841} 3842 3843// Response for GetConnectionSharedKey API service call. 3844type ConnectionSharedKey struct { 3845 SubResource 3846 // The virtual network connection shared key value. 3847 Value *string `json:"value,omitempty"` 3848} 3849 3850// ConnectionSharedKeyPollerResponse is the response envelope for operations that asynchronously return a ConnectionSharedKey type. 3851type ConnectionSharedKeyPollerResponse struct { 3852 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 3853 PollUntilDone func(ctx context.Context, frequency time.Duration) (ConnectionSharedKeyResponse, error) 3854 3855 // Poller contains an initialized poller. 3856 Poller ConnectionSharedKeyPoller 3857 3858 // RawResponse contains the underlying HTTP response. 3859 RawResponse *http.Response 3860} 3861 3862// ConnectionSharedKeyResponse is the response envelope for operations that return a ConnectionSharedKey type. 3863type ConnectionSharedKeyResponse struct { 3864 // Response for GetConnectionSharedKey API service call. 3865 ConnectionSharedKey *ConnectionSharedKey 3866 3867 // RawResponse contains the underlying HTTP response. 3868 RawResponse *http.Response 3869} 3870 3871// Connection state snapshot. 3872type ConnectionStateSnapshot struct { 3873 // Average latency in ms. 3874 AvgLatencyInMS *int64 `json:"avgLatencyInMs,omitempty"` 3875 3876 // The connection state. 3877 ConnectionState *ConnectionState `json:"connectionState,omitempty"` 3878 3879 // The end time of the connection snapshot. 3880 EndTime *time.Time `json:"endTime,omitempty"` 3881 3882 // Connectivity analysis evaluation state. 3883 EvaluationState *EvaluationState `json:"evaluationState,omitempty"` 3884 3885 // READ-ONLY; List of hops between the source and the destination. 3886 Hops *[]ConnectivityHop `json:"hops,omitempty" azure:"ro"` 3887 3888 // Maximum latency in ms. 3889 MaxLatencyInMS *int64 `json:"maxLatencyInMs,omitempty"` 3890 3891 // Minimum latency in ms. 3892 MinLatencyInMS *int64 `json:"minLatencyInMs,omitempty"` 3893 3894 // The number of failed probes. 3895 ProbesFailed *int64 `json:"probesFailed,omitempty"` 3896 3897 // The number of sent probes. 3898 ProbesSent *int64 `json:"probesSent,omitempty"` 3899 3900 // The start time of the connection snapshot. 3901 StartTime *time.Time `json:"startTime,omitempty"` 3902} 3903 3904// MarshalJSON implements the json.Marshaller interface for type ConnectionStateSnapshot. 3905func (c ConnectionStateSnapshot) MarshalJSON() ([]byte, error) { 3906 objectMap := make(map[string]interface{}) 3907 if c.AvgLatencyInMS != nil { 3908 objectMap["avgLatencyInMs"] = c.AvgLatencyInMS 3909 } 3910 if c.ConnectionState != nil { 3911 objectMap["connectionState"] = c.ConnectionState 3912 } 3913 if c.EndTime != nil { 3914 objectMap["endTime"] = (*timeRFC3339)(c.EndTime) 3915 } 3916 if c.EvaluationState != nil { 3917 objectMap["evaluationState"] = c.EvaluationState 3918 } 3919 if c.Hops != nil { 3920 objectMap["hops"] = c.Hops 3921 } 3922 if c.MaxLatencyInMS != nil { 3923 objectMap["maxLatencyInMs"] = c.MaxLatencyInMS 3924 } 3925 if c.MinLatencyInMS != nil { 3926 objectMap["minLatencyInMs"] = c.MinLatencyInMS 3927 } 3928 if c.ProbesFailed != nil { 3929 objectMap["probesFailed"] = c.ProbesFailed 3930 } 3931 if c.ProbesSent != nil { 3932 objectMap["probesSent"] = c.ProbesSent 3933 } 3934 if c.StartTime != nil { 3935 objectMap["startTime"] = (*timeRFC3339)(c.StartTime) 3936 } 3937 return json.Marshal(objectMap) 3938} 3939 3940// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionStateSnapshot. 3941func (c *ConnectionStateSnapshot) UnmarshalJSON(data []byte) error { 3942 var rawMsg map[string]*json.RawMessage 3943 if err := json.Unmarshal(data, &rawMsg); err != nil { 3944 return err 3945 } 3946 for key, val := range rawMsg { 3947 var err error 3948 switch key { 3949 case "avgLatencyInMs": 3950 if val != nil { 3951 err = json.Unmarshal(*val, &c.AvgLatencyInMS) 3952 } 3953 delete(rawMsg, key) 3954 case "connectionState": 3955 if val != nil { 3956 err = json.Unmarshal(*val, &c.ConnectionState) 3957 } 3958 delete(rawMsg, key) 3959 case "endTime": 3960 if val != nil { 3961 var aux timeRFC3339 3962 err = json.Unmarshal(*val, &aux) 3963 c.EndTime = (*time.Time)(&aux) 3964 } 3965 delete(rawMsg, key) 3966 case "evaluationState": 3967 if val != nil { 3968 err = json.Unmarshal(*val, &c.EvaluationState) 3969 } 3970 delete(rawMsg, key) 3971 case "hops": 3972 if val != nil { 3973 err = json.Unmarshal(*val, &c.Hops) 3974 } 3975 delete(rawMsg, key) 3976 case "maxLatencyInMs": 3977 if val != nil { 3978 err = json.Unmarshal(*val, &c.MaxLatencyInMS) 3979 } 3980 delete(rawMsg, key) 3981 case "minLatencyInMs": 3982 if val != nil { 3983 err = json.Unmarshal(*val, &c.MinLatencyInMS) 3984 } 3985 delete(rawMsg, key) 3986 case "probesFailed": 3987 if val != nil { 3988 err = json.Unmarshal(*val, &c.ProbesFailed) 3989 } 3990 delete(rawMsg, key) 3991 case "probesSent": 3992 if val != nil { 3993 err = json.Unmarshal(*val, &c.ProbesSent) 3994 } 3995 delete(rawMsg, key) 3996 case "startTime": 3997 if val != nil { 3998 var aux timeRFC3339 3999 err = json.Unmarshal(*val, &aux) 4000 c.StartTime = (*time.Time)(&aux) 4001 } 4002 delete(rawMsg, key) 4003 } 4004 if err != nil { 4005 return err 4006 } 4007 } 4008 return nil 4009} 4010 4011// Parameters that define destination of connection. 4012type ConnectivityDestination struct { 4013 // The IP address or URI the resource to which a connection attempt will be made. 4014 Address *string `json:"address,omitempty"` 4015 4016 // Port on which check connectivity will be performed. 4017 Port *int32 `json:"port,omitempty"` 4018 4019 // The ID of the resource to which a connection attempt will be made. 4020 ResourceID *string `json:"resourceId,omitempty"` 4021} 4022 4023// Information about a hop between the source and the destination. 4024type ConnectivityHop struct { 4025 // READ-ONLY; The IP address of the hop. 4026 Address *string `json:"address,omitempty" azure:"ro"` 4027 4028 // READ-ONLY; The ID of the hop. 4029 ID *string `json:"id,omitempty" azure:"ro"` 4030 4031 // READ-ONLY; List of issues. 4032 Issues *[]ConnectivityIssue `json:"issues,omitempty" azure:"ro"` 4033 4034 // READ-ONLY; List of hop links. 4035 Links *[]HopLink `json:"links,omitempty" azure:"ro"` 4036 4037 // READ-ONLY; List of next hop identifiers. 4038 NextHopIDs *[]string `json:"nextHopIds,omitempty" azure:"ro"` 4039 4040 // READ-ONLY; List of previous hop identifiers. 4041 PreviousHopIDs *[]string `json:"previousHopIds,omitempty" azure:"ro"` 4042 4043 // READ-ONLY; List of previous hop links. 4044 PreviousLinks *[]HopLink `json:"previousLinks,omitempty" azure:"ro"` 4045 4046 // READ-ONLY; The ID of the resource corresponding to this hop. 4047 ResourceID *string `json:"resourceId,omitempty" azure:"ro"` 4048 4049 // READ-ONLY; The type of the hop. 4050 Type *string `json:"type,omitempty" azure:"ro"` 4051} 4052 4053// Information on the connectivity status. 4054type ConnectivityInformation struct { 4055 // READ-ONLY; Average latency in milliseconds. 4056 AvgLatencyInMS *int32 `json:"avgLatencyInMs,omitempty" azure:"ro"` 4057 4058 // READ-ONLY; The connection status. 4059 ConnectionStatus *ConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 4060 4061 // READ-ONLY; List of hops between the source and the destination. 4062 Hops *[]ConnectivityHop `json:"hops,omitempty" azure:"ro"` 4063 4064 // READ-ONLY; Maximum latency in milliseconds. 4065 MaxLatencyInMS *int32 `json:"maxLatencyInMs,omitempty" azure:"ro"` 4066 4067 // READ-ONLY; Minimum latency in milliseconds. 4068 MinLatencyInMS *int32 `json:"minLatencyInMs,omitempty" azure:"ro"` 4069 4070 // READ-ONLY; Number of failed probes. 4071 ProbesFailed *int32 `json:"probesFailed,omitempty" azure:"ro"` 4072 4073 // READ-ONLY; Total number of probes sent. 4074 ProbesSent *int32 `json:"probesSent,omitempty" azure:"ro"` 4075} 4076 4077// ConnectivityInformationPollerResponse is the response envelope for operations that asynchronously return a ConnectivityInformation type. 4078type ConnectivityInformationPollerResponse struct { 4079 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 4080 PollUntilDone func(ctx context.Context, frequency time.Duration) (ConnectivityInformationResponse, error) 4081 4082 // Poller contains an initialized poller. 4083 Poller ConnectivityInformationPoller 4084 4085 // RawResponse contains the underlying HTTP response. 4086 RawResponse *http.Response 4087} 4088 4089// ConnectivityInformationResponse is the response envelope for operations that return a ConnectivityInformation type. 4090type ConnectivityInformationResponse struct { 4091 // Information on the connectivity status. 4092 ConnectivityInformation *ConnectivityInformation 4093 4094 // RawResponse contains the underlying HTTP response. 4095 RawResponse *http.Response 4096} 4097 4098// Information about an issue encountered in the process of checking for connectivity. 4099type ConnectivityIssue struct { 4100 // READ-ONLY; Provides additional context on the issue. 4101 Context *[]map[string]string `json:"context,omitempty" azure:"ro"` 4102 4103 // READ-ONLY; The origin of the issue. 4104 Origin *Origin `json:"origin,omitempty" azure:"ro"` 4105 4106 // READ-ONLY; The severity of the issue. 4107 Severity *Severity `json:"severity,omitempty" azure:"ro"` 4108 4109 // READ-ONLY; The type of issue. 4110 Type *IssueType `json:"type,omitempty" azure:"ro"` 4111} 4112 4113// Parameters that determine how the connectivity check will be performed. 4114type ConnectivityParameters struct { 4115 // The destination of connection. 4116 Destination *ConnectivityDestination `json:"destination,omitempty"` 4117 4118 // Preferred IP version of the connection. 4119 PreferredIPVersion *IPVersion `json:"preferredIPVersion,omitempty"` 4120 4121 // Network protocol. 4122 Protocol *Protocol `json:"protocol,omitempty"` 4123 4124 // Configuration of the protocol. 4125 ProtocolConfiguration *ProtocolConfiguration `json:"protocolConfiguration,omitempty"` 4126 4127 // The source of the connection. 4128 Source *ConnectivitySource `json:"source,omitempty"` 4129} 4130 4131// Parameters that define the source of the connection. 4132type ConnectivitySource struct { 4133 // The source port from which a connectivity check will be performed. 4134 Port *int32 `json:"port,omitempty"` 4135 4136 // The ID of the resource from which a connectivity check will be initiated. 4137 ResourceID *string `json:"resourceId,omitempty"` 4138} 4139 4140// Reference to container resource in remote resource provider. 4141type Container struct { 4142 SubResource 4143} 4144 4145// Container network interface child resource. 4146type ContainerNetworkInterface struct { 4147 SubResource 4148 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4149 Etag *string `json:"etag,omitempty" azure:"ro"` 4150 4151 // The name of the resource. This name can be used to access the resource. 4152 Name *string `json:"name,omitempty"` 4153 4154 // Container network interface properties. 4155 Properties *ContainerNetworkInterfacePropertiesFormat `json:"properties,omitempty"` 4156 4157 // READ-ONLY; Sub Resource type. 4158 Type *string `json:"type,omitempty" azure:"ro"` 4159} 4160 4161// Container network interface configuration child resource. 4162type ContainerNetworkInterfaceConfiguration struct { 4163 SubResource 4164 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4165 Etag *string `json:"etag,omitempty" azure:"ro"` 4166 4167 // The name of the resource. This name can be used to access the resource. 4168 Name *string `json:"name,omitempty"` 4169 4170 // Container network interface configuration properties. 4171 Properties *ContainerNetworkInterfaceConfigurationPropertiesFormat `json:"properties,omitempty"` 4172 4173 // READ-ONLY; Sub Resource type. 4174 Type *string `json:"type,omitempty" azure:"ro"` 4175} 4176 4177// Container network interface configuration properties. 4178type ContainerNetworkInterfaceConfigurationPropertiesFormat struct { 4179 // A list of container network interfaces created from this container network interface configuration. 4180 ContainerNetworkInterfaces *[]SubResource `json:"containerNetworkInterfaces,omitempty"` 4181 4182 // A list of ip configurations of the container network interface configuration. 4183 IPConfigurations *[]IPConfigurationProfile `json:"ipConfigurations,omitempty"` 4184 4185 // READ-ONLY; The provisioning state of the container network interface configuration resource. 4186 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4187} 4188 4189// The ip configuration for a container network interface. 4190type ContainerNetworkInterfaceIPConfiguration struct { 4191 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4192 Etag *string `json:"etag,omitempty" azure:"ro"` 4193 4194 // The name of the resource. This name can be used to access the resource. 4195 Name *string `json:"name,omitempty"` 4196 4197 // Properties of the container network interface IP configuration. 4198 Properties *ContainerNetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` 4199 4200 // READ-ONLY; Sub Resource type. 4201 Type *string `json:"type,omitempty" azure:"ro"` 4202} 4203 4204// Properties of the container network interface IP configuration. 4205type ContainerNetworkInterfaceIPConfigurationPropertiesFormat struct { 4206 // READ-ONLY; The provisioning state of the container network interface IP configuration resource. 4207 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4208} 4209 4210// Properties of container network interface. 4211type ContainerNetworkInterfacePropertiesFormat struct { 4212 // Reference to the container to which this container network interface is attached. 4213 Container *SubResource `json:"container,omitempty"` 4214 4215 // READ-ONLY; Container network interface configuration from which this container network interface is created. 4216 ContainerNetworkInterfaceConfiguration *ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfiguration,omitempty" azure:"ro"` 4217 4218 // READ-ONLY; Reference to the ip configuration on this container nic. 4219 IPConfigurations *[]ContainerNetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` 4220 4221 // READ-ONLY; The provisioning state of the container network interface resource. 4222 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4223} 4224 4225// Contains custom Dns resolution configuration from customer. 4226type CustomDNSConfigPropertiesFormat struct { 4227 // Fqdn that resolves to private endpoint ip address. 4228 Fqdn *string `json:"fqdn,omitempty"` 4229 4230 // A list of private ip addresses of the private endpoint. 4231 IPAddresses *[]string `json:"ipAddresses,omitempty"` 4232} 4233 4234// Custom IP prefix resource. 4235type CustomIPPrefix struct { 4236 Resource 4237 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4238 Etag *string `json:"etag,omitempty" azure:"ro"` 4239 4240 // Custom IP prefix properties. 4241 Properties *CustomIPPrefixPropertiesFormat `json:"properties,omitempty"` 4242 4243 // A list of availability zones denoting the IP allocated for the resource needs to come from. 4244 Zones *[]string `json:"zones,omitempty"` 4245} 4246 4247// Response for ListCustomIpPrefixes API service call. 4248type CustomIPPrefixListResult struct { 4249 // The URL to get the next set of results. 4250 NextLink *string `json:"nextLink,omitempty"` 4251 4252 // A list of Custom IP prefixes that exists in a resource group. 4253 Value *[]CustomIPPrefix `json:"value,omitempty"` 4254} 4255 4256// CustomIPPrefixListResultResponse is the response envelope for operations that return a CustomIPPrefixListResult type. 4257type CustomIPPrefixListResultResponse struct { 4258 // Response for ListCustomIpPrefixes API service call. 4259 CustomIPPrefixListResult *CustomIPPrefixListResult 4260 4261 // RawResponse contains the underlying HTTP response. 4262 RawResponse *http.Response 4263} 4264 4265// CustomIPPrefixPollerResponse is the response envelope for operations that asynchronously return a CustomIPPrefix type. 4266type CustomIPPrefixPollerResponse struct { 4267 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 4268 PollUntilDone func(ctx context.Context, frequency time.Duration) (CustomIPPrefixResponse, error) 4269 4270 // Poller contains an initialized poller. 4271 Poller CustomIPPrefixPoller 4272 4273 // RawResponse contains the underlying HTTP response. 4274 RawResponse *http.Response 4275} 4276 4277// Custom IP prefix properties. 4278type CustomIPPrefixPropertiesFormat struct { 4279 // The prefix range in CIDR notation. Should include the start address and the prefix length. 4280 Cidr *string `json:"cidr,omitempty"` 4281 4282 // The commissioned state of the Custom IP Prefix. 4283 CommissionedState *CommissionedState `json:"commissionedState,omitempty"` 4284 4285 // READ-ONLY; The provisioning state of the custom IP prefix resource. 4286 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4287 4288 // READ-ONLY; The list of all referenced PublicIpPrefixes. 4289 PublicIPPrefixes *[]SubResource `json:"publicIpPrefixes,omitempty" azure:"ro"` 4290 4291 // READ-ONLY; The resource GUID property of the custom IP prefix resource. 4292 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 4293} 4294 4295// CustomIPPrefixResponse is the response envelope for operations that return a CustomIPPrefix type. 4296type CustomIPPrefixResponse struct { 4297 // Custom IP prefix resource. 4298 CustomIPPrefix *CustomIPPrefix 4299 4300 // RawResponse contains the underlying HTTP response. 4301 RawResponse *http.Response 4302} 4303 4304// CustomIPPrefixesBeginCreateOrUpdateOptions contains the optional parameters for the CustomIPPrefixes.BeginCreateOrUpdate method. 4305type CustomIPPrefixesBeginCreateOrUpdateOptions struct { 4306 // placeholder for future optional parameters 4307} 4308 4309// CustomIPPrefixesBeginDeleteOptions contains the optional parameters for the CustomIPPrefixes.BeginDelete method. 4310type CustomIPPrefixesBeginDeleteOptions struct { 4311 // placeholder for future optional parameters 4312} 4313 4314// CustomIPPrefixesGetOptions contains the optional parameters for the CustomIPPrefixes.Get method. 4315type CustomIPPrefixesGetOptions struct { 4316 // Expands referenced resources. 4317 Expand *string 4318} 4319 4320// CustomIPPrefixesListAllOptions contains the optional parameters for the CustomIPPrefixes.ListAll method. 4321type CustomIPPrefixesListAllOptions struct { 4322 // placeholder for future optional parameters 4323} 4324 4325// CustomIPPrefixesListOptions contains the optional parameters for the CustomIPPrefixes.List method. 4326type CustomIPPrefixesListOptions struct { 4327 // placeholder for future optional parameters 4328} 4329 4330// CustomIPPrefixesUpdateTagsOptions contains the optional parameters for the CustomIPPrefixes.UpdateTags method. 4331type CustomIPPrefixesUpdateTagsOptions struct { 4332 // placeholder for future optional parameters 4333} 4334 4335// Response for the CheckDnsNameAvailability API service call. 4336type DNSNameAvailabilityResult struct { 4337 // Domain availability (True/False). 4338 Available *bool `json:"available,omitempty"` 4339} 4340 4341// DNSNameAvailabilityResultResponse is the response envelope for operations that return a DNSNameAvailabilityResult type. 4342type DNSNameAvailabilityResultResponse struct { 4343 // Response for the CheckDnsNameAvailability API service call. 4344 DNSNameAvailabilityResult *DNSNameAvailabilityResult 4345 4346 // RawResponse contains the underlying HTTP response. 4347 RawResponse *http.Response 4348} 4349 4350// DNS Proxy Settings in Firewall Policy. 4351type DNSSettings struct { 4352 // Enable DNS Proxy on Firewalls attached to the Firewall Policy. 4353 EnableProxy *bool `json:"enableProxy,omitempty"` 4354 4355 // FQDNs in Network Rules are supported when set to true. 4356 RequireProxyForNetworkRules *bool `json:"requireProxyForNetworkRules,omitempty"` 4357 4358 // List of Custom DNS Servers. 4359 Servers *[]string `json:"servers,omitempty"` 4360} 4361 4362// DdosCustomPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the DdosCustomPolicies.BeginCreateOrUpdate method. 4363type DdosCustomPoliciesBeginCreateOrUpdateOptions struct { 4364 // placeholder for future optional parameters 4365} 4366 4367// DdosCustomPoliciesBeginDeleteOptions contains the optional parameters for the DdosCustomPolicies.BeginDelete method. 4368type DdosCustomPoliciesBeginDeleteOptions struct { 4369 // placeholder for future optional parameters 4370} 4371 4372// DdosCustomPoliciesGetOptions contains the optional parameters for the DdosCustomPolicies.Get method. 4373type DdosCustomPoliciesGetOptions struct { 4374 // placeholder for future optional parameters 4375} 4376 4377// DdosCustomPoliciesUpdateTagsOptions contains the optional parameters for the DdosCustomPolicies.UpdateTags method. 4378type DdosCustomPoliciesUpdateTagsOptions struct { 4379 // placeholder for future optional parameters 4380} 4381 4382// A DDoS custom policy in a resource group. 4383type DdosCustomPolicy struct { 4384 Resource 4385 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4386 Etag *string `json:"etag,omitempty" azure:"ro"` 4387 4388 // Properties of the DDoS custom policy. 4389 Properties *DdosCustomPolicyPropertiesFormat `json:"properties,omitempty"` 4390} 4391 4392// DdosCustomPolicyPollerResponse is the response envelope for operations that asynchronously return a DdosCustomPolicy type. 4393type DdosCustomPolicyPollerResponse struct { 4394 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 4395 PollUntilDone func(ctx context.Context, frequency time.Duration) (DdosCustomPolicyResponse, error) 4396 4397 // Poller contains an initialized poller. 4398 Poller DdosCustomPolicyPoller 4399 4400 // RawResponse contains the underlying HTTP response. 4401 RawResponse *http.Response 4402} 4403 4404// DDoS custom policy properties. 4405type DdosCustomPolicyPropertiesFormat struct { 4406 // The protocol-specific DDoS policy customization parameters. 4407 ProtocolCustomSettings *[]ProtocolCustomSettingsFormat `json:"protocolCustomSettings,omitempty"` 4408 4409 // READ-ONLY; The provisioning state of the DDoS custom policy resource. 4410 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4411 4412 // READ-ONLY; The list of public IPs associated with the DDoS custom policy resource. This list is read-only. 4413 PublicIPAddresses *[]SubResource `json:"publicIPAddresses,omitempty" azure:"ro"` 4414 4415 // 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 4416 // the resource across subscriptions or resource groups. 4417 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 4418} 4419 4420// DdosCustomPolicyResponse is the response envelope for operations that return a DdosCustomPolicy type. 4421type DdosCustomPolicyResponse struct { 4422 // A DDoS custom policy in a resource group. 4423 DdosCustomPolicy *DdosCustomPolicy 4424 4425 // RawResponse contains the underlying HTTP response. 4426 RawResponse *http.Response 4427} 4428 4429// A DDoS protection plan in a resource group. 4430type DdosProtectionPlan struct { 4431 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4432 Etag *string `json:"etag,omitempty" azure:"ro"` 4433 4434 // READ-ONLY; Resource ID. 4435 ID *string `json:"id,omitempty" azure:"ro"` 4436 4437 // Resource location. 4438 Location *string `json:"location,omitempty"` 4439 4440 // READ-ONLY; Resource name. 4441 Name *string `json:"name,omitempty" azure:"ro"` 4442 4443 // Properties of the DDoS protection plan. 4444 Properties *DdosProtectionPlanPropertiesFormat `json:"properties,omitempty"` 4445 4446 // Resource tags. 4447 Tags *map[string]string `json:"tags,omitempty"` 4448 4449 // READ-ONLY; Resource type. 4450 Type *string `json:"type,omitempty" azure:"ro"` 4451} 4452 4453// A list of DDoS protection plans. 4454type DdosProtectionPlanListResult struct { 4455 // READ-ONLY; The URL to get the next set of results. 4456 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4457 4458 // A list of DDoS protection plans. 4459 Value *[]DdosProtectionPlan `json:"value,omitempty"` 4460} 4461 4462// DdosProtectionPlanListResultResponse is the response envelope for operations that return a DdosProtectionPlanListResult type. 4463type DdosProtectionPlanListResultResponse struct { 4464 // A list of DDoS protection plans. 4465 DdosProtectionPlanListResult *DdosProtectionPlanListResult 4466 4467 // RawResponse contains the underlying HTTP response. 4468 RawResponse *http.Response 4469} 4470 4471// DdosProtectionPlanPollerResponse is the response envelope for operations that asynchronously return a DdosProtectionPlan type. 4472type DdosProtectionPlanPollerResponse struct { 4473 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 4474 PollUntilDone func(ctx context.Context, frequency time.Duration) (DdosProtectionPlanResponse, error) 4475 4476 // Poller contains an initialized poller. 4477 Poller DdosProtectionPlanPoller 4478 4479 // RawResponse contains the underlying HTTP response. 4480 RawResponse *http.Response 4481} 4482 4483// DDoS protection plan properties. 4484type DdosProtectionPlanPropertiesFormat struct { 4485 // READ-ONLY; The provisioning state of the DDoS protection plan resource. 4486 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4487 4488 // 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 4489 // migrate the resource across subscriptions or resource groups. 4490 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 4491 4492 // READ-ONLY; The list of virtual networks associated with the DDoS protection plan resource. This list is read-only. 4493 VirtualNetworks *[]SubResource `json:"virtualNetworks,omitempty" azure:"ro"` 4494} 4495 4496// DdosProtectionPlanResponse is the response envelope for operations that return a DdosProtectionPlan type. 4497type DdosProtectionPlanResponse struct { 4498 // A DDoS protection plan in a resource group. 4499 DdosProtectionPlan *DdosProtectionPlan 4500 4501 // RawResponse contains the underlying HTTP response. 4502 RawResponse *http.Response 4503} 4504 4505// DdosProtectionPlansBeginCreateOrUpdateOptions contains the optional parameters for the DdosProtectionPlans.BeginCreateOrUpdate method. 4506type DdosProtectionPlansBeginCreateOrUpdateOptions struct { 4507 // placeholder for future optional parameters 4508} 4509 4510// DdosProtectionPlansBeginDeleteOptions contains the optional parameters for the DdosProtectionPlans.BeginDelete method. 4511type DdosProtectionPlansBeginDeleteOptions struct { 4512 // placeholder for future optional parameters 4513} 4514 4515// DdosProtectionPlansGetOptions contains the optional parameters for the DdosProtectionPlans.Get method. 4516type DdosProtectionPlansGetOptions struct { 4517 // placeholder for future optional parameters 4518} 4519 4520// DdosProtectionPlansListByResourceGroupOptions contains the optional parameters for the DdosProtectionPlans.ListByResourceGroup method. 4521type DdosProtectionPlansListByResourceGroupOptions struct { 4522 // placeholder for future optional parameters 4523} 4524 4525// DdosProtectionPlansListOptions contains the optional parameters for the DdosProtectionPlans.List method. 4526type DdosProtectionPlansListOptions struct { 4527 // placeholder for future optional parameters 4528} 4529 4530// DdosProtectionPlansUpdateTagsOptions contains the optional parameters for the DdosProtectionPlans.UpdateTags method. 4531type DdosProtectionPlansUpdateTagsOptions struct { 4532 // placeholder for future optional parameters 4533} 4534 4535// Contains the DDoS protection settings of the public IP. 4536type DdosSettings struct { 4537 // The DDoS custom policy associated with the public IP. 4538 DdosCustomPolicy *SubResource `json:"ddosCustomPolicy,omitempty"` 4539 4540 // Enables DDoS protection on the public IP. 4541 ProtectedIP *bool `json:"protectedIP,omitempty"` 4542 4543 // The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. 4544 ProtectionCoverage *DdosSettingsProtectionCoverage `json:"protectionCoverage,omitempty"` 4545} 4546 4547// DefaultSecurityRulesGetOptions contains the optional parameters for the DefaultSecurityRules.Get method. 4548type DefaultSecurityRulesGetOptions struct { 4549 // placeholder for future optional parameters 4550} 4551 4552// DefaultSecurityRulesListOptions contains the optional parameters for the DefaultSecurityRules.List method. 4553type DefaultSecurityRulesListOptions struct { 4554 // placeholder for future optional parameters 4555} 4556 4557// Details the service to which the subnet is delegated. 4558type Delegation struct { 4559 SubResource 4560 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4561 Etag *string `json:"etag,omitempty" azure:"ro"` 4562 4563 // The name of the resource that is unique within a subnet. This name can be used to access the resource. 4564 Name *string `json:"name,omitempty"` 4565 4566 // Properties of the subnet. 4567 Properties *ServiceDelegationPropertiesFormat `json:"properties,omitempty"` 4568} 4569 4570// List of properties of the device. 4571type DeviceProperties struct { 4572 // Model of the device. 4573 DeviceModel *string `json:"deviceModel,omitempty"` 4574 4575 // Name of the device Vendor. 4576 DeviceVendor *string `json:"deviceVendor,omitempty"` 4577 4578 // Link speed. 4579 LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` 4580} 4581 4582// DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP 4583// options. 4584type DhcpOptions struct { 4585 // The list of DNS servers IP addresses. 4586 DNSServers *[]string `json:"dnsServers,omitempty"` 4587} 4588 4589// Dimension of the metric. 4590type Dimension struct { 4591 // The display name of the dimension. 4592 DisplayName *string `json:"displayName,omitempty"` 4593 4594 // The internal name of the dimension. 4595 InternalName *string `json:"internalName,omitempty"` 4596 4597 // The name of the dimension. 4598 Name *string `json:"name,omitempty"` 4599} 4600 4601// DSCP Configuration in a resource group. 4602type DscpConfiguration struct { 4603 Resource 4604 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 4605 Etag *string `json:"etag,omitempty" azure:"ro"` 4606 4607 // Properties of the network interface. 4608 Properties *DscpConfigurationPropertiesFormat `json:"properties,omitempty"` 4609} 4610 4611// DscpConfigurationBeginCreateOrUpdateOptions contains the optional parameters for the DscpConfiguration.BeginCreateOrUpdate method. 4612type DscpConfigurationBeginCreateOrUpdateOptions struct { 4613 // placeholder for future optional parameters 4614} 4615 4616// DscpConfigurationBeginDeleteOptions contains the optional parameters for the DscpConfiguration.BeginDelete method. 4617type DscpConfigurationBeginDeleteOptions struct { 4618 // placeholder for future optional parameters 4619} 4620 4621// DscpConfigurationGetOptions contains the optional parameters for the DscpConfiguration.Get method. 4622type DscpConfigurationGetOptions struct { 4623 // placeholder for future optional parameters 4624} 4625 4626// DscpConfigurationListAllOptions contains the optional parameters for the DscpConfiguration.ListAll method. 4627type DscpConfigurationListAllOptions struct { 4628 // placeholder for future optional parameters 4629} 4630 4631// DscpConfigurationListOptions contains the optional parameters for the DscpConfiguration.List method. 4632type DscpConfigurationListOptions struct { 4633 // placeholder for future optional parameters 4634} 4635 4636// Response for the DscpConfigurationList API service call. 4637type DscpConfigurationListResult struct { 4638 // READ-ONLY; The URL to get the next set of results. 4639 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4640 4641 // A list of dscp configurations in a resource group. 4642 Value *[]DscpConfiguration `json:"value,omitempty"` 4643} 4644 4645// DscpConfigurationListResultResponse is the response envelope for operations that return a DscpConfigurationListResult type. 4646type DscpConfigurationListResultResponse struct { 4647 // Response for the DscpConfigurationList API service call. 4648 DscpConfigurationListResult *DscpConfigurationListResult 4649 4650 // RawResponse contains the underlying HTTP response. 4651 RawResponse *http.Response 4652} 4653 4654// DscpConfigurationPollerResponse is the response envelope for operations that asynchronously return a DscpConfiguration type. 4655type DscpConfigurationPollerResponse struct { 4656 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 4657 PollUntilDone func(ctx context.Context, frequency time.Duration) (DscpConfigurationResponse, error) 4658 4659 // Poller contains an initialized poller. 4660 Poller DscpConfigurationPoller 4661 4662 // RawResponse contains the underlying HTTP response. 4663 RawResponse *http.Response 4664} 4665 4666// DSCP Configuration properties. 4667type DscpConfigurationPropertiesFormat struct { 4668 // READ-ONLY; Associated Network Interfaces to the DSCP Configuration. 4669 AssociatedNetworkInterfaces *[]NetworkInterface `json:"associatedNetworkInterfaces,omitempty" azure:"ro"` 4670 4671 // Destination IP ranges. 4672 DestinationIPRanges *[]QosIPRange `json:"destinationIpRanges,omitempty"` 4673 4674 // Destination port ranges. 4675 DestinationPortRanges *[]QosPortRange `json:"destinationPortRanges,omitempty"` 4676 4677 // List of markings to be used in the configuration. 4678 Markings *[]int32 `json:"markings,omitempty"` 4679 4680 // RNM supported protocol types. 4681 Protocol *ProtocolType `json:"protocol,omitempty"` 4682 4683 // READ-ONLY; The provisioning state of the DSCP Configuration resource. 4684 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 4685 4686 // READ-ONLY; Qos Collection ID generated by RNM. 4687 QosCollectionID *string `json:"qosCollectionId,omitempty" azure:"ro"` 4688 4689 // READ-ONLY; The resource GUID property of the DSCP Configuration resource. 4690 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 4691 4692 // Source IP ranges. 4693 SourceIPRanges *[]QosIPRange `json:"sourceIpRanges,omitempty"` 4694 4695 // Sources port ranges. 4696 SourcePortRanges *[]QosPortRange `json:"sourcePortRanges,omitempty"` 4697} 4698 4699// DscpConfigurationResponse is the response envelope for operations that return a DscpConfiguration type. 4700type DscpConfigurationResponse struct { 4701 // DSCP Configuration in a resource group. 4702 DscpConfiguration *DscpConfiguration 4703 4704 // RawResponse contains the underlying HTTP response. 4705 RawResponse *http.Response 4706} 4707 4708// Effective network security group. 4709type EffectiveNetworkSecurityGroup struct { 4710 // Associated resources. 4711 Association *EffectiveNetworkSecurityGroupAssociation `json:"association,omitempty"` 4712 4713 // A collection of effective security rules. 4714 EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` 4715 4716 // The ID of network security group that is applied. 4717 NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` 4718 4719 // Mapping of tags to list of IP Addresses included within the tag. 4720 TagMap *string `json:"tagMap,omitempty"` 4721} 4722 4723// The effective network security group association. 4724type EffectiveNetworkSecurityGroupAssociation struct { 4725 // The ID of the network interface if assigned. 4726 NetworkInterface *SubResource `json:"networkInterface,omitempty"` 4727 4728 // The ID of the subnet if assigned. 4729 Subnet *SubResource `json:"subnet,omitempty"` 4730} 4731 4732// Response for list effective network security groups API service call. 4733type EffectiveNetworkSecurityGroupListResult struct { 4734 // READ-ONLY; The URL to get the next set of results. 4735 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4736 4737 // A list of effective network security groups. 4738 Value *[]EffectiveNetworkSecurityGroup `json:"value,omitempty"` 4739} 4740 4741// EffectiveNetworkSecurityGroupListResultPollerResponse is the response envelope for operations that asynchronously return a EffectiveNetworkSecurityGroupListResult 4742// type. 4743type EffectiveNetworkSecurityGroupListResultPollerResponse struct { 4744 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 4745 PollUntilDone func(ctx context.Context, frequency time.Duration) (EffectiveNetworkSecurityGroupListResultResponse, error) 4746 4747 // Poller contains an initialized poller. 4748 Poller EffectiveNetworkSecurityGroupListResultPoller 4749 4750 // RawResponse contains the underlying HTTP response. 4751 RawResponse *http.Response 4752} 4753 4754// EffectiveNetworkSecurityGroupListResultResponse is the response envelope for operations that return a EffectiveNetworkSecurityGroupListResult type. 4755type EffectiveNetworkSecurityGroupListResultResponse struct { 4756 // Response for list effective network security groups API service call. 4757 EffectiveNetworkSecurityGroupListResult *EffectiveNetworkSecurityGroupListResult 4758 4759 // RawResponse contains the underlying HTTP response. 4760 RawResponse *http.Response 4761} 4762 4763// Effective network security rules. 4764type EffectiveNetworkSecurityRule struct { 4765 // Whether network traffic is allowed or denied. 4766 Access *SecurityRuleAccess `json:"access,omitempty"` 4767 4768 // The destination address prefix. 4769 DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` 4770 4771 // The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and 4772 // the asterisk (*). 4773 DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` 4774 4775 // The destination port or range. 4776 DestinationPortRange *string `json:"destinationPortRange,omitempty"` 4777 4778 // 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 4779 // (*). 4780 DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` 4781 4782 // The direction of the rule. 4783 Direction *SecurityRuleDirection `json:"direction,omitempty"` 4784 4785 // Expanded destination address prefix. 4786 ExpandedDestinationAddressPrefix *[]string `json:"expandedDestinationAddressPrefix,omitempty"` 4787 4788 // The expanded source address prefix. 4789 ExpandedSourceAddressPrefix *[]string `json:"expandedSourceAddressPrefix,omitempty"` 4790 4791 // The name of the security rule specified by the user (if created by the user). 4792 Name *string `json:"name,omitempty"` 4793 4794 // The priority of the rule. 4795 Priority *int32 `json:"priority,omitempty"` 4796 4797 // The network protocol this rule applies to. 4798 Protocol *EffectiveSecurityRuleProtocol `json:"protocol,omitempty"` 4799 4800 // The source address prefix. 4801 SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` 4802 4803 // The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the 4804 // asterisk (*). 4805 SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` 4806 4807 // The source port or range. 4808 SourcePortRange *string `json:"sourcePortRange,omitempty"` 4809 4810 // 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 (*). 4811 SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` 4812} 4813 4814// Effective Route. 4815type EffectiveRoute struct { 4816 // The address prefixes of the effective routes in CIDR notation. 4817 AddressPrefix *[]string `json:"addressPrefix,omitempty"` 4818 4819 // If true, on-premises routes are not propagated to the network interfaces in the subnet. 4820 DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` 4821 4822 // The name of the user defined route. This is optional. 4823 Name *string `json:"name,omitempty"` 4824 4825 // The IP address of the next hop of the effective route. 4826 NextHopIPAddress *[]string `json:"nextHopIpAddress,omitempty"` 4827 4828 // The type of Azure hop the packet should be sent to. 4829 NextHopType *RouteNextHopType `json:"nextHopType,omitempty"` 4830 4831 // Who created the route. 4832 Source *EffectiveRouteSource `json:"source,omitempty"` 4833 4834 // The value of effective route. 4835 State *EffectiveRouteState `json:"state,omitempty"` 4836} 4837 4838// Response for list effective route API service call. 4839type EffectiveRouteListResult struct { 4840 // READ-ONLY; The URL to get the next set of results. 4841 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 4842 4843 // A list of effective routes. 4844 Value *[]EffectiveRoute `json:"value,omitempty"` 4845} 4846 4847// EffectiveRouteListResultPollerResponse is the response envelope for operations that asynchronously return a EffectiveRouteListResult type. 4848type EffectiveRouteListResultPollerResponse struct { 4849 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 4850 PollUntilDone func(ctx context.Context, frequency time.Duration) (EffectiveRouteListResultResponse, error) 4851 4852 // Poller contains an initialized poller. 4853 Poller EffectiveRouteListResultPoller 4854 4855 // RawResponse contains the underlying HTTP response. 4856 RawResponse *http.Response 4857} 4858 4859// EffectiveRouteListResultResponse is the response envelope for operations that return a EffectiveRouteListResult type. 4860type EffectiveRouteListResultResponse struct { 4861 // Response for list effective route API service call. 4862 EffectiveRouteListResult *EffectiveRouteListResult 4863 4864 // RawResponse contains the underlying HTTP response. 4865 RawResponse *http.Response 4866} 4867 4868// The parameters specifying the resource whose effective routes are being requested. 4869type EffectiveRoutesParameters struct { 4870 // The resource whose effective routes are being requested. 4871 ResourceID *string `json:"resourceId,omitempty"` 4872 4873 // The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. 4874 VirtualWanResourceType *string `json:"virtualWanResourceType,omitempty"` 4875} 4876 4877// Endpoint service. 4878type EndpointServiceResult struct { 4879 SubResource 4880 // READ-ONLY; Name of the endpoint service. 4881 Name *string `json:"name,omitempty" azure:"ro"` 4882 4883 // READ-ONLY; Type of the endpoint service. 4884 Type *string `json:"type,omitempty" azure:"ro"` 4885} 4886 4887// Response for the ListAvailableEndpointServices API service call. 4888type EndpointServicesListResult struct { 4889 // The URL to get the next set of results. 4890 NextLink *string `json:"nextLink,omitempty"` 4891 4892 // List of available endpoint services in a region. 4893 Value *[]EndpointServiceResult `json:"value,omitempty"` 4894} 4895 4896// EndpointServicesListResultResponse is the response envelope for operations that return a EndpointServicesListResult type. 4897type EndpointServicesListResultResponse struct { 4898 // Response for the ListAvailableEndpointServices API service call. 4899 EndpointServicesListResult *EndpointServicesListResult 4900 4901 // RawResponse contains the underlying HTTP response. 4902 RawResponse *http.Response 4903} 4904 4905// Common error representation. 4906type Error struct { 4907 // Error code. 4908 Code *string `json:"code,omitempty"` 4909 4910 // Error details. 4911 Details *[]ErrorDetails `json:"details,omitempty"` 4912 4913 // Inner error message. 4914 InnerError *string `json:"innerError,omitempty"` 4915 4916 // Error message. 4917 Message *string `json:"message,omitempty"` 4918 4919 // Error target. 4920 Target *string `json:"target,omitempty"` 4921} 4922 4923// Error implements the error interface for type Error. 4924func (e Error) Error() string { 4925 msg := "" 4926 if e.Code != nil { 4927 msg += fmt.Sprintf("Code: %v\n", *e.Code) 4928 } 4929 if e.Details != nil { 4930 msg += fmt.Sprintf("Details: %v\n", *e.Details) 4931 } 4932 if e.InnerError != nil { 4933 msg += fmt.Sprintf("InnerError: %v\n", *e.InnerError) 4934 } 4935 if e.Message != nil { 4936 msg += fmt.Sprintf("Message: %v\n", *e.Message) 4937 } 4938 if e.Target != nil { 4939 msg += fmt.Sprintf("Target: %v\n", *e.Target) 4940 } 4941 if msg == "" { 4942 msg = "missing error info" 4943 } 4944 return msg 4945} 4946 4947// Common error details representation. 4948type ErrorDetails struct { 4949 // Error code. 4950 Code *string `json:"code,omitempty"` 4951 4952 // Error message. 4953 Message *string `json:"message,omitempty"` 4954 4955 // Error target. 4956 Target *string `json:"target,omitempty"` 4957} 4958 4959// The error object. 4960type ErrorResponse struct { 4961 // The error details object. 4962 InnerError *ErrorDetails `json:"error,omitempty"` 4963} 4964 4965// Error implements the error interface for type ErrorResponse. 4966func (e ErrorResponse) Error() string { 4967 msg := "" 4968 if e.InnerError != nil { 4969 msg += "InnerError: \n" 4970 if e.InnerError.Code != nil { 4971 msg += fmt.Sprintf("\tCode: %v\n", *e.InnerError.Code) 4972 } 4973 if e.InnerError.Target != nil { 4974 msg += fmt.Sprintf("\tTarget: %v\n", *e.InnerError.Target) 4975 } 4976 if e.InnerError.Message != nil { 4977 msg += fmt.Sprintf("\tMessage: %v\n", *e.InnerError.Message) 4978 } 4979 } 4980 if msg == "" { 4981 msg = "missing error info" 4982 } 4983 return msg 4984} 4985 4986// Results of network security group evaluation. 4987type EvaluatedNetworkSecurityGroup struct { 4988 // Resource ID of nic or subnet to which network security group is applied. 4989 AppliedTo *string `json:"appliedTo,omitempty"` 4990 4991 // Matched network security rule. 4992 MatchedRule *MatchedRule `json:"matchedRule,omitempty"` 4993 4994 // Network security group ID. 4995 NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty"` 4996 4997 // READ-ONLY; List of network security rules evaluation results. 4998 RulesEvaluationResult *[]NetworkSecurityRulesEvaluationResult `json:"rulesEvaluationResult,omitempty" azure:"ro"` 4999} 5000 5001// ExpressRouteCircuit resource. 5002type ExpressRouteCircuit struct { 5003 Resource 5004 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5005 Etag *string `json:"etag,omitempty" azure:"ro"` 5006 5007 // Properties of the express route circuit. 5008 Properties *ExpressRouteCircuitPropertiesFormat `json:"properties,omitempty"` 5009 5010 // The SKU. 5011 SKU *ExpressRouteCircuitSKU `json:"sku,omitempty"` 5012} 5013 5014// The ARP table associated with the ExpressRouteCircuit. 5015type ExpressRouteCircuitArpTable struct { 5016 // Entry age in minutes. 5017 Age *int32 `json:"age,omitempty"` 5018 5019 // The IP address. 5020 IPAddress *string `json:"ipAddress,omitempty"` 5021 5022 // Interface address. 5023 Interface *string `json:"interface,omitempty"` 5024 5025 // The MAC address. 5026 MacAddress *string `json:"macAddress,omitempty"` 5027} 5028 5029// Authorization in an ExpressRouteCircuit resource. 5030type ExpressRouteCircuitAuthorization struct { 5031 SubResource 5032 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5033 Etag *string `json:"etag,omitempty" azure:"ro"` 5034 5035 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 5036 Name *string `json:"name,omitempty"` 5037 5038 // Properties of the express route circuit authorization. 5039 Properties *AuthorizationPropertiesFormat `json:"properties,omitempty"` 5040 5041 // READ-ONLY; Type of the resource. 5042 Type *string `json:"type,omitempty" azure:"ro"` 5043} 5044 5045// ExpressRouteCircuitAuthorizationPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCircuitAuthorization 5046// type. 5047type ExpressRouteCircuitAuthorizationPollerResponse struct { 5048 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5049 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCircuitAuthorizationResponse, error) 5050 5051 // Poller contains an initialized poller. 5052 Poller ExpressRouteCircuitAuthorizationPoller 5053 5054 // RawResponse contains the underlying HTTP response. 5055 RawResponse *http.Response 5056} 5057 5058// ExpressRouteCircuitAuthorizationResponse is the response envelope for operations that return a ExpressRouteCircuitAuthorization type. 5059type ExpressRouteCircuitAuthorizationResponse struct { 5060 // Authorization in an ExpressRouteCircuit resource. 5061 ExpressRouteCircuitAuthorization *ExpressRouteCircuitAuthorization 5062 5063 // RawResponse contains the underlying HTTP response. 5064 RawResponse *http.Response 5065} 5066 5067// ExpressRouteCircuitAuthorizationsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.BeginCreateOrUpdate 5068// method. 5069type ExpressRouteCircuitAuthorizationsBeginCreateOrUpdateOptions struct { 5070 // placeholder for future optional parameters 5071} 5072 5073// ExpressRouteCircuitAuthorizationsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.BeginDelete method. 5074type ExpressRouteCircuitAuthorizationsBeginDeleteOptions struct { 5075 // placeholder for future optional parameters 5076} 5077 5078// ExpressRouteCircuitAuthorizationsGetOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.Get method. 5079type ExpressRouteCircuitAuthorizationsGetOptions struct { 5080 // placeholder for future optional parameters 5081} 5082 5083// ExpressRouteCircuitAuthorizationsListOptions contains the optional parameters for the ExpressRouteCircuitAuthorizations.List method. 5084type ExpressRouteCircuitAuthorizationsListOptions struct { 5085 // placeholder for future optional parameters 5086} 5087 5088// Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 5089type ExpressRouteCircuitConnection struct { 5090 SubResource 5091 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5092 Etag *string `json:"etag,omitempty" azure:"ro"` 5093 5094 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 5095 Name *string `json:"name,omitempty"` 5096 5097 // Properties of the express route circuit connection. 5098 Properties *ExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` 5099 5100 // READ-ONLY; Type of the resource. 5101 Type *string `json:"type,omitempty" azure:"ro"` 5102} 5103 5104// Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for an ExpressRouteCircuit. 5105type ExpressRouteCircuitConnectionListResult struct { 5106 // The URL to get the next set of results. 5107 NextLink *string `json:"nextLink,omitempty"` 5108 5109 // The global reach connection associated with Private Peering in an ExpressRoute Circuit. 5110 Value *[]ExpressRouteCircuitConnection `json:"value,omitempty"` 5111} 5112 5113// ExpressRouteCircuitConnectionListResultResponse is the response envelope for operations that return a ExpressRouteCircuitConnectionListResult type. 5114type ExpressRouteCircuitConnectionListResultResponse struct { 5115 // Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for an ExpressRouteCircuit. 5116 ExpressRouteCircuitConnectionListResult *ExpressRouteCircuitConnectionListResult 5117 5118 // RawResponse contains the underlying HTTP response. 5119 RawResponse *http.Response 5120} 5121 5122// ExpressRouteCircuitConnectionPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCircuitConnection type. 5123type ExpressRouteCircuitConnectionPollerResponse struct { 5124 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5125 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCircuitConnectionResponse, error) 5126 5127 // Poller contains an initialized poller. 5128 Poller ExpressRouteCircuitConnectionPoller 5129 5130 // RawResponse contains the underlying HTTP response. 5131 RawResponse *http.Response 5132} 5133 5134// Properties of the express route circuit connection. 5135type ExpressRouteCircuitConnectionPropertiesFormat struct { 5136 // /29 IP address space to carve out Customer addresses for tunnels. 5137 AddressPrefix *string `json:"addressPrefix,omitempty"` 5138 5139 // The authorization key. 5140 AuthorizationKey *string `json:"authorizationKey,omitempty"` 5141 5142 // READ-ONLY; Express Route Circuit connection state. 5143 CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` 5144 5145 // Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection. 5146 ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` 5147 5148 // IPv6 Address PrefixProperties of the express route circuit connection. 5149 IPv6CircuitConnectionConfig *IPv6CircuitConnectionConfig `json:"ipv6CircuitConnectionConfig,omitempty"` 5150 5151 // Reference to Express Route Circuit Private Peering Resource of the peered circuit. 5152 PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` 5153 5154 // READ-ONLY; The provisioning state of the express route circuit connection resource. 5155 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5156} 5157 5158// ExpressRouteCircuitConnectionResponse is the response envelope for operations that return a ExpressRouteCircuitConnection type. 5159type ExpressRouteCircuitConnectionResponse struct { 5160 // Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 5161 ExpressRouteCircuitConnection *ExpressRouteCircuitConnection 5162 5163 // RawResponse contains the underlying HTTP response. 5164 RawResponse *http.Response 5165} 5166 5167// ExpressRouteCircuitConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitConnections.BeginCreateOrUpdate 5168// method. 5169type ExpressRouteCircuitConnectionsBeginCreateOrUpdateOptions struct { 5170 // placeholder for future optional parameters 5171} 5172 5173// ExpressRouteCircuitConnectionsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitConnections.BeginDelete method. 5174type ExpressRouteCircuitConnectionsBeginDeleteOptions struct { 5175 // placeholder for future optional parameters 5176} 5177 5178// ExpressRouteCircuitConnectionsGetOptions contains the optional parameters for the ExpressRouteCircuitConnections.Get method. 5179type ExpressRouteCircuitConnectionsGetOptions struct { 5180 // placeholder for future optional parameters 5181} 5182 5183// ExpressRouteCircuitConnectionsListOptions contains the optional parameters for the ExpressRouteCircuitConnections.List method. 5184type ExpressRouteCircuitConnectionsListOptions struct { 5185 // placeholder for future optional parameters 5186} 5187 5188// Response for ListExpressRouteCircuit API service call. 5189type ExpressRouteCircuitListResult struct { 5190 // The URL to get the next set of results. 5191 NextLink *string `json:"nextLink,omitempty"` 5192 5193 // A list of ExpressRouteCircuits in a resource group. 5194 Value *[]ExpressRouteCircuit `json:"value,omitempty"` 5195} 5196 5197// ExpressRouteCircuitListResultResponse is the response envelope for operations that return a ExpressRouteCircuitListResult type. 5198type ExpressRouteCircuitListResultResponse struct { 5199 // Response for ListExpressRouteCircuit API service call. 5200 ExpressRouteCircuitListResult *ExpressRouteCircuitListResult 5201 5202 // RawResponse contains the underlying HTTP response. 5203 RawResponse *http.Response 5204} 5205 5206// Peering in an ExpressRouteCircuit resource. 5207type ExpressRouteCircuitPeering struct { 5208 SubResource 5209 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5210 Etag *string `json:"etag,omitempty" azure:"ro"` 5211 5212 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 5213 Name *string `json:"name,omitempty"` 5214 5215 // Properties of the express route circuit peering. 5216 Properties *ExpressRouteCircuitPeeringPropertiesFormat `json:"properties,omitempty"` 5217 5218 // READ-ONLY; Type of the resource. 5219 Type *string `json:"type,omitempty" azure:"ro"` 5220} 5221 5222// Specifies the peering configuration. 5223type ExpressRouteCircuitPeeringConfig struct { 5224 // The communities of bgp peering. Specified for microsoft peering. 5225 AdvertisedCommunities *[]string `json:"advertisedCommunities,omitempty"` 5226 5227 // The reference to AdvertisedPublicPrefixes. 5228 AdvertisedPublicPrefixes *[]string `json:"advertisedPublicPrefixes,omitempty"` 5229 5230 // READ-ONLY; The advertised public prefix state of the Peering resource. 5231 AdvertisedPublicPrefixesState *ExpressRouteCircuitPeeringAdvertisedPublicPrefixState `json:"advertisedPublicPrefixesState,omitempty" azure:"ro"` 5232 5233 // The CustomerASN of the peering. 5234 CustomerAsn *int32 `json:"customerASN,omitempty"` 5235 5236 // The legacy mode of the peering. 5237 LegacyMode *int32 `json:"legacyMode,omitempty"` 5238 5239 // The RoutingRegistryName of the configuration. 5240 RoutingRegistryName *string `json:"routingRegistryName,omitempty"` 5241} 5242 5243// ExpressRoute circuit peering identifier. 5244type ExpressRouteCircuitPeeringID struct { 5245 // The ID of the ExpressRoute circuit peering. 5246 ID *string `json:"id,omitempty"` 5247} 5248 5249// Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 5250type ExpressRouteCircuitPeeringListResult struct { 5251 // The URL to get the next set of results. 5252 NextLink *string `json:"nextLink,omitempty"` 5253 5254 // The peerings in an express route circuit. 5255 Value *[]ExpressRouteCircuitPeering `json:"value,omitempty"` 5256} 5257 5258// ExpressRouteCircuitPeeringListResultResponse is the response envelope for operations that return a ExpressRouteCircuitPeeringListResult type. 5259type ExpressRouteCircuitPeeringListResultResponse struct { 5260 // Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 5261 ExpressRouteCircuitPeeringListResult *ExpressRouteCircuitPeeringListResult 5262 5263 // RawResponse contains the underlying HTTP response. 5264 RawResponse *http.Response 5265} 5266 5267// ExpressRouteCircuitPeeringPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCircuitPeering type. 5268type ExpressRouteCircuitPeeringPollerResponse struct { 5269 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5270 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCircuitPeeringResponse, error) 5271 5272 // Poller contains an initialized poller. 5273 Poller ExpressRouteCircuitPeeringPoller 5274 5275 // RawResponse contains the underlying HTTP response. 5276 RawResponse *http.Response 5277} 5278 5279// Properties of the express route circuit peering. 5280type ExpressRouteCircuitPeeringPropertiesFormat struct { 5281 // The Azure ASN. 5282 AzureAsn *int32 `json:"azureASN,omitempty"` 5283 5284 // The list of circuit connections associated with Azure Private Peering for this circuit. 5285 Connections *[]ExpressRouteCircuitConnection `json:"connections,omitempty"` 5286 5287 // The ExpressRoute connection. 5288 ExpressRouteConnection *ExpressRouteConnectionID `json:"expressRouteConnection,omitempty"` 5289 5290 // The GatewayManager Etag. 5291 GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` 5292 5293 // The IPv6 peering configuration. 5294 IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` 5295 5296 // READ-ONLY; Who was the last to modify the peering. 5297 LastModifiedBy *string `json:"lastModifiedBy,omitempty" azure:"ro"` 5298 5299 // The Microsoft peering configuration. 5300 MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` 5301 5302 // The peer ASN. 5303 PeerAsn *int64 `json:"peerASN,omitempty"` 5304 5305 // READ-ONLY; The list of peered circuit connections associated with Azure Private Peering for this circuit. 5306 PeeredConnections *[]PeerExpressRouteCircuitConnection `json:"peeredConnections,omitempty" azure:"ro"` 5307 5308 // The peering type. 5309 PeeringType *ExpressRoutePeeringType `json:"peeringType,omitempty"` 5310 5311 // The primary port. 5312 PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` 5313 5314 // The primary address prefix. 5315 PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` 5316 5317 // READ-ONLY; The provisioning state of the express route circuit peering resource. 5318 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5319 5320 // The reference to the RouteFilter resource. 5321 RouteFilter *SubResource `json:"routeFilter,omitempty"` 5322 5323 // The secondary port. 5324 SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` 5325 5326 // The secondary address prefix. 5327 SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` 5328 5329 // The shared key. 5330 SharedKey *string `json:"sharedKey,omitempty"` 5331 5332 // The peering state. 5333 State *ExpressRoutePeeringState `json:"state,omitempty"` 5334 5335 // The peering stats of express route circuit. 5336 Stats *ExpressRouteCircuitStats `json:"stats,omitempty"` 5337 5338 // The VLAN ID. 5339 VlanID *int32 `json:"vlanId,omitempty"` 5340} 5341 5342// ExpressRouteCircuitPeeringResponse is the response envelope for operations that return a ExpressRouteCircuitPeering type. 5343type ExpressRouteCircuitPeeringResponse struct { 5344 // Peering in an ExpressRouteCircuit resource. 5345 ExpressRouteCircuitPeering *ExpressRouteCircuitPeering 5346 5347 // RawResponse contains the underlying HTTP response. 5348 RawResponse *http.Response 5349} 5350 5351// ExpressRouteCircuitPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuitPeerings.BeginCreateOrUpdate method. 5352type ExpressRouteCircuitPeeringsBeginCreateOrUpdateOptions struct { 5353 // placeholder for future optional parameters 5354} 5355 5356// ExpressRouteCircuitPeeringsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuitPeerings.BeginDelete method. 5357type ExpressRouteCircuitPeeringsBeginDeleteOptions struct { 5358 // placeholder for future optional parameters 5359} 5360 5361// ExpressRouteCircuitPeeringsGetOptions contains the optional parameters for the ExpressRouteCircuitPeerings.Get method. 5362type ExpressRouteCircuitPeeringsGetOptions struct { 5363 // placeholder for future optional parameters 5364} 5365 5366// ExpressRouteCircuitPeeringsListOptions contains the optional parameters for the ExpressRouteCircuitPeerings.List method. 5367type ExpressRouteCircuitPeeringsListOptions struct { 5368 // placeholder for future optional parameters 5369} 5370 5371// ExpressRouteCircuitPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCircuit type. 5372type ExpressRouteCircuitPollerResponse struct { 5373 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5374 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCircuitResponse, error) 5375 5376 // Poller contains an initialized poller. 5377 Poller ExpressRouteCircuitPoller 5378 5379 // RawResponse contains the underlying HTTP response. 5380 RawResponse *http.Response 5381} 5382 5383// Properties of ExpressRouteCircuit. 5384type ExpressRouteCircuitPropertiesFormat struct { 5385 // Allow classic operations. 5386 AllowClassicOperations *bool `json:"allowClassicOperations,omitempty"` 5387 5388 // The list of authorizations. 5389 Authorizations *[]ExpressRouteCircuitAuthorization `json:"authorizations,omitempty"` 5390 5391 // The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. 5392 BandwidthInGbps *float32 `json:"bandwidthInGbps,omitempty"` 5393 5394 // The CircuitProvisioningState state of the resource. 5395 CircuitProvisioningState *string `json:"circuitProvisioningState,omitempty"` 5396 5397 // The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource. 5398 ExpressRoutePort *SubResource `json:"expressRoutePort,omitempty"` 5399 5400 // The GatewayManager Etag. 5401 GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` 5402 5403 // Flag denoting global reach status. 5404 GlobalReachEnabled *bool `json:"globalReachEnabled,omitempty"` 5405 5406 // The list of peerings. 5407 Peerings *[]ExpressRouteCircuitPeering `json:"peerings,omitempty"` 5408 5409 // READ-ONLY; The provisioning state of the express route circuit resource. 5410 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5411 5412 // The ServiceKey. 5413 ServiceKey *string `json:"serviceKey,omitempty"` 5414 5415 // The ServiceProviderNotes. 5416 ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` 5417 5418 // The ServiceProviderProperties. 5419 ServiceProviderProperties *ExpressRouteCircuitServiceProviderProperties `json:"serviceProviderProperties,omitempty"` 5420 5421 // The ServiceProviderProvisioningState state of the resource. 5422 ServiceProviderProvisioningState *ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` 5423 5424 // READ-ONLY; The identifier of the circuit traffic. Outer tag for QinQ encapsulation. 5425 Stag *int32 `json:"stag,omitempty" azure:"ro"` 5426} 5427 5428// Reference to an express route circuit. 5429type ExpressRouteCircuitReference struct { 5430 // Corresponding Express Route Circuit Id. 5431 ID *string `json:"id,omitempty"` 5432} 5433 5434// ExpressRouteCircuitResponse is the response envelope for operations that return a ExpressRouteCircuit type. 5435type ExpressRouteCircuitResponse struct { 5436 // ExpressRouteCircuit resource. 5437 ExpressRouteCircuit *ExpressRouteCircuit 5438 5439 // RawResponse contains the underlying HTTP response. 5440 RawResponse *http.Response 5441} 5442 5443// The routes table associated with the ExpressRouteCircuit. 5444type ExpressRouteCircuitRoutesTable struct { 5445 // Local preference value as set with the set local-preference route-map configuration command. 5446 LocPrf *string `json:"locPrf,omitempty"` 5447 5448 // IP address of a network entity. 5449 Network *string `json:"network,omitempty"` 5450 5451 // NextHop address. 5452 NextHop *string `json:"nextHop,omitempty"` 5453 5454 // Autonomous system paths to the destination network. 5455 Path *string `json:"path,omitempty"` 5456 5457 // Route Weight. 5458 Weight *int32 `json:"weight,omitempty"` 5459} 5460 5461// The routes table associated with the ExpressRouteCircuit. 5462type ExpressRouteCircuitRoutesTableSummary struct { 5463 // Autonomous system number. 5464 As *int32 `json:"as,omitempty"` 5465 5466 // IP address of the neighbor. 5467 Neighbor *string `json:"neighbor,omitempty"` 5468 5469 // Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. 5470 StatePfxRcd *string `json:"statePfxRcd,omitempty"` 5471 5472 // The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. 5473 UpDown *string `json:"upDown,omitempty"` 5474 5475 // BGP version number spoken to the neighbor. 5476 V *int32 `json:"v,omitempty"` 5477} 5478 5479// Contains SKU in an ExpressRouteCircuit. 5480type ExpressRouteCircuitSKU struct { 5481 // The family of the SKU. 5482 Family *ExpressRouteCircuitSKUFamily `json:"family,omitempty"` 5483 5484 // The name of the SKU. 5485 Name *string `json:"name,omitempty"` 5486 5487 // The tier of the SKU. 5488 Tier *ExpressRouteCircuitSKUTier `json:"tier,omitempty"` 5489} 5490 5491// Contains ServiceProviderProperties in an ExpressRouteCircuit. 5492type ExpressRouteCircuitServiceProviderProperties struct { 5493 // The BandwidthInMbps. 5494 BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` 5495 5496 // The peering location. 5497 PeeringLocation *string `json:"peeringLocation,omitempty"` 5498 5499 // The serviceProviderName. 5500 ServiceProviderName *string `json:"serviceProviderName,omitempty"` 5501} 5502 5503// Contains stats associated with the peering. 5504type ExpressRouteCircuitStats struct { 5505 // The Primary BytesIn of the peering. 5506 PrimarybytesIn *int64 `json:"primarybytesIn,omitempty"` 5507 5508 // The primary BytesOut of the peering. 5509 PrimarybytesOut *int64 `json:"primarybytesOut,omitempty"` 5510 5511 // The secondary BytesIn of the peering. 5512 SecondarybytesIn *int64 `json:"secondarybytesIn,omitempty"` 5513 5514 // The secondary BytesOut of the peering. 5515 SecondarybytesOut *int64 `json:"secondarybytesOut,omitempty"` 5516} 5517 5518// ExpressRouteCircuitStatsResponse is the response envelope for operations that return a ExpressRouteCircuitStats type. 5519type ExpressRouteCircuitStatsResponse struct { 5520 // Contains stats associated with the peering. 5521 ExpressRouteCircuitStats *ExpressRouteCircuitStats 5522 5523 // RawResponse contains the underlying HTTP response. 5524 RawResponse *http.Response 5525} 5526 5527// Response for ListArpTable associated with the Express Route Circuits API. 5528type ExpressRouteCircuitsArpTableListResult struct { 5529 // The URL to get the next set of results. 5530 NextLink *string `json:"nextLink,omitempty"` 5531 5532 // A list of the ARP tables. 5533 Value *[]ExpressRouteCircuitArpTable `json:"value,omitempty"` 5534} 5535 5536// ExpressRouteCircuitsArpTableListResultPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCircuitsArpTableListResult 5537// type. 5538type ExpressRouteCircuitsArpTableListResultPollerResponse struct { 5539 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5540 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCircuitsArpTableListResultResponse, error) 5541 5542 // Poller contains an initialized poller. 5543 Poller ExpressRouteCircuitsArpTableListResultPoller 5544 5545 // RawResponse contains the underlying HTTP response. 5546 RawResponse *http.Response 5547} 5548 5549// ExpressRouteCircuitsArpTableListResultResponse is the response envelope for operations that return a ExpressRouteCircuitsArpTableListResult type. 5550type ExpressRouteCircuitsArpTableListResultResponse struct { 5551 // Response for ListArpTable associated with the Express Route Circuits API. 5552 ExpressRouteCircuitsArpTableListResult *ExpressRouteCircuitsArpTableListResult 5553 5554 // RawResponse contains the underlying HTTP response. 5555 RawResponse *http.Response 5556} 5557 5558// ExpressRouteCircuitsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCircuits.BeginCreateOrUpdate method. 5559type ExpressRouteCircuitsBeginCreateOrUpdateOptions struct { 5560 // placeholder for future optional parameters 5561} 5562 5563// ExpressRouteCircuitsBeginDeleteOptions contains the optional parameters for the ExpressRouteCircuits.BeginDelete method. 5564type ExpressRouteCircuitsBeginDeleteOptions struct { 5565 // placeholder for future optional parameters 5566} 5567 5568// ExpressRouteCircuitsBeginListArpTableOptions contains the optional parameters for the ExpressRouteCircuits.BeginListArpTable method. 5569type ExpressRouteCircuitsBeginListArpTableOptions struct { 5570 // placeholder for future optional parameters 5571} 5572 5573// ExpressRouteCircuitsBeginListRoutesTableOptions contains the optional parameters for the ExpressRouteCircuits.BeginListRoutesTable method. 5574type ExpressRouteCircuitsBeginListRoutesTableOptions struct { 5575 // placeholder for future optional parameters 5576} 5577 5578// ExpressRouteCircuitsBeginListRoutesTableSummaryOptions contains the optional parameters for the ExpressRouteCircuits.BeginListRoutesTableSummary method. 5579type ExpressRouteCircuitsBeginListRoutesTableSummaryOptions struct { 5580 // placeholder for future optional parameters 5581} 5582 5583// ExpressRouteCircuitsGetOptions contains the optional parameters for the ExpressRouteCircuits.Get method. 5584type ExpressRouteCircuitsGetOptions struct { 5585 // placeholder for future optional parameters 5586} 5587 5588// ExpressRouteCircuitsGetPeeringStatsOptions contains the optional parameters for the ExpressRouteCircuits.GetPeeringStats method. 5589type ExpressRouteCircuitsGetPeeringStatsOptions struct { 5590 // placeholder for future optional parameters 5591} 5592 5593// ExpressRouteCircuitsGetStatsOptions contains the optional parameters for the ExpressRouteCircuits.GetStats method. 5594type ExpressRouteCircuitsGetStatsOptions struct { 5595 // placeholder for future optional parameters 5596} 5597 5598// ExpressRouteCircuitsListAllOptions contains the optional parameters for the ExpressRouteCircuits.ListAll method. 5599type ExpressRouteCircuitsListAllOptions struct { 5600 // placeholder for future optional parameters 5601} 5602 5603// ExpressRouteCircuitsListOptions contains the optional parameters for the ExpressRouteCircuits.List method. 5604type ExpressRouteCircuitsListOptions struct { 5605 // placeholder for future optional parameters 5606} 5607 5608// Response for ListRoutesTable associated with the Express Route Circuits API. 5609type ExpressRouteCircuitsRoutesTableListResult struct { 5610 // The URL to get the next set of results. 5611 NextLink *string `json:"nextLink,omitempty"` 5612 5613 // The list of routes table. 5614 Value *[]ExpressRouteCircuitRoutesTable `json:"value,omitempty"` 5615} 5616 5617// ExpressRouteCircuitsRoutesTableListResultPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCircuitsRoutesTableListResult 5618// type. 5619type ExpressRouteCircuitsRoutesTableListResultPollerResponse struct { 5620 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5621 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCircuitsRoutesTableListResultResponse, error) 5622 5623 // Poller contains an initialized poller. 5624 Poller ExpressRouteCircuitsRoutesTableListResultPoller 5625 5626 // RawResponse contains the underlying HTTP response. 5627 RawResponse *http.Response 5628} 5629 5630// ExpressRouteCircuitsRoutesTableListResultResponse is the response envelope for operations that return a ExpressRouteCircuitsRoutesTableListResult type. 5631type ExpressRouteCircuitsRoutesTableListResultResponse struct { 5632 // Response for ListRoutesTable associated with the Express Route Circuits API. 5633 ExpressRouteCircuitsRoutesTableListResult *ExpressRouteCircuitsRoutesTableListResult 5634 5635 // RawResponse contains the underlying HTTP response. 5636 RawResponse *http.Response 5637} 5638 5639// Response for ListRoutesTable associated with the Express Route Circuits API. 5640type ExpressRouteCircuitsRoutesTableSummaryListResult struct { 5641 // The URL to get the next set of results. 5642 NextLink *string `json:"nextLink,omitempty"` 5643 5644 // A list of the routes table. 5645 Value *[]ExpressRouteCircuitRoutesTableSummary `json:"value,omitempty"` 5646} 5647 5648// ExpressRouteCircuitsRoutesTableSummaryListResultPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCircuitsRoutesTableSummaryListResult 5649// type. 5650type ExpressRouteCircuitsRoutesTableSummaryListResultPollerResponse struct { 5651 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5652 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCircuitsRoutesTableSummaryListResultResponse, error) 5653 5654 // Poller contains an initialized poller. 5655 Poller ExpressRouteCircuitsRoutesTableSummaryListResultPoller 5656 5657 // RawResponse contains the underlying HTTP response. 5658 RawResponse *http.Response 5659} 5660 5661// ExpressRouteCircuitsRoutesTableSummaryListResultResponse is the response envelope for operations that return a ExpressRouteCircuitsRoutesTableSummaryListResult 5662// type. 5663type ExpressRouteCircuitsRoutesTableSummaryListResultResponse struct { 5664 // Response for ListRoutesTable associated with the Express Route Circuits API. 5665 ExpressRouteCircuitsRoutesTableSummaryListResult *ExpressRouteCircuitsRoutesTableSummaryListResult 5666 5667 // RawResponse contains the underlying HTTP response. 5668 RawResponse *http.Response 5669} 5670 5671// ExpressRouteCircuitsUpdateTagsOptions contains the optional parameters for the ExpressRouteCircuits.UpdateTags method. 5672type ExpressRouteCircuitsUpdateTagsOptions struct { 5673 // placeholder for future optional parameters 5674} 5675 5676// ExpressRouteConnection resource. 5677type ExpressRouteConnection struct { 5678 SubResource 5679 // The name of the resource. 5680 Name *string `json:"name,omitempty"` 5681 5682 // Properties of the express route connection. 5683 Properties *ExpressRouteConnectionProperties `json:"properties,omitempty"` 5684} 5685 5686// The ID of the ExpressRouteConnection. 5687type ExpressRouteConnectionID struct { 5688 // READ-ONLY; The ID of the ExpressRouteConnection. 5689 ID *string `json:"id,omitempty" azure:"ro"` 5690} 5691 5692// ExpressRouteConnection list. 5693type ExpressRouteConnectionList struct { 5694 // The list of ExpressRoute connections. 5695 Value *[]ExpressRouteConnection `json:"value,omitempty"` 5696} 5697 5698// ExpressRouteConnectionListResponse is the response envelope for operations that return a ExpressRouteConnectionList type. 5699type ExpressRouteConnectionListResponse struct { 5700 // ExpressRouteConnection list. 5701 ExpressRouteConnectionList *ExpressRouteConnectionList 5702 5703 // RawResponse contains the underlying HTTP response. 5704 RawResponse *http.Response 5705} 5706 5707// ExpressRouteConnectionPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteConnection type. 5708type ExpressRouteConnectionPollerResponse struct { 5709 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5710 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteConnectionResponse, error) 5711 5712 // Poller contains an initialized poller. 5713 Poller ExpressRouteConnectionPoller 5714 5715 // RawResponse contains the underlying HTTP response. 5716 RawResponse *http.Response 5717} 5718 5719// Properties of the ExpressRouteConnection subresource. 5720type ExpressRouteConnectionProperties struct { 5721 // Authorization key to establish the connection. 5722 AuthorizationKey *string `json:"authorizationKey,omitempty"` 5723 5724 // Enable internet security. 5725 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 5726 5727 // The ExpressRoute circuit peering. 5728 ExpressRouteCircuitPeering *ExpressRouteCircuitPeeringID `json:"expressRouteCircuitPeering,omitempty"` 5729 5730 // READ-ONLY; The provisioning state of the express route connection resource. 5731 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5732 5733 // The Routing Configuration indicating the associated and propagated route tables on this connection. 5734 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 5735 5736 // The routing weight associated to the connection. 5737 RoutingWeight *int32 `json:"routingWeight,omitempty"` 5738} 5739 5740// ExpressRouteConnectionResponse is the response envelope for operations that return a ExpressRouteConnection type. 5741type ExpressRouteConnectionResponse struct { 5742 // ExpressRouteConnection resource. 5743 ExpressRouteConnection *ExpressRouteConnection 5744 5745 // RawResponse contains the underlying HTTP response. 5746 RawResponse *http.Response 5747} 5748 5749// ExpressRouteConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteConnections.BeginCreateOrUpdate method. 5750type ExpressRouteConnectionsBeginCreateOrUpdateOptions struct { 5751 // placeholder for future optional parameters 5752} 5753 5754// ExpressRouteConnectionsBeginDeleteOptions contains the optional parameters for the ExpressRouteConnections.BeginDelete method. 5755type ExpressRouteConnectionsBeginDeleteOptions struct { 5756 // placeholder for future optional parameters 5757} 5758 5759// ExpressRouteConnectionsGetOptions contains the optional parameters for the ExpressRouteConnections.Get method. 5760type ExpressRouteConnectionsGetOptions struct { 5761 // placeholder for future optional parameters 5762} 5763 5764// ExpressRouteConnectionsListOptions contains the optional parameters for the ExpressRouteConnections.List method. 5765type ExpressRouteConnectionsListOptions struct { 5766 // placeholder for future optional parameters 5767} 5768 5769// ExpressRouteCrossConnection resource. 5770type ExpressRouteCrossConnection struct { 5771 Resource 5772 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5773 Etag *string `json:"etag,omitempty" azure:"ro"` 5774 5775 // Properties of the express route cross connection. 5776 Properties *ExpressRouteCrossConnectionProperties `json:"properties,omitempty"` 5777} 5778 5779// Response for ListExpressRouteCrossConnection API service call. 5780type ExpressRouteCrossConnectionListResult struct { 5781 // READ-ONLY; The URL to get the next set of results. 5782 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 5783 5784 // A list of ExpressRouteCrossConnection resources. 5785 Value *[]ExpressRouteCrossConnection `json:"value,omitempty"` 5786} 5787 5788// ExpressRouteCrossConnectionListResultResponse is the response envelope for operations that return a ExpressRouteCrossConnectionListResult type. 5789type ExpressRouteCrossConnectionListResultResponse struct { 5790 // Response for ListExpressRouteCrossConnection API service call. 5791 ExpressRouteCrossConnectionListResult *ExpressRouteCrossConnectionListResult 5792 5793 // RawResponse contains the underlying HTTP response. 5794 RawResponse *http.Response 5795} 5796 5797// Peering in an ExpressRoute Cross Connection resource. 5798type ExpressRouteCrossConnectionPeering struct { 5799 SubResource 5800 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 5801 Etag *string `json:"etag,omitempty" azure:"ro"` 5802 5803 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 5804 Name *string `json:"name,omitempty"` 5805 5806 // Properties of the express route cross connection peering. 5807 Properties *ExpressRouteCrossConnectionPeeringProperties `json:"properties,omitempty"` 5808} 5809 5810// Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. 5811type ExpressRouteCrossConnectionPeeringList struct { 5812 // READ-ONLY; The URL to get the next set of results. 5813 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 5814 5815 // The peerings in an express route cross connection. 5816 Value *[]ExpressRouteCrossConnectionPeering `json:"value,omitempty"` 5817} 5818 5819// ExpressRouteCrossConnectionPeeringListResponse is the response envelope for operations that return a ExpressRouteCrossConnectionPeeringList type. 5820type ExpressRouteCrossConnectionPeeringListResponse struct { 5821 // Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. 5822 ExpressRouteCrossConnectionPeeringList *ExpressRouteCrossConnectionPeeringList 5823 5824 // RawResponse contains the underlying HTTP response. 5825 RawResponse *http.Response 5826} 5827 5828// ExpressRouteCrossConnectionPeeringPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCrossConnectionPeering 5829// type. 5830type ExpressRouteCrossConnectionPeeringPollerResponse struct { 5831 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5832 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCrossConnectionPeeringResponse, error) 5833 5834 // Poller contains an initialized poller. 5835 Poller ExpressRouteCrossConnectionPeeringPoller 5836 5837 // RawResponse contains the underlying HTTP response. 5838 RawResponse *http.Response 5839} 5840 5841// Properties of express route cross connection peering. 5842type ExpressRouteCrossConnectionPeeringProperties struct { 5843 // READ-ONLY; The Azure ASN. 5844 AzureAsn *int32 `json:"azureASN,omitempty" azure:"ro"` 5845 5846 // The GatewayManager Etag. 5847 GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` 5848 5849 // The IPv6 peering configuration. 5850 IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` 5851 5852 // READ-ONLY; Who was the last to modify the peering. 5853 LastModifiedBy *string `json:"lastModifiedBy,omitempty" azure:"ro"` 5854 5855 // The Microsoft peering configuration. 5856 MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` 5857 5858 // The peer ASN. 5859 PeerAsn *int64 `json:"peerASN,omitempty"` 5860 5861 // The peering type. 5862 PeeringType *ExpressRoutePeeringType `json:"peeringType,omitempty"` 5863 5864 // READ-ONLY; The primary port. 5865 PrimaryAzurePort *string `json:"primaryAzurePort,omitempty" azure:"ro"` 5866 5867 // The primary address prefix. 5868 PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` 5869 5870 // READ-ONLY; The provisioning state of the express route cross connection peering resource. 5871 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5872 5873 // READ-ONLY; The secondary port. 5874 SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty" azure:"ro"` 5875 5876 // The secondary address prefix. 5877 SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` 5878 5879 // The shared key. 5880 SharedKey *string `json:"sharedKey,omitempty"` 5881 5882 // The peering state. 5883 State *ExpressRoutePeeringState `json:"state,omitempty"` 5884 5885 // The VLAN ID. 5886 VlanID *int32 `json:"vlanId,omitempty"` 5887} 5888 5889// ExpressRouteCrossConnectionPeeringResponse is the response envelope for operations that return a ExpressRouteCrossConnectionPeering type. 5890type ExpressRouteCrossConnectionPeeringResponse struct { 5891 // Peering in an ExpressRoute Cross Connection resource. 5892 ExpressRouteCrossConnectionPeering *ExpressRouteCrossConnectionPeering 5893 5894 // RawResponse contains the underlying HTTP response. 5895 RawResponse *http.Response 5896} 5897 5898// ExpressRouteCrossConnectionPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.BeginCreateOrUpdate 5899// method. 5900type ExpressRouteCrossConnectionPeeringsBeginCreateOrUpdateOptions struct { 5901 // placeholder for future optional parameters 5902} 5903 5904// ExpressRouteCrossConnectionPeeringsBeginDeleteOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.BeginDelete method. 5905type ExpressRouteCrossConnectionPeeringsBeginDeleteOptions struct { 5906 // placeholder for future optional parameters 5907} 5908 5909// ExpressRouteCrossConnectionPeeringsGetOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.Get method. 5910type ExpressRouteCrossConnectionPeeringsGetOptions struct { 5911 // placeholder for future optional parameters 5912} 5913 5914// ExpressRouteCrossConnectionPeeringsListOptions contains the optional parameters for the ExpressRouteCrossConnectionPeerings.List method. 5915type ExpressRouteCrossConnectionPeeringsListOptions struct { 5916 // placeholder for future optional parameters 5917} 5918 5919// ExpressRouteCrossConnectionPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCrossConnection type. 5920type ExpressRouteCrossConnectionPollerResponse struct { 5921 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 5922 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCrossConnectionResponse, error) 5923 5924 // Poller contains an initialized poller. 5925 Poller ExpressRouteCrossConnectionPoller 5926 5927 // RawResponse contains the underlying HTTP response. 5928 RawResponse *http.Response 5929} 5930 5931// Properties of ExpressRouteCrossConnection. 5932type ExpressRouteCrossConnectionProperties struct { 5933 // READ-ONLY; The circuit bandwidth In Mbps. 5934 BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty" azure:"ro"` 5935 5936 // The ExpressRouteCircuit. 5937 ExpressRouteCircuit *ExpressRouteCircuitReference `json:"expressRouteCircuit,omitempty"` 5938 5939 // READ-ONLY; The peering location of the ExpressRoute circuit. 5940 PeeringLocation *string `json:"peeringLocation,omitempty" azure:"ro"` 5941 5942 // The list of peerings. 5943 Peerings *[]ExpressRouteCrossConnectionPeering `json:"peerings,omitempty"` 5944 5945 // READ-ONLY; The name of the primary port. 5946 PrimaryAzurePort *string `json:"primaryAzurePort,omitempty" azure:"ro"` 5947 5948 // READ-ONLY; The provisioning state of the express route cross connection resource. 5949 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 5950 5951 // READ-ONLY; The identifier of the circuit traffic. 5952 STag *int32 `json:"sTag,omitempty" azure:"ro"` 5953 5954 // READ-ONLY; The name of the secondary port. 5955 SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty" azure:"ro"` 5956 5957 // Additional read only notes set by the connectivity provider. 5958 ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` 5959 5960 // The provisioning state of the circuit in the connectivity provider system. 5961 ServiceProviderProvisioningState *ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` 5962} 5963 5964// ExpressRouteCrossConnectionResponse is the response envelope for operations that return a ExpressRouteCrossConnection type. 5965type ExpressRouteCrossConnectionResponse struct { 5966 // ExpressRouteCrossConnection resource. 5967 ExpressRouteCrossConnection *ExpressRouteCrossConnection 5968 5969 // RawResponse contains the underlying HTTP response. 5970 RawResponse *http.Response 5971} 5972 5973// The routes table associated with the ExpressRouteCircuit. 5974type ExpressRouteCrossConnectionRoutesTableSummary struct { 5975 // Autonomous system number. 5976 Asn *int32 `json:"asn,omitempty"` 5977 5978 // IP address of Neighbor router. 5979 Neighbor *string `json:"neighbor,omitempty"` 5980 5981 // Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. 5982 StateOrPrefixesReceived *string `json:"stateOrPrefixesReceived,omitempty"` 5983 5984 // The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. 5985 UpDown *string `json:"upDown,omitempty"` 5986} 5987 5988// ExpressRouteCrossConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginCreateOrUpdate method. 5989type ExpressRouteCrossConnectionsBeginCreateOrUpdateOptions struct { 5990 // placeholder for future optional parameters 5991} 5992 5993// ExpressRouteCrossConnectionsBeginListArpTableOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListArpTable method. 5994type ExpressRouteCrossConnectionsBeginListArpTableOptions struct { 5995 // placeholder for future optional parameters 5996} 5997 5998// ExpressRouteCrossConnectionsBeginListRoutesTableOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListRoutesTable method. 5999type ExpressRouteCrossConnectionsBeginListRoutesTableOptions struct { 6000 // placeholder for future optional parameters 6001} 6002 6003// ExpressRouteCrossConnectionsBeginListRoutesTableSummaryOptions contains the optional parameters for the ExpressRouteCrossConnections.BeginListRoutesTableSummary 6004// method. 6005type ExpressRouteCrossConnectionsBeginListRoutesTableSummaryOptions struct { 6006 // placeholder for future optional parameters 6007} 6008 6009// ExpressRouteCrossConnectionsGetOptions contains the optional parameters for the ExpressRouteCrossConnections.Get method. 6010type ExpressRouteCrossConnectionsGetOptions struct { 6011 // placeholder for future optional parameters 6012} 6013 6014// ExpressRouteCrossConnectionsListByResourceGroupOptions contains the optional parameters for the ExpressRouteCrossConnections.ListByResourceGroup method. 6015type ExpressRouteCrossConnectionsListByResourceGroupOptions struct { 6016 // placeholder for future optional parameters 6017} 6018 6019// ExpressRouteCrossConnectionsListOptions contains the optional parameters for the ExpressRouteCrossConnections.List method. 6020type ExpressRouteCrossConnectionsListOptions struct { 6021 // placeholder for future optional parameters 6022} 6023 6024// Response for ListRoutesTable associated with the Express Route Cross Connections. 6025type ExpressRouteCrossConnectionsRoutesTableSummaryListResult struct { 6026 // READ-ONLY; The URL to get the next set of results. 6027 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 6028 6029 // A list of the routes table. 6030 Value *[]ExpressRouteCrossConnectionRoutesTableSummary `json:"value,omitempty"` 6031} 6032 6033// ExpressRouteCrossConnectionsRoutesTableSummaryListResultPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteCrossConnectionsRoutesTableSummaryListResult 6034// type. 6035type ExpressRouteCrossConnectionsRoutesTableSummaryListResultPollerResponse struct { 6036 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 6037 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteCrossConnectionsRoutesTableSummaryListResultResponse, error) 6038 6039 // Poller contains an initialized poller. 6040 Poller ExpressRouteCrossConnectionsRoutesTableSummaryListResultPoller 6041 6042 // RawResponse contains the underlying HTTP response. 6043 RawResponse *http.Response 6044} 6045 6046// ExpressRouteCrossConnectionsRoutesTableSummaryListResultResponse is the response envelope for operations that return a ExpressRouteCrossConnectionsRoutesTableSummaryListResult 6047// type. 6048type ExpressRouteCrossConnectionsRoutesTableSummaryListResultResponse struct { 6049 // Response for ListRoutesTable associated with the Express Route Cross Connections. 6050 ExpressRouteCrossConnectionsRoutesTableSummaryListResult *ExpressRouteCrossConnectionsRoutesTableSummaryListResult 6051 6052 // RawResponse contains the underlying HTTP response. 6053 RawResponse *http.Response 6054} 6055 6056// ExpressRouteCrossConnectionsUpdateTagsOptions contains the optional parameters for the ExpressRouteCrossConnections.UpdateTags method. 6057type ExpressRouteCrossConnectionsUpdateTagsOptions struct { 6058 // placeholder for future optional parameters 6059} 6060 6061// ExpressRoute gateway resource. 6062type ExpressRouteGateway struct { 6063 Resource 6064 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6065 Etag *string `json:"etag,omitempty" azure:"ro"` 6066 6067 // Properties of the express route gateway. 6068 Properties *ExpressRouteGatewayProperties `json:"properties,omitempty"` 6069} 6070 6071// List of ExpressRoute gateways. 6072type ExpressRouteGatewayList struct { 6073 // List of ExpressRoute gateways. 6074 Value *[]ExpressRouteGateway `json:"value,omitempty"` 6075} 6076 6077// ExpressRouteGatewayListResponse is the response envelope for operations that return a ExpressRouteGatewayList type. 6078type ExpressRouteGatewayListResponse struct { 6079 // List of ExpressRoute gateways. 6080 ExpressRouteGatewayList *ExpressRouteGatewayList 6081 6082 // RawResponse contains the underlying HTTP response. 6083 RawResponse *http.Response 6084} 6085 6086// ExpressRouteGatewayPollerResponse is the response envelope for operations that asynchronously return a ExpressRouteGateway type. 6087type ExpressRouteGatewayPollerResponse struct { 6088 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 6089 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRouteGatewayResponse, error) 6090 6091 // Poller contains an initialized poller. 6092 Poller ExpressRouteGatewayPoller 6093 6094 // RawResponse contains the underlying HTTP response. 6095 RawResponse *http.Response 6096} 6097 6098// ExpressRoute gateway resource properties. 6099type ExpressRouteGatewayProperties struct { 6100 // Configuration for auto scaling. 6101 AutoScaleConfiguration *ExpressRouteGatewayPropertiesAutoScaleConfiguration `json:"autoScaleConfiguration,omitempty"` 6102 6103 // READ-ONLY; List of ExpressRoute connections to the ExpressRoute gateway. 6104 ExpressRouteConnections *[]ExpressRouteConnection `json:"expressRouteConnections,omitempty" azure:"ro"` 6105 6106 // READ-ONLY; The provisioning state of the express route gateway resource. 6107 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6108 6109 // The Virtual Hub where the ExpressRoute gateway is or will be deployed. 6110 VirtualHub *VirtualHubID `json:"virtualHub,omitempty"` 6111} 6112 6113// Configuration for auto scaling. 6114type ExpressRouteGatewayPropertiesAutoScaleConfiguration struct { 6115 // Minimum and maximum number of scale units to deploy. 6116 Bounds *ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds `json:"bounds,omitempty"` 6117} 6118 6119// Minimum and maximum number of scale units to deploy. 6120type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds struct { 6121 // Maximum number of scale units deployed for ExpressRoute gateway. 6122 Max *int32 `json:"max,omitempty"` 6123 6124 // Minimum number of scale units deployed for ExpressRoute gateway. 6125 Min *int32 `json:"min,omitempty"` 6126} 6127 6128// ExpressRouteGatewayResponse is the response envelope for operations that return a ExpressRouteGateway type. 6129type ExpressRouteGatewayResponse struct { 6130 // ExpressRoute gateway resource. 6131 ExpressRouteGateway *ExpressRouteGateway 6132 6133 // RawResponse contains the underlying HTTP response. 6134 RawResponse *http.Response 6135} 6136 6137// ExpressRouteGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRouteGateways.BeginCreateOrUpdate method. 6138type ExpressRouteGatewaysBeginCreateOrUpdateOptions struct { 6139 // placeholder for future optional parameters 6140} 6141 6142// ExpressRouteGatewaysBeginDeleteOptions contains the optional parameters for the ExpressRouteGateways.BeginDelete method. 6143type ExpressRouteGatewaysBeginDeleteOptions struct { 6144 // placeholder for future optional parameters 6145} 6146 6147// ExpressRouteGatewaysGetOptions contains the optional parameters for the ExpressRouteGateways.Get method. 6148type ExpressRouteGatewaysGetOptions struct { 6149 // placeholder for future optional parameters 6150} 6151 6152// ExpressRouteGatewaysListByResourceGroupOptions contains the optional parameters for the ExpressRouteGateways.ListByResourceGroup method. 6153type ExpressRouteGatewaysListByResourceGroupOptions struct { 6154 // placeholder for future optional parameters 6155} 6156 6157// ExpressRouteGatewaysListBySubscriptionOptions contains the optional parameters for the ExpressRouteGateways.ListBySubscription method. 6158type ExpressRouteGatewaysListBySubscriptionOptions struct { 6159 // placeholder for future optional parameters 6160} 6161 6162// ExpressRouteLink child resource definition. 6163type ExpressRouteLink struct { 6164 SubResource 6165 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6166 Etag *string `json:"etag,omitempty" azure:"ro"` 6167 6168 // Name of child port resource that is unique among child port resources of the parent. 6169 Name *string `json:"name,omitempty"` 6170 6171 // ExpressRouteLink properties. 6172 Properties *ExpressRouteLinkPropertiesFormat `json:"properties,omitempty"` 6173} 6174 6175// Response for ListExpressRouteLinks API service call. 6176type ExpressRouteLinkListResult struct { 6177 // The URL to get the next set of results. 6178 NextLink *string `json:"nextLink,omitempty"` 6179 6180 // The list of ExpressRouteLink sub-resources. 6181 Value *[]ExpressRouteLink `json:"value,omitempty"` 6182} 6183 6184// ExpressRouteLinkListResultResponse is the response envelope for operations that return a ExpressRouteLinkListResult type. 6185type ExpressRouteLinkListResultResponse struct { 6186 // Response for ListExpressRouteLinks API service call. 6187 ExpressRouteLinkListResult *ExpressRouteLinkListResult 6188 6189 // RawResponse contains the underlying HTTP response. 6190 RawResponse *http.Response 6191} 6192 6193// ExpressRouteLink Mac Security Configuration. 6194type ExpressRouteLinkMacSecConfig struct { 6195 // Keyvault Secret Identifier URL containing Mac security CAK key. 6196 CakSecretIDentifier *string `json:"cakSecretIdentifier,omitempty"` 6197 6198 // Mac security cipher. 6199 Cipher *ExpressRouteLinkMacSecCipher `json:"cipher,omitempty"` 6200 6201 // Keyvault Secret Identifier URL containing Mac security CKN key. 6202 CknSecretIDentifier *string `json:"cknSecretIdentifier,omitempty"` 6203 6204 // Sci mode enabled/disabled. 6205 SciState *ExpressRouteLinkMacSecSciState `json:"sciState,omitempty"` 6206} 6207 6208// Properties specific to ExpressRouteLink resources. 6209type ExpressRouteLinkPropertiesFormat struct { 6210 // Administrative state of the physical port. 6211 AdminState *ExpressRouteLinkAdminState `json:"adminState,omitempty"` 6212 6213 // READ-ONLY; Physical fiber port type. 6214 ConnectorType *ExpressRouteLinkConnectorType `json:"connectorType,omitempty" azure:"ro"` 6215 6216 // READ-ONLY; Name of Azure router interface. 6217 InterfaceName *string `json:"interfaceName,omitempty" azure:"ro"` 6218 6219 // MacSec configuration. 6220 MacSecConfig *ExpressRouteLinkMacSecConfig `json:"macSecConfig,omitempty"` 6221 6222 // READ-ONLY; Mapping between physical port to patch panel port. 6223 PatchPanelID *string `json:"patchPanelId,omitempty" azure:"ro"` 6224 6225 // READ-ONLY; The provisioning state of the express route link resource. 6226 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6227 6228 // READ-ONLY; Mapping of physical patch panel to rack. 6229 RackID *string `json:"rackId,omitempty" azure:"ro"` 6230 6231 // READ-ONLY; Name of Azure router associated with physical port. 6232 RouterName *string `json:"routerName,omitempty" azure:"ro"` 6233} 6234 6235// ExpressRouteLinkResponse is the response envelope for operations that return a ExpressRouteLink type. 6236type ExpressRouteLinkResponse struct { 6237 // ExpressRouteLink child resource definition. 6238 ExpressRouteLink *ExpressRouteLink 6239 6240 // RawResponse contains the underlying HTTP response. 6241 RawResponse *http.Response 6242} 6243 6244// ExpressRouteLinksGetOptions contains the optional parameters for the ExpressRouteLinks.Get method. 6245type ExpressRouteLinksGetOptions struct { 6246 // placeholder for future optional parameters 6247} 6248 6249// ExpressRouteLinksListOptions contains the optional parameters for the ExpressRouteLinks.List method. 6250type ExpressRouteLinksListOptions struct { 6251 // placeholder for future optional parameters 6252} 6253 6254// ExpressRoutePort resource definition. 6255type ExpressRoutePort struct { 6256 Resource 6257 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6258 Etag *string `json:"etag,omitempty" azure:"ro"` 6259 6260 // The identity of ExpressRoutePort, if configured. 6261 IDentity *ManagedServiceIDentity `json:"identity,omitempty"` 6262 6263 // ExpressRoutePort properties. 6264 Properties *ExpressRoutePortPropertiesFormat `json:"properties,omitempty"` 6265} 6266 6267// Response for ListExpressRoutePorts API service call. 6268type ExpressRoutePortListResult struct { 6269 // The URL to get the next set of results. 6270 NextLink *string `json:"nextLink,omitempty"` 6271 6272 // A list of ExpressRoutePort resources. 6273 Value *[]ExpressRoutePort `json:"value,omitempty"` 6274} 6275 6276// ExpressRoutePortListResultResponse is the response envelope for operations that return a ExpressRoutePortListResult type. 6277type ExpressRoutePortListResultResponse struct { 6278 // Response for ListExpressRoutePorts API service call. 6279 ExpressRoutePortListResult *ExpressRoutePortListResult 6280 6281 // RawResponse contains the underlying HTTP response. 6282 RawResponse *http.Response 6283} 6284 6285// ExpressRoutePortPollerResponse is the response envelope for operations that asynchronously return a ExpressRoutePort type. 6286type ExpressRoutePortPollerResponse struct { 6287 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 6288 PollUntilDone func(ctx context.Context, frequency time.Duration) (ExpressRoutePortResponse, error) 6289 6290 // Poller contains an initialized poller. 6291 Poller ExpressRoutePortPoller 6292 6293 // RawResponse contains the underlying HTTP response. 6294 RawResponse *http.Response 6295} 6296 6297// Properties specific to ExpressRoutePort resources. 6298type ExpressRoutePortPropertiesFormat struct { 6299 // READ-ONLY; Date of the physical port allocation to be used in Letter of Authorization. 6300 AllocationDate *string `json:"allocationDate,omitempty" azure:"ro"` 6301 6302 // Bandwidth of procured ports in Gbps. 6303 BandwidthInGbps *int32 `json:"bandwidthInGbps,omitempty"` 6304 6305 // READ-ONLY; Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource. 6306 Circuits *[]SubResource `json:"circuits,omitempty" azure:"ro"` 6307 6308 // Encapsulation method on physical ports. 6309 Encapsulation *ExpressRoutePortsEncapsulation `json:"encapsulation,omitempty"` 6310 6311 // READ-ONLY; Ether type of the physical port. 6312 EtherType *string `json:"etherType,omitempty" azure:"ro"` 6313 6314 // The set of physical links of the ExpressRoutePort resource. 6315 Links *[]ExpressRouteLink `json:"links,omitempty"` 6316 6317 // READ-ONLY; Maximum transmission unit of the physical port pair(s). 6318 Mtu *string `json:"mtu,omitempty" azure:"ro"` 6319 6320 // The name of the peering location that the ExpressRoutePort is mapped to physically. 6321 PeeringLocation *string `json:"peeringLocation,omitempty"` 6322 6323 // READ-ONLY; Aggregate Gbps of associated circuit bandwidths. 6324 ProvisionedBandwidthInGbps *float32 `json:"provisionedBandwidthInGbps,omitempty" azure:"ro"` 6325 6326 // READ-ONLY; The provisioning state of the express route port resource. 6327 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6328 6329 // READ-ONLY; The resource GUID property of the express route port resource. 6330 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 6331} 6332 6333// ExpressRoutePortResponse is the response envelope for operations that return a ExpressRoutePort type. 6334type ExpressRoutePortResponse struct { 6335 // ExpressRoutePort resource definition. 6336 ExpressRoutePort *ExpressRoutePort 6337 6338 // RawResponse contains the underlying HTTP response. 6339 RawResponse *http.Response 6340} 6341 6342// ExpressRoutePortsBeginCreateOrUpdateOptions contains the optional parameters for the ExpressRoutePorts.BeginCreateOrUpdate method. 6343type ExpressRoutePortsBeginCreateOrUpdateOptions struct { 6344 // placeholder for future optional parameters 6345} 6346 6347// ExpressRoutePortsBeginDeleteOptions contains the optional parameters for the ExpressRoutePorts.BeginDelete method. 6348type ExpressRoutePortsBeginDeleteOptions struct { 6349 // placeholder for future optional parameters 6350} 6351 6352// ExpressRoutePortsGenerateLoaOptions contains the optional parameters for the ExpressRoutePorts.GenerateLoa method. 6353type ExpressRoutePortsGenerateLoaOptions struct { 6354 // placeholder for future optional parameters 6355} 6356 6357// ExpressRoutePortsGetOptions contains the optional parameters for the ExpressRoutePorts.Get method. 6358type ExpressRoutePortsGetOptions struct { 6359 // placeholder for future optional parameters 6360} 6361 6362// ExpressRoutePortsListByResourceGroupOptions contains the optional parameters for the ExpressRoutePorts.ListByResourceGroup method. 6363type ExpressRoutePortsListByResourceGroupOptions struct { 6364 // placeholder for future optional parameters 6365} 6366 6367// ExpressRoutePortsListOptions contains the optional parameters for the ExpressRoutePorts.List method. 6368type ExpressRoutePortsListOptions struct { 6369 // placeholder for future optional parameters 6370} 6371 6372// Definition of the ExpressRoutePorts peering location resource. 6373type ExpressRoutePortsLocation struct { 6374 Resource 6375 // ExpressRoutePort peering location properties. 6376 Properties *ExpressRoutePortsLocationPropertiesFormat `json:"properties,omitempty"` 6377} 6378 6379// Real-time inventory of available ExpressRoute port bandwidths. 6380type ExpressRoutePortsLocationBandwidths struct { 6381 // READ-ONLY; Bandwidth descriptive name. 6382 OfferName *string `json:"offerName,omitempty" azure:"ro"` 6383 6384 // READ-ONLY; Bandwidth value in Gbps. 6385 ValueInGbps *int32 `json:"valueInGbps,omitempty" azure:"ro"` 6386} 6387 6388// Response for ListExpressRoutePortsLocations API service call. 6389type ExpressRoutePortsLocationListResult struct { 6390 // The URL to get the next set of results. 6391 NextLink *string `json:"nextLink,omitempty"` 6392 6393 // The list of all ExpressRoutePort peering locations. 6394 Value *[]ExpressRoutePortsLocation `json:"value,omitempty"` 6395} 6396 6397// ExpressRoutePortsLocationListResultResponse is the response envelope for operations that return a ExpressRoutePortsLocationListResult type. 6398type ExpressRoutePortsLocationListResultResponse struct { 6399 // Response for ListExpressRoutePortsLocations API service call. 6400 ExpressRoutePortsLocationListResult *ExpressRoutePortsLocationListResult 6401 6402 // RawResponse contains the underlying HTTP response. 6403 RawResponse *http.Response 6404} 6405 6406// Properties specific to ExpressRoutePorts peering location resources. 6407type ExpressRoutePortsLocationPropertiesFormat struct { 6408 // READ-ONLY; Address of peering location. 6409 Address *string `json:"address,omitempty" azure:"ro"` 6410 6411 // The inventory of available ExpressRoutePort bandwidths. 6412 AvailableBandwidths *[]ExpressRoutePortsLocationBandwidths `json:"availableBandwidths,omitempty"` 6413 6414 // READ-ONLY; Contact details of peering locations. 6415 Contact *string `json:"contact,omitempty" azure:"ro"` 6416 6417 // READ-ONLY; The provisioning state of the express route port location resource. 6418 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6419} 6420 6421// ExpressRoutePortsLocationResponse is the response envelope for operations that return a ExpressRoutePortsLocation type. 6422type ExpressRoutePortsLocationResponse struct { 6423 // Definition of the ExpressRoutePorts peering location resource. 6424 ExpressRoutePortsLocation *ExpressRoutePortsLocation 6425 6426 // RawResponse contains the underlying HTTP response. 6427 RawResponse *http.Response 6428} 6429 6430// ExpressRoutePortsLocationsGetOptions contains the optional parameters for the ExpressRoutePortsLocations.Get method. 6431type ExpressRoutePortsLocationsGetOptions struct { 6432 // placeholder for future optional parameters 6433} 6434 6435// ExpressRoutePortsLocationsListOptions contains the optional parameters for the ExpressRoutePortsLocations.List method. 6436type ExpressRoutePortsLocationsListOptions struct { 6437 // placeholder for future optional parameters 6438} 6439 6440// ExpressRoutePortsUpdateTagsOptions contains the optional parameters for the ExpressRoutePorts.UpdateTags method. 6441type ExpressRoutePortsUpdateTagsOptions struct { 6442 // placeholder for future optional parameters 6443} 6444 6445// A ExpressRouteResourceProvider object. 6446type ExpressRouteServiceProvider struct { 6447 Resource 6448 // Properties of the express route service provider. 6449 Properties *ExpressRouteServiceProviderPropertiesFormat `json:"properties,omitempty"` 6450} 6451 6452// Contains bandwidths offered in ExpressRouteServiceProvider resources. 6453type ExpressRouteServiceProviderBandwidthsOffered struct { 6454 // The OfferName. 6455 OfferName *string `json:"offerName,omitempty"` 6456 6457 // The ValueInMbps. 6458 ValueInMbps *int32 `json:"valueInMbps,omitempty"` 6459} 6460 6461// Response for the ListExpressRouteServiceProvider API service call. 6462type ExpressRouteServiceProviderListResult struct { 6463 // The URL to get the next set of results. 6464 NextLink *string `json:"nextLink,omitempty"` 6465 6466 // A list of ExpressRouteResourceProvider resources. 6467 Value *[]ExpressRouteServiceProvider `json:"value,omitempty"` 6468} 6469 6470// ExpressRouteServiceProviderListResultResponse is the response envelope for operations that return a ExpressRouteServiceProviderListResult type. 6471type ExpressRouteServiceProviderListResultResponse struct { 6472 // Response for the ListExpressRouteServiceProvider API service call. 6473 ExpressRouteServiceProviderListResult *ExpressRouteServiceProviderListResult 6474 6475 // RawResponse contains the underlying HTTP response. 6476 RawResponse *http.Response 6477} 6478 6479// Properties of ExpressRouteServiceProvider. 6480type ExpressRouteServiceProviderPropertiesFormat struct { 6481 // A list of bandwidths offered. 6482 BandwidthsOffered *[]ExpressRouteServiceProviderBandwidthsOffered `json:"bandwidthsOffered,omitempty"` 6483 6484 // A list of peering locations. 6485 PeeringLocations *[]string `json:"peeringLocations,omitempty"` 6486 6487 // READ-ONLY; The provisioning state of the express route service provider resource. 6488 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6489} 6490 6491// ExpressRouteServiceProvidersListOptions contains the optional parameters for the ExpressRouteServiceProviders.List method. 6492type ExpressRouteServiceProvidersListOptions struct { 6493 // placeholder for future optional parameters 6494} 6495 6496// ExtendedLocation complex type. 6497type ExtendedLocation struct { 6498 // The name of the extended location. 6499 Name *string `json:"name,omitempty"` 6500 6501 // The type of the extended location. 6502 Type *ExtendedLocationTypes `json:"type,omitempty"` 6503} 6504 6505// FirewallPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the FirewallPolicies.BeginCreateOrUpdate method. 6506type FirewallPoliciesBeginCreateOrUpdateOptions struct { 6507 // placeholder for future optional parameters 6508} 6509 6510// FirewallPoliciesBeginDeleteOptions contains the optional parameters for the FirewallPolicies.BeginDelete method. 6511type FirewallPoliciesBeginDeleteOptions struct { 6512 // placeholder for future optional parameters 6513} 6514 6515// FirewallPoliciesGetOptions contains the optional parameters for the FirewallPolicies.Get method. 6516type FirewallPoliciesGetOptions struct { 6517 // Expands referenced resources. 6518 Expand *string 6519} 6520 6521// FirewallPoliciesListAllOptions contains the optional parameters for the FirewallPolicies.ListAll method. 6522type FirewallPoliciesListAllOptions struct { 6523 // placeholder for future optional parameters 6524} 6525 6526// FirewallPoliciesListOptions contains the optional parameters for the FirewallPolicies.List method. 6527type FirewallPoliciesListOptions struct { 6528 // placeholder for future optional parameters 6529} 6530 6531// FirewallPolicy Resource. 6532type FirewallPolicy struct { 6533 Resource 6534 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6535 Etag *string `json:"etag,omitempty" azure:"ro"` 6536 6537 // The identity of the firewall policy. 6538 IDentity *ManagedServiceIDentity `json:"identity,omitempty"` 6539 6540 // Properties of the firewall policy. 6541 Properties *FirewallPolicyPropertiesFormat `json:"properties,omitempty"` 6542} 6543 6544// Trusted Root certificates properties for tls. 6545type FirewallPolicyCertificateAuthority struct { 6546 // Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. 6547 KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` 6548 6549 // Name of the CA certificate. 6550 Name *string `json:"name,omitempty"` 6551} 6552 6553// Firewall Policy Filter Rule Collection. 6554type FirewallPolicyFilterRuleCollection struct { 6555 FirewallPolicyRuleCollection 6556 // The action type of a Filter rule collection. 6557 Action *FirewallPolicyFilterRuleCollectionAction `json:"action,omitempty"` 6558 6559 // List of rules included in a rule collection. 6560 Rules *[]FirewallPolicyRuleClassification `json:"rules,omitempty"` 6561} 6562 6563// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyFilterRuleCollection. 6564func (f FirewallPolicyFilterRuleCollection) MarshalJSON() ([]byte, error) { 6565 objectMap := f.FirewallPolicyRuleCollection.marshalInternal(FirewallPolicyRuleCollectionTypeFirewallPolicyFilterRuleCollection) 6566 if f.Action != nil { 6567 objectMap["action"] = f.Action 6568 } 6569 if f.Rules != nil { 6570 objectMap["rules"] = f.Rules 6571 } 6572 return json.Marshal(objectMap) 6573} 6574 6575// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyFilterRuleCollection. 6576func (f *FirewallPolicyFilterRuleCollection) UnmarshalJSON(data []byte) error { 6577 var rawMsg map[string]*json.RawMessage 6578 if err := json.Unmarshal(data, &rawMsg); err != nil { 6579 return err 6580 } 6581 for key, val := range rawMsg { 6582 var err error 6583 switch key { 6584 case "action": 6585 if val != nil { 6586 err = json.Unmarshal(*val, &f.Action) 6587 } 6588 delete(rawMsg, key) 6589 case "rules": 6590 if val != nil { 6591 f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(*val) 6592 } 6593 delete(rawMsg, key) 6594 } 6595 if err != nil { 6596 return err 6597 } 6598 } 6599 return f.FirewallPolicyRuleCollection.unmarshalInternal(rawMsg) 6600} 6601 6602// Properties of the FirewallPolicyFilterRuleCollectionAction. 6603type FirewallPolicyFilterRuleCollectionAction struct { 6604 // The type of action. 6605 Type *FirewallPolicyFilterRuleCollectionActionType `json:"type,omitempty"` 6606} 6607 6608// Configuration for intrusion detection mode and rules. 6609type FirewallPolicyIntrusionDetection struct { 6610 // Intrusion detection configuration properties. 6611 Configuration *FirewallPolicyIntrusionDetectionConfiguration `json:"configuration,omitempty"` 6612 6613 // Intrusion detection general state. 6614 Mode *FirewallPolicyIntrusionDetectionStateType `json:"mode,omitempty"` 6615} 6616 6617// Intrusion detection bypass traffic specification. 6618type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications struct { 6619 // Description of the bypass traffic rule. 6620 Description *string `json:"description,omitempty"` 6621 6622 // List of destination IP addresses or ranges for this rule. 6623 DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` 6624 6625 // List of destination IpGroups for this rule. 6626 DestinationIPGroups *[]string `json:"destinationIpGroups,omitempty"` 6627 6628 // List of destination ports or ranges. 6629 DestinationPorts *[]string `json:"destinationPorts,omitempty"` 6630 6631 // Name of the bypass traffic rule. 6632 Name *string `json:"name,omitempty"` 6633 6634 // The rule bypass protocol. 6635 Protocol *FirewallPolicyIntrusionDetectionProtocol `json:"protocol,omitempty"` 6636 6637 // List of source IP addresses or ranges for this rule. 6638 SourceAddresses *[]string `json:"sourceAddresses,omitempty"` 6639 6640 // List of source IpGroups for this rule. 6641 SourceIPGroups *[]string `json:"sourceIpGroups,omitempty"` 6642} 6643 6644// The operation for configuring intrusion detection. 6645type FirewallPolicyIntrusionDetectionConfiguration struct { 6646 // List of rules for traffic to bypass. 6647 BypassTrafficSettings *[]FirewallPolicyIntrusionDetectionBypassTrafficSpecifications `json:"bypassTrafficSettings,omitempty"` 6648 6649 // List of specific signatures states. 6650 SignatureOverrides *[]FirewallPolicyIntrusionDetectionSignatureSpecification `json:"signatureOverrides,omitempty"` 6651} 6652 6653// Intrusion detection signatures specification states. 6654type FirewallPolicyIntrusionDetectionSignatureSpecification struct { 6655 // Signature id. 6656 ID *string `json:"id,omitempty"` 6657 6658 // The signature state. 6659 Mode *FirewallPolicyIntrusionDetectionStateType `json:"mode,omitempty"` 6660} 6661 6662// Response for ListFirewallPolicies API service call. 6663type FirewallPolicyListResult struct { 6664 // URL to get the next set of results. 6665 NextLink *string `json:"nextLink,omitempty"` 6666 6667 // List of Firewall Policies in a resource group. 6668 Value *[]FirewallPolicy `json:"value,omitempty"` 6669} 6670 6671// FirewallPolicyListResultResponse is the response envelope for operations that return a FirewallPolicyListResult type. 6672type FirewallPolicyListResultResponse struct { 6673 // Response for ListFirewallPolicies API service call. 6674 FirewallPolicyListResult *FirewallPolicyListResult 6675 6676 // RawResponse contains the underlying HTTP response. 6677 RawResponse *http.Response 6678} 6679 6680// Firewall Policy NAT Rule Collection. 6681type FirewallPolicyNatRuleCollection struct { 6682 FirewallPolicyRuleCollection 6683 // The action type of a Nat rule collection. 6684 Action *FirewallPolicyNatRuleCollectionAction `json:"action,omitempty"` 6685 6686 // List of rules included in a rule collection. 6687 Rules *[]FirewallPolicyRuleClassification `json:"rules,omitempty"` 6688} 6689 6690// MarshalJSON implements the json.Marshaller interface for type FirewallPolicyNatRuleCollection. 6691func (f FirewallPolicyNatRuleCollection) MarshalJSON() ([]byte, error) { 6692 objectMap := f.FirewallPolicyRuleCollection.marshalInternal(FirewallPolicyRuleCollectionTypeFirewallPolicyNatRuleCollection) 6693 if f.Action != nil { 6694 objectMap["action"] = f.Action 6695 } 6696 if f.Rules != nil { 6697 objectMap["rules"] = f.Rules 6698 } 6699 return json.Marshal(objectMap) 6700} 6701 6702// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyNatRuleCollection. 6703func (f *FirewallPolicyNatRuleCollection) UnmarshalJSON(data []byte) error { 6704 var rawMsg map[string]*json.RawMessage 6705 if err := json.Unmarshal(data, &rawMsg); err != nil { 6706 return err 6707 } 6708 for key, val := range rawMsg { 6709 var err error 6710 switch key { 6711 case "action": 6712 if val != nil { 6713 err = json.Unmarshal(*val, &f.Action) 6714 } 6715 delete(rawMsg, key) 6716 case "rules": 6717 if val != nil { 6718 f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(*val) 6719 } 6720 delete(rawMsg, key) 6721 } 6722 if err != nil { 6723 return err 6724 } 6725 } 6726 return f.FirewallPolicyRuleCollection.unmarshalInternal(rawMsg) 6727} 6728 6729// Properties of the FirewallPolicyNatRuleCollectionAction. 6730type FirewallPolicyNatRuleCollectionAction struct { 6731 // The type of action. 6732 Type *FirewallPolicyNatRuleCollectionActionType `json:"type,omitempty"` 6733} 6734 6735// FirewallPolicyPollerResponse is the response envelope for operations that asynchronously return a FirewallPolicy type. 6736type FirewallPolicyPollerResponse struct { 6737 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 6738 PollUntilDone func(ctx context.Context, frequency time.Duration) (FirewallPolicyResponse, error) 6739 6740 // Poller contains an initialized poller. 6741 Poller FirewallPolicyPoller 6742 6743 // RawResponse contains the underlying HTTP response. 6744 RawResponse *http.Response 6745} 6746 6747// Firewall Policy definition. 6748type FirewallPolicyPropertiesFormat struct { 6749 // The parent firewall policy from which rules are inherited. 6750 BasePolicy *SubResource `json:"basePolicy,omitempty"` 6751 6752 // READ-ONLY; List of references to Child Firewall Policies. 6753 ChildPolicies *[]SubResource `json:"childPolicies,omitempty" azure:"ro"` 6754 6755 // DNS Proxy Settings definition. 6756 DNSSettings *DNSSettings `json:"dnsSettings,omitempty"` 6757 6758 // READ-ONLY; List of references to Azure Firewalls that this Firewall Policy is associated with. 6759 Firewalls *[]SubResource `json:"firewalls,omitempty" azure:"ro"` 6760 6761 // The configuration for Intrusion detection. 6762 IntrusionDetection *FirewallPolicyIntrusionDetection `json:"intrusionDetection,omitempty"` 6763 6764 // READ-ONLY; The provisioning state of the firewall policy resource. 6765 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 6766 6767 // READ-ONLY; List of references to FirewallPolicyRuleCollectionGroups. 6768 RuleCollectionGroups *[]SubResource `json:"ruleCollectionGroups,omitempty" azure:"ro"` 6769 6770 // The Firewall Policy SKU. 6771 SKU *FirewallPolicySKU `json:"sku,omitempty"` 6772 6773 // The operation mode for Threat Intelligence. 6774 ThreatIntelMode *AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` 6775 6776 // ThreatIntel Whitelist for Firewall Policy. 6777 ThreatIntelWhitelist *FirewallPolicyThreatIntelWhitelist `json:"threatIntelWhitelist,omitempty"` 6778 6779 // TLS Configuration definition. 6780 TransportSecurity *FirewallPolicyTransportSecurity `json:"transportSecurity,omitempty"` 6781} 6782 6783// FirewallPolicyResponse is the response envelope for operations that return a FirewallPolicy type. 6784type FirewallPolicyResponse struct { 6785 // FirewallPolicy Resource. 6786 FirewallPolicy *FirewallPolicy 6787 6788 // RawResponse contains the underlying HTTP response. 6789 RawResponse *http.Response 6790} 6791 6792// FirewallPolicyRuleClassification provides polymorphic access to related types. 6793// Call the interface's GetFirewallPolicyRule() method to access the common type. 6794// Use a type switch to determine the concrete type. The possible types are: 6795// - *FirewallPolicyRule, *ApplicationRule, *NatRule, *NetworkRule 6796type FirewallPolicyRuleClassification interface { 6797 // GetFirewallPolicyRule() returns the FirewallPolicyRule content of the underlying type. 6798 GetFirewallPolicyRule() *FirewallPolicyRule 6799} 6800 6801// Properties of a rule. 6802type FirewallPolicyRule struct { 6803 // Description of the rule. 6804 Description *string `json:"description,omitempty"` 6805 6806 // Name of the rule. 6807 Name *string `json:"name,omitempty"` 6808 6809 // Rule Type. 6810 RuleType *FirewallPolicyRuleType `json:"ruleType,omitempty"` 6811} 6812 6813// GetFirewallPolicyRule implements the FirewallPolicyRuleClassification interface for type FirewallPolicyRule. 6814func (f *FirewallPolicyRule) GetFirewallPolicyRule() *FirewallPolicyRule { return f } 6815 6816// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRule. 6817func (f *FirewallPolicyRule) UnmarshalJSON(data []byte) error { 6818 var rawMsg map[string]*json.RawMessage 6819 if err := json.Unmarshal(data, &rawMsg); err != nil { 6820 return err 6821 } 6822 return f.unmarshalInternal(rawMsg) 6823} 6824 6825func (f FirewallPolicyRule) marshalInternal(discValue FirewallPolicyRuleType) map[string]interface{} { 6826 objectMap := make(map[string]interface{}) 6827 if f.Description != nil { 6828 objectMap["description"] = f.Description 6829 } 6830 if f.Name != nil { 6831 objectMap["name"] = f.Name 6832 } 6833 f.RuleType = &discValue 6834 objectMap["ruleType"] = f.RuleType 6835 return objectMap 6836} 6837 6838func (f *FirewallPolicyRule) unmarshalInternal(rawMsg map[string]*json.RawMessage) error { 6839 for key, val := range rawMsg { 6840 var err error 6841 switch key { 6842 case "description": 6843 if val != nil { 6844 err = json.Unmarshal(*val, &f.Description) 6845 } 6846 delete(rawMsg, key) 6847 case "name": 6848 if val != nil { 6849 err = json.Unmarshal(*val, &f.Name) 6850 } 6851 delete(rawMsg, key) 6852 case "ruleType": 6853 if val != nil { 6854 err = json.Unmarshal(*val, &f.RuleType) 6855 } 6856 delete(rawMsg, key) 6857 } 6858 if err != nil { 6859 return err 6860 } 6861 } 6862 return nil 6863} 6864 6865// Properties of the application rule protocol. 6866type FirewallPolicyRuleApplicationProtocol struct { 6867 // Port number for the protocol, cannot be greater than 64000. 6868 Port *int32 `json:"port,omitempty"` 6869 6870 // Protocol type. 6871 ProtocolType *FirewallPolicyRuleApplicationProtocolType `json:"protocolType,omitempty"` 6872} 6873 6874// FirewallPolicyRuleCollectionClassification provides polymorphic access to related types. 6875// Call the interface's GetFirewallPolicyRuleCollection() method to access the common type. 6876// Use a type switch to determine the concrete type. The possible types are: 6877// - *FirewallPolicyRuleCollection, *FirewallPolicyFilterRuleCollection, *FirewallPolicyNatRuleCollection 6878type FirewallPolicyRuleCollectionClassification interface { 6879 // GetFirewallPolicyRuleCollection() returns the FirewallPolicyRuleCollection content of the underlying type. 6880 GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection 6881} 6882 6883// Properties of the rule collection. 6884type FirewallPolicyRuleCollection struct { 6885 // The name of the rule collection. 6886 Name *string `json:"name,omitempty"` 6887 6888 // Priority of the Firewall Policy Rule Collection resource. 6889 Priority *int32 `json:"priority,omitempty"` 6890 6891 // The type of the rule collection. 6892 RuleCollectionType *FirewallPolicyRuleCollectionType `json:"ruleCollectionType,omitempty"` 6893} 6894 6895// GetFirewallPolicyRuleCollection implements the FirewallPolicyRuleCollectionClassification interface for type FirewallPolicyRuleCollection. 6896func (f *FirewallPolicyRuleCollection) GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection { 6897 return f 6898} 6899 6900// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollection. 6901func (f *FirewallPolicyRuleCollection) UnmarshalJSON(data []byte) error { 6902 var rawMsg map[string]*json.RawMessage 6903 if err := json.Unmarshal(data, &rawMsg); err != nil { 6904 return err 6905 } 6906 return f.unmarshalInternal(rawMsg) 6907} 6908 6909func (f FirewallPolicyRuleCollection) marshalInternal(discValue FirewallPolicyRuleCollectionType) map[string]interface{} { 6910 objectMap := make(map[string]interface{}) 6911 if f.Name != nil { 6912 objectMap["name"] = f.Name 6913 } 6914 if f.Priority != nil { 6915 objectMap["priority"] = f.Priority 6916 } 6917 f.RuleCollectionType = &discValue 6918 objectMap["ruleCollectionType"] = f.RuleCollectionType 6919 return objectMap 6920} 6921 6922func (f *FirewallPolicyRuleCollection) unmarshalInternal(rawMsg map[string]*json.RawMessage) error { 6923 for key, val := range rawMsg { 6924 var err error 6925 switch key { 6926 case "name": 6927 if val != nil { 6928 err = json.Unmarshal(*val, &f.Name) 6929 } 6930 delete(rawMsg, key) 6931 case "priority": 6932 if val != nil { 6933 err = json.Unmarshal(*val, &f.Priority) 6934 } 6935 delete(rawMsg, key) 6936 case "ruleCollectionType": 6937 if val != nil { 6938 err = json.Unmarshal(*val, &f.RuleCollectionType) 6939 } 6940 delete(rawMsg, key) 6941 } 6942 if err != nil { 6943 return err 6944 } 6945 } 6946 return nil 6947} 6948 6949// Rule Collection Group resource. 6950type FirewallPolicyRuleCollectionGroup struct { 6951 SubResource 6952 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 6953 Etag *string `json:"etag,omitempty" azure:"ro"` 6954 6955 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 6956 Name *string `json:"name,omitempty"` 6957 6958 // The properties of the firewall policy rule collection group. 6959 Properties *FirewallPolicyRuleCollectionGroupProperties `json:"properties,omitempty"` 6960 6961 // READ-ONLY; Rule Group type. 6962 Type *string `json:"type,omitempty" azure:"ro"` 6963} 6964 6965// Response for ListFirewallPolicyRuleCollectionGroups API service call. 6966type FirewallPolicyRuleCollectionGroupListResult struct { 6967 // URL to get the next set of results. 6968 NextLink *string `json:"nextLink,omitempty"` 6969 6970 // List of FirewallPolicyRuleCollectionGroups in a FirewallPolicy. 6971 Value *[]FirewallPolicyRuleCollectionGroup `json:"value,omitempty"` 6972} 6973 6974// FirewallPolicyRuleCollectionGroupListResultResponse is the response envelope for operations that return a FirewallPolicyRuleCollectionGroupListResult 6975// type. 6976type FirewallPolicyRuleCollectionGroupListResultResponse struct { 6977 // Response for ListFirewallPolicyRuleCollectionGroups API service call. 6978 FirewallPolicyRuleCollectionGroupListResult *FirewallPolicyRuleCollectionGroupListResult 6979 6980 // RawResponse contains the underlying HTTP response. 6981 RawResponse *http.Response 6982} 6983 6984// FirewallPolicyRuleCollectionGroupPollerResponse is the response envelope for operations that asynchronously return a FirewallPolicyRuleCollectionGroup 6985// type. 6986type FirewallPolicyRuleCollectionGroupPollerResponse struct { 6987 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 6988 PollUntilDone func(ctx context.Context, frequency time.Duration) (FirewallPolicyRuleCollectionGroupResponse, error) 6989 6990 // Poller contains an initialized poller. 6991 Poller FirewallPolicyRuleCollectionGroupPoller 6992 6993 // RawResponse contains the underlying HTTP response. 6994 RawResponse *http.Response 6995} 6996 6997// Properties of the rule collection group. 6998type FirewallPolicyRuleCollectionGroupProperties struct { 6999 // Priority of the Firewall Policy Rule Collection Group resource. 7000 Priority *int32 `json:"priority,omitempty"` 7001 7002 // READ-ONLY; The provisioning state of the firewall policy rule collection group resource. 7003 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7004 7005 // Group of Firewall Policy rule collections. 7006 RuleCollections *[]FirewallPolicyRuleCollectionClassification `json:"ruleCollections,omitempty"` 7007} 7008 7009// UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroupProperties. 7010func (f *FirewallPolicyRuleCollectionGroupProperties) UnmarshalJSON(data []byte) error { 7011 var rawMsg map[string]*json.RawMessage 7012 if err := json.Unmarshal(data, &rawMsg); err != nil { 7013 return err 7014 } 7015 for key, val := range rawMsg { 7016 var err error 7017 switch key { 7018 case "priority": 7019 if val != nil { 7020 err = json.Unmarshal(*val, &f.Priority) 7021 } 7022 delete(rawMsg, key) 7023 case "provisioningState": 7024 if val != nil { 7025 err = json.Unmarshal(*val, &f.ProvisioningState) 7026 } 7027 delete(rawMsg, key) 7028 case "ruleCollections": 7029 if val != nil { 7030 f.RuleCollections, err = unmarshalFirewallPolicyRuleCollectionClassificationArray(*val) 7031 } 7032 delete(rawMsg, key) 7033 } 7034 if err != nil { 7035 return err 7036 } 7037 } 7038 return nil 7039} 7040 7041// FirewallPolicyRuleCollectionGroupResponse is the response envelope for operations that return a FirewallPolicyRuleCollectionGroup type. 7042type FirewallPolicyRuleCollectionGroupResponse struct { 7043 // Rule Collection Group resource. 7044 FirewallPolicyRuleCollectionGroup *FirewallPolicyRuleCollectionGroup 7045 7046 // RawResponse contains the underlying HTTP response. 7047 RawResponse *http.Response 7048} 7049 7050// FirewallPolicyRuleCollectionGroupsBeginCreateOrUpdateOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.BeginCreateOrUpdate 7051// method. 7052type FirewallPolicyRuleCollectionGroupsBeginCreateOrUpdateOptions struct { 7053 // placeholder for future optional parameters 7054} 7055 7056// FirewallPolicyRuleCollectionGroupsBeginDeleteOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.BeginDelete method. 7057type FirewallPolicyRuleCollectionGroupsBeginDeleteOptions struct { 7058 // placeholder for future optional parameters 7059} 7060 7061// FirewallPolicyRuleCollectionGroupsGetOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.Get method. 7062type FirewallPolicyRuleCollectionGroupsGetOptions struct { 7063 // placeholder for future optional parameters 7064} 7065 7066// FirewallPolicyRuleCollectionGroupsListOptions contains the optional parameters for the FirewallPolicyRuleCollectionGroups.List method. 7067type FirewallPolicyRuleCollectionGroupsListOptions struct { 7068 // placeholder for future optional parameters 7069} 7070 7071// SKU of Firewall policy. 7072type FirewallPolicySKU struct { 7073 // Tier of Firewall Policy. 7074 Tier *FirewallPolicySKUTier `json:"tier,omitempty"` 7075} 7076 7077// ThreatIntel Whitelist for Firewall Policy. 7078type FirewallPolicyThreatIntelWhitelist struct { 7079 // List of FQDNs for the ThreatIntel Whitelist. 7080 Fqdns *[]string `json:"fqdns,omitempty"` 7081 7082 // List of IP addresses for the ThreatIntel Whitelist. 7083 IPAddresses *[]string `json:"ipAddresses,omitempty"` 7084} 7085 7086// Configuration needed to perform TLS termination & initiation. 7087type FirewallPolicyTransportSecurity struct { 7088 // The CA used for intermediate CA generation. 7089 CertificateAuthority *FirewallPolicyCertificateAuthority `json:"certificateAuthority,omitempty"` 7090} 7091 7092// A flow log resource. 7093type FlowLog struct { 7094 Resource 7095 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7096 Etag *string `json:"etag,omitempty" azure:"ro"` 7097 7098 // Properties of the flow log. 7099 Properties *FlowLogPropertiesFormat `json:"properties,omitempty"` 7100} 7101 7102// Parameters that define the flow log format. 7103type FlowLogFormatParameters struct { 7104 // The file type of flow log. 7105 Type *FlowLogFormatType `json:"type,omitempty"` 7106 7107 // The version (revision) of the flow log. 7108 Version *int32 `json:"version,omitempty"` 7109} 7110 7111// Information on the configuration of flow log and traffic analytics (optional) . 7112type FlowLogInformation struct { 7113 // Parameters that define the configuration of traffic analytics. 7114 FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` 7115 7116 // Properties of the flow log. 7117 Properties *FlowLogProperties `json:"properties,omitempty"` 7118 7119 // The ID of the resource to configure for flow log and traffic analytics (optional) . 7120 TargetResourceID *string `json:"targetResourceId,omitempty"` 7121} 7122 7123// FlowLogInformationPollerResponse is the response envelope for operations that asynchronously return a FlowLogInformation type. 7124type FlowLogInformationPollerResponse struct { 7125 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7126 PollUntilDone func(ctx context.Context, frequency time.Duration) (FlowLogInformationResponse, error) 7127 7128 // Poller contains an initialized poller. 7129 Poller FlowLogInformationPoller 7130 7131 // RawResponse contains the underlying HTTP response. 7132 RawResponse *http.Response 7133} 7134 7135// FlowLogInformationResponse is the response envelope for operations that return a FlowLogInformation type. 7136type FlowLogInformationResponse struct { 7137 // Information on the configuration of flow log and traffic analytics (optional) . 7138 FlowLogInformation *FlowLogInformation 7139 7140 // RawResponse contains the underlying HTTP response. 7141 RawResponse *http.Response 7142} 7143 7144// List of flow logs. 7145type FlowLogListResult struct { 7146 // READ-ONLY; The URL to get the next set of results. 7147 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 7148 7149 // Information about flow log resource. 7150 Value *[]FlowLog `json:"value,omitempty"` 7151} 7152 7153// FlowLogListResultResponse is the response envelope for operations that return a FlowLogListResult type. 7154type FlowLogListResultResponse struct { 7155 // List of flow logs. 7156 FlowLogListResult *FlowLogListResult 7157 7158 // RawResponse contains the underlying HTTP response. 7159 RawResponse *http.Response 7160} 7161 7162// FlowLogPollerResponse is the response envelope for operations that asynchronously return a FlowLog type. 7163type FlowLogPollerResponse struct { 7164 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7165 PollUntilDone func(ctx context.Context, frequency time.Duration) (FlowLogResponse, error) 7166 7167 // Poller contains an initialized poller. 7168 Poller FlowLogPoller 7169 7170 // RawResponse contains the underlying HTTP response. 7171 RawResponse *http.Response 7172} 7173 7174// Parameters that define the configuration of flow log. 7175type FlowLogProperties struct { 7176 // Flag to enable/disable flow logging. 7177 Enabled *bool `json:"enabled,omitempty"` 7178 7179 // Parameters that define the flow log format. 7180 Format *FlowLogFormatParameters `json:"format,omitempty"` 7181 7182 // Parameters that define the retention policy for flow log. 7183 RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` 7184 7185 // ID of the storage account which is used to store the flow log. 7186 StorageID *string `json:"storageId,omitempty"` 7187} 7188 7189// Parameters that define the configuration of flow log. 7190type FlowLogPropertiesFormat struct { 7191 // Flag to enable/disable flow logging. 7192 Enabled *bool `json:"enabled,omitempty"` 7193 7194 // Parameters that define the configuration of traffic analytics. 7195 FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` 7196 7197 // Parameters that define the flow log format. 7198 Format *FlowLogFormatParameters `json:"format,omitempty"` 7199 7200 // READ-ONLY; The provisioning state of the flow log. 7201 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7202 7203 // Parameters that define the retention policy for flow log. 7204 RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` 7205 7206 // ID of the storage account which is used to store the flow log. 7207 StorageID *string `json:"storageId,omitempty"` 7208 7209 // READ-ONLY; Guid of network security group to which flow log will be applied. 7210 TargetResourceGUID *string `json:"targetResourceGuid,omitempty" azure:"ro"` 7211 7212 // ID of network security group to which flow log will be applied. 7213 TargetResourceID *string `json:"targetResourceId,omitempty"` 7214} 7215 7216// FlowLogResponse is the response envelope for operations that return a FlowLog type. 7217type FlowLogResponse struct { 7218 // A flow log resource. 7219 FlowLog *FlowLog 7220 7221 // RawResponse contains the underlying HTTP response. 7222 RawResponse *http.Response 7223} 7224 7225// Parameters that define a resource to query flow log and traffic analytics (optional) status. 7226type FlowLogStatusParameters struct { 7227 // The target resource where getting the flow log and traffic analytics (optional) status. 7228 TargetResourceID *string `json:"targetResourceId,omitempty"` 7229} 7230 7231// FlowLogsBeginCreateOrUpdateOptions contains the optional parameters for the FlowLogs.BeginCreateOrUpdate method. 7232type FlowLogsBeginCreateOrUpdateOptions struct { 7233 // placeholder for future optional parameters 7234} 7235 7236// FlowLogsBeginDeleteOptions contains the optional parameters for the FlowLogs.BeginDelete method. 7237type FlowLogsBeginDeleteOptions struct { 7238 // placeholder for future optional parameters 7239} 7240 7241// FlowLogsGetOptions contains the optional parameters for the FlowLogs.Get method. 7242type FlowLogsGetOptions struct { 7243 // placeholder for future optional parameters 7244} 7245 7246// FlowLogsListOptions contains the optional parameters for the FlowLogs.List method. 7247type FlowLogsListOptions struct { 7248 // placeholder for future optional parameters 7249} 7250 7251// FlowLogsUpdateTagsOptions contains the optional parameters for the FlowLogs.UpdateTags method. 7252type FlowLogsUpdateTagsOptions struct { 7253 // placeholder for future optional parameters 7254} 7255 7256// Frontend IP address of the load balancer. 7257type FrontendIPConfiguration struct { 7258 SubResource 7259 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7260 Etag *string `json:"etag,omitempty" azure:"ro"` 7261 7262 // 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. 7263 Name *string `json:"name,omitempty"` 7264 7265 // Properties of the load balancer probe. 7266 Properties *FrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` 7267 7268 // READ-ONLY; Type of the resource. 7269 Type *string `json:"type,omitempty" azure:"ro"` 7270 7271 // A list of availability zones denoting the IP allocated for the resource needs to come from. 7272 Zones *[]string `json:"zones,omitempty"` 7273} 7274 7275// Properties of Frontend IP Configuration of the load balancer. 7276type FrontendIPConfigurationPropertiesFormat struct { 7277 // READ-ONLY; An array of references to inbound pools that use this frontend IP. 7278 InboundNatPools *[]SubResource `json:"inboundNatPools,omitempty" azure:"ro"` 7279 7280 // READ-ONLY; An array of references to inbound rules that use this frontend IP. 7281 InboundNatRules *[]SubResource `json:"inboundNatRules,omitempty" azure:"ro"` 7282 7283 // READ-ONLY; An array of references to load balancing rules that use this frontend IP. 7284 LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` 7285 7286 // READ-ONLY; An array of references to outbound rules that use this frontend IP. 7287 OutboundRules *[]SubResource `json:"outboundRules,omitempty" azure:"ro"` 7288 7289 // The private IP address of the IP configuration. 7290 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 7291 7292 // Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. 7293 PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` 7294 7295 // The Private IP allocation method. 7296 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 7297 7298 // READ-ONLY; The provisioning state of the frontend IP configuration resource. 7299 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7300 7301 // The reference to the Public IP resource. 7302 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 7303 7304 // The reference to the Public IP Prefix resource. 7305 PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` 7306 7307 // The reference to the subnet resource. 7308 Subnet *Subnet `json:"subnet,omitempty"` 7309} 7310 7311// FrontendIPConfigurationResponse is the response envelope for operations that return a FrontendIPConfiguration type. 7312type FrontendIPConfigurationResponse struct { 7313 // Frontend IP address of the load balancer. 7314 FrontendIPConfiguration *FrontendIPConfiguration 7315 7316 // RawResponse contains the underlying HTTP response. 7317 RawResponse *http.Response 7318} 7319 7320// Gateway routing details. 7321type GatewayRoute struct { 7322 // READ-ONLY; The route's AS path sequence. 7323 AsPath *string `json:"asPath,omitempty" azure:"ro"` 7324 7325 // READ-ONLY; The gateway's local address. 7326 LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` 7327 7328 // READ-ONLY; The route's network prefix. 7329 Network *string `json:"network,omitempty" azure:"ro"` 7330 7331 // READ-ONLY; The route's next hop. 7332 NextHop *string `json:"nextHop,omitempty" azure:"ro"` 7333 7334 // READ-ONLY; The source this route was learned from. 7335 Origin *string `json:"origin,omitempty" azure:"ro"` 7336 7337 // READ-ONLY; The peer this route was learned from. 7338 SourcePeer *string `json:"sourcePeer,omitempty" azure:"ro"` 7339 7340 // READ-ONLY; The route's weight. 7341 Weight *int32 `json:"weight,omitempty" azure:"ro"` 7342} 7343 7344// List of virtual network gateway routes. 7345type GatewayRouteListResult struct { 7346 // List of gateway routes. 7347 Value *[]GatewayRoute `json:"value,omitempty"` 7348} 7349 7350// GatewayRouteListResultPollerResponse is the response envelope for operations that asynchronously return a GatewayRouteListResult type. 7351type GatewayRouteListResultPollerResponse struct { 7352 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7353 PollUntilDone func(ctx context.Context, frequency time.Duration) (GatewayRouteListResultResponse, error) 7354 7355 // Poller contains an initialized poller. 7356 Poller GatewayRouteListResultPoller 7357 7358 // RawResponse contains the underlying HTTP response. 7359 RawResponse *http.Response 7360} 7361 7362// GatewayRouteListResultResponse is the response envelope for operations that return a GatewayRouteListResult type. 7363type GatewayRouteListResultResponse struct { 7364 // List of virtual network gateway routes. 7365 GatewayRouteListResult *GatewayRouteListResult 7366 7367 // RawResponse contains the underlying HTTP response. 7368 RawResponse *http.Response 7369} 7370 7371// The customer name to be printed on a letter of authorization. 7372type GenerateExpressRoutePortsLoaRequest struct { 7373 // The customer name. 7374 CustomerName *string `json:"customerName,omitempty"` 7375} 7376 7377// Response for GenerateExpressRoutePortsLOA API service call. 7378type GenerateExpressRoutePortsLoaResult struct { 7379 // The content as a base64 encoded string. 7380 EncodedContent *string `json:"encodedContent,omitempty"` 7381} 7382 7383// GenerateExpressRoutePortsLoaResultResponse is the response envelope for operations that return a GenerateExpressRoutePortsLoaResult type. 7384type GenerateExpressRoutePortsLoaResultResponse struct { 7385 // Response for GenerateExpressRoutePortsLOA API service call. 7386 GenerateExpressRoutePortsLoaResult *GenerateExpressRoutePortsLoaResult 7387 7388 // RawResponse contains the underlying HTTP response. 7389 RawResponse *http.Response 7390} 7391 7392// List of Vpn-Sites. 7393type GetVpnSitesConfigurationRequest struct { 7394 // The sas-url to download the configurations for vpn-sites. 7395 OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` 7396 7397 // List of resource-ids of the vpn-sites for which config is to be downloaded. 7398 VpnSites *[]string `json:"vpnSites,omitempty"` 7399} 7400 7401// HTTP configuration of the connectivity check. 7402type HTTPConfiguration struct { 7403 // List of HTTP headers. 7404 Headers *[]HTTPHeader `json:"headers,omitempty"` 7405 7406 // HTTP method. 7407 Method *HTTPMethod `json:"method,omitempty"` 7408 7409 // Valid status codes. 7410 ValidStatusCodes *[]int32 `json:"validStatusCodes,omitempty"` 7411} 7412 7413// The HTTP header. 7414type HTTPHeader struct { 7415 // The name in HTTP header. 7416 Name *string `json:"name,omitempty"` 7417 7418 // The value in HTTP header. 7419 Value *string `json:"value,omitempty"` 7420} 7421 7422// HTTPPollerResponse contains the asynchronous HTTP response from the call to the service endpoint. 7423type HTTPPollerResponse struct { 7424 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7425 PollUntilDone func(ctx context.Context, frequency time.Duration) (*http.Response, error) 7426 7427 // Poller contains an initialized poller. 7428 Poller HTTPPoller 7429 7430 // RawResponse contains the underlying HTTP response. 7431 RawResponse *http.Response 7432} 7433 7434// Hop link. 7435type HopLink struct { 7436 // READ-ONLY; Provides additional context on links. 7437 Context *map[string]string `json:"context,omitempty" azure:"ro"` 7438 7439 // READ-ONLY; List of issues. 7440 Issues *[]ConnectivityIssue `json:"issues,omitempty" azure:"ro"` 7441 7442 // READ-ONLY; Link type. 7443 LinkType *string `json:"linkType,omitempty" azure:"ro"` 7444 7445 // READ-ONLY; The ID of the next hop. 7446 NextHopID *string `json:"nextHopId,omitempty" azure:"ro"` 7447 7448 // Hop link properties. 7449 Properties *HopLinkProperties `json:"properties,omitempty"` 7450 7451 // READ-ONLY; Resource ID. 7452 ResourceID *string `json:"resourceId,omitempty" azure:"ro"` 7453} 7454 7455// Hop link properties. 7456type HopLinkProperties struct { 7457 // READ-ONLY; Average roundtrip time in milliseconds. 7458 RoundTripTimeAvg *int64 `json:"roundTripTimeAvg,omitempty" azure:"ro"` 7459 7460 // READ-ONLY; Maximum roundtrip time in milliseconds. 7461 RoundTripTimeMax *int64 `json:"roundTripTimeMax,omitempty" azure:"ro"` 7462 7463 // READ-ONLY; Minimum roundtrip time in milliseconds. 7464 RoundTripTimeMin *int64 `json:"roundTripTimeMin,omitempty" azure:"ro"` 7465} 7466 7467// IP addresses associated with azure firewall. 7468type HubIPAddresses struct { 7469 // Private IP Address associated with azure firewall. 7470 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 7471 7472 // Public IP addresses associated with azure firewall. 7473 PublicIPs *HubPublicIPAddresses `json:"publicIPs,omitempty"` 7474} 7475 7476// IpConfigurations. 7477type HubIPConfiguration struct { 7478 SubResource 7479 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7480 Etag *string `json:"etag,omitempty" azure:"ro"` 7481 7482 // Name of the Ip Configuration. 7483 Name *string `json:"name,omitempty"` 7484 7485 // The properties of the Virtual Hub IPConfigurations. 7486 Properties *HubIPConfigurationPropertiesFormat `json:"properties,omitempty"` 7487 7488 // READ-ONLY; Ipconfiguration type. 7489 Type *string `json:"type,omitempty" azure:"ro"` 7490} 7491 7492// HubIPConfigurationPollerResponse is the response envelope for operations that asynchronously return a HubIPConfiguration type. 7493type HubIPConfigurationPollerResponse struct { 7494 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7495 PollUntilDone func(ctx context.Context, frequency time.Duration) (HubIPConfigurationResponse, error) 7496 7497 // Poller contains an initialized poller. 7498 Poller HubIPConfigurationPoller 7499 7500 // RawResponse contains the underlying HTTP response. 7501 RawResponse *http.Response 7502} 7503 7504// Properties of IP configuration. 7505type HubIPConfigurationPropertiesFormat struct { 7506 // The private IP address of the IP configuration. 7507 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 7508 7509 // The private IP address allocation method. 7510 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 7511 7512 // READ-ONLY; The provisioning state of the IP configuration resource. 7513 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7514 7515 // The reference to the public IP resource. 7516 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 7517 7518 // The reference to the subnet resource. 7519 Subnet *Subnet `json:"subnet,omitempty"` 7520} 7521 7522// HubIPConfigurationResponse is the response envelope for operations that return a HubIPConfiguration type. 7523type HubIPConfigurationResponse struct { 7524 // IpConfigurations. 7525 HubIPConfiguration *HubIPConfiguration 7526 7527 // RawResponse contains the underlying HTTP response. 7528 RawResponse *http.Response 7529} 7530 7531// Public IP addresses associated with azure firewall. 7532type HubPublicIPAddresses struct { 7533 // The list of Public IP addresses associated with azure firewall or IP addresses to be retained. 7534 Addresses *[]AzureFirewallPublicIPAddress `json:"addresses,omitempty"` 7535 7536 // The number of Public IP addresses associated with azure firewall. 7537 Count *int32 `json:"count,omitempty"` 7538} 7539 7540// RouteTable route. 7541type HubRoute struct { 7542 // The type of destinations (eg: CIDR, ResourceId, Service). 7543 DestinationType *string `json:"destinationType,omitempty"` 7544 7545 // List of all destinations. 7546 Destinations *[]string `json:"destinations,omitempty"` 7547 7548 // The name of the Route that is unique within a RouteTable. This name can be used to access this route. 7549 Name *string `json:"name,omitempty"` 7550 7551 // NextHop resource ID. 7552 NextHop *string `json:"nextHop,omitempty"` 7553 7554 // The type of next hop (eg: ResourceId). 7555 NextHopType *string `json:"nextHopType,omitempty"` 7556} 7557 7558// RouteTable resource in a virtual hub. 7559type HubRouteTable struct { 7560 SubResource 7561 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7562 Etag *string `json:"etag,omitempty" azure:"ro"` 7563 7564 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 7565 Name *string `json:"name,omitempty"` 7566 7567 // Properties of the RouteTable resource. 7568 Properties *HubRouteTableProperties `json:"properties,omitempty"` 7569 7570 // READ-ONLY; Resource type. 7571 Type *string `json:"type,omitempty" azure:"ro"` 7572} 7573 7574// HubRouteTablePollerResponse is the response envelope for operations that asynchronously return a HubRouteTable type. 7575type HubRouteTablePollerResponse struct { 7576 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7577 PollUntilDone func(ctx context.Context, frequency time.Duration) (HubRouteTableResponse, error) 7578 7579 // Poller contains an initialized poller. 7580 Poller HubRouteTablePoller 7581 7582 // RawResponse contains the underlying HTTP response. 7583 RawResponse *http.Response 7584} 7585 7586// Parameters for RouteTable. 7587type HubRouteTableProperties struct { 7588 // READ-ONLY; List of all connections associated with this route table. 7589 AssociatedConnections *[]string `json:"associatedConnections,omitempty" azure:"ro"` 7590 7591 // List of labels associated with this route table. 7592 Labels *[]string `json:"labels,omitempty"` 7593 7594 // READ-ONLY; List of all connections that advertise to this route table. 7595 PropagatingConnections *[]string `json:"propagatingConnections,omitempty" azure:"ro"` 7596 7597 // READ-ONLY; The provisioning state of the RouteTable resource. 7598 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7599 7600 // List of all routes. 7601 Routes *[]HubRoute `json:"routes,omitempty"` 7602} 7603 7604// HubRouteTableResponse is the response envelope for operations that return a HubRouteTable type. 7605type HubRouteTableResponse struct { 7606 // RouteTable resource in a virtual hub. 7607 HubRouteTable *HubRouteTable 7608 7609 // RawResponse contains the underlying HTTP response. 7610 RawResponse *http.Response 7611} 7612 7613// HubRouteTablesBeginCreateOrUpdateOptions contains the optional parameters for the HubRouteTables.BeginCreateOrUpdate method. 7614type HubRouteTablesBeginCreateOrUpdateOptions struct { 7615 // placeholder for future optional parameters 7616} 7617 7618// HubRouteTablesBeginDeleteOptions contains the optional parameters for the HubRouteTables.BeginDelete method. 7619type HubRouteTablesBeginDeleteOptions struct { 7620 // placeholder for future optional parameters 7621} 7622 7623// HubRouteTablesGetOptions contains the optional parameters for the HubRouteTables.Get method. 7624type HubRouteTablesGetOptions struct { 7625 // placeholder for future optional parameters 7626} 7627 7628// HubRouteTablesListOptions contains the optional parameters for the HubRouteTables.List method. 7629type HubRouteTablesListOptions struct { 7630 // placeholder for future optional parameters 7631} 7632 7633// HubVirtualNetworkConnection Resource. 7634type HubVirtualNetworkConnection struct { 7635 SubResource 7636 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7637 Etag *string `json:"etag,omitempty" azure:"ro"` 7638 7639 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 7640 Name *string `json:"name,omitempty"` 7641 7642 // Properties of the hub virtual network connection. 7643 Properties *HubVirtualNetworkConnectionProperties `json:"properties,omitempty"` 7644} 7645 7646// HubVirtualNetworkConnectionPollerResponse is the response envelope for operations that asynchronously return a HubVirtualNetworkConnection type. 7647type HubVirtualNetworkConnectionPollerResponse struct { 7648 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7649 PollUntilDone func(ctx context.Context, frequency time.Duration) (HubVirtualNetworkConnectionResponse, error) 7650 7651 // Poller contains an initialized poller. 7652 Poller HubVirtualNetworkConnectionPoller 7653 7654 // RawResponse contains the underlying HTTP response. 7655 RawResponse *http.Response 7656} 7657 7658// Parameters for HubVirtualNetworkConnection. 7659type HubVirtualNetworkConnectionProperties struct { 7660 // Deprecated: VirtualHub to RemoteVnet transit to enabled or not. 7661 AllowHubToRemoteVnetTransit *bool `json:"allowHubToRemoteVnetTransit,omitempty"` 7662 7663 // Deprecated: Allow RemoteVnet to use Virtual Hub's gateways. 7664 AllowRemoteVnetToUseHubVnetGateways *bool `json:"allowRemoteVnetToUseHubVnetGateways,omitempty"` 7665 7666 // Enable internet security. 7667 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 7668 7669 // READ-ONLY; The provisioning state of the hub virtual network connection resource. 7670 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7671 7672 // Reference to the remote virtual network. 7673 RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` 7674 7675 // The Routing Configuration indicating the associated and propagated route tables on this connection. 7676 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 7677} 7678 7679// HubVirtualNetworkConnectionResponse is the response envelope for operations that return a HubVirtualNetworkConnection type. 7680type HubVirtualNetworkConnectionResponse struct { 7681 // HubVirtualNetworkConnection Resource. 7682 HubVirtualNetworkConnection *HubVirtualNetworkConnection 7683 7684 // RawResponse contains the underlying HTTP response. 7685 RawResponse *http.Response 7686} 7687 7688// HubVirtualNetworkConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the HubVirtualNetworkConnections.BeginCreateOrUpdate method. 7689type HubVirtualNetworkConnectionsBeginCreateOrUpdateOptions struct { 7690 // placeholder for future optional parameters 7691} 7692 7693// HubVirtualNetworkConnectionsBeginDeleteOptions contains the optional parameters for the HubVirtualNetworkConnections.BeginDelete method. 7694type HubVirtualNetworkConnectionsBeginDeleteOptions struct { 7695 // placeholder for future optional parameters 7696} 7697 7698// HubVirtualNetworkConnectionsGetOptions contains the optional parameters for the HubVirtualNetworkConnections.Get method. 7699type HubVirtualNetworkConnectionsGetOptions struct { 7700 // placeholder for future optional parameters 7701} 7702 7703// HubVirtualNetworkConnectionsListOptions contains the optional parameters for the HubVirtualNetworkConnections.List method. 7704type HubVirtualNetworkConnectionsListOptions struct { 7705 // placeholder for future optional parameters 7706} 7707 7708// Response for CheckIPAddressAvailability API service call. 7709type IPAddressAvailabilityResult struct { 7710 // Private IP address availability. 7711 Available *bool `json:"available,omitempty"` 7712 7713 // Contains other available private IP addresses if the asked for address is taken. 7714 AvailableIPAddresses *[]string `json:"availableIPAddresses,omitempty"` 7715} 7716 7717// IPAddressAvailabilityResultResponse is the response envelope for operations that return a IPAddressAvailabilityResult type. 7718type IPAddressAvailabilityResultResponse struct { 7719 // Response for CheckIPAddressAvailability API service call. 7720 IPAddressAvailabilityResult *IPAddressAvailabilityResult 7721 7722 // RawResponse contains the underlying HTTP response. 7723 RawResponse *http.Response 7724} 7725 7726// IpAllocation resource. 7727type IPAllocation struct { 7728 Resource 7729 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7730 Etag *string `json:"etag,omitempty" azure:"ro"` 7731 7732 // Properties of the IpAllocation. 7733 Properties *IPAllocationPropertiesFormat `json:"properties,omitempty"` 7734} 7735 7736// Response for the ListIpAllocations API service call. 7737type IPAllocationListResult struct { 7738 // The URL to get the next set of results. 7739 NextLink *string `json:"nextLink,omitempty"` 7740 7741 // A list of IpAllocation resources. 7742 Value *[]IPAllocation `json:"value,omitempty"` 7743} 7744 7745// IPAllocationListResultResponse is the response envelope for operations that return a IPAllocationListResult type. 7746type IPAllocationListResultResponse struct { 7747 // Response for the ListIpAllocations API service call. 7748 IPAllocationListResult *IPAllocationListResult 7749 7750 // RawResponse contains the underlying HTTP response. 7751 RawResponse *http.Response 7752} 7753 7754// IPAllocationPollerResponse is the response envelope for operations that asynchronously return a IPAllocation type. 7755type IPAllocationPollerResponse struct { 7756 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7757 PollUntilDone func(ctx context.Context, frequency time.Duration) (IPAllocationResponse, error) 7758 7759 // Poller contains an initialized poller. 7760 Poller IPAllocationPoller 7761 7762 // RawResponse contains the underlying HTTP response. 7763 RawResponse *http.Response 7764} 7765 7766// Properties of the IpAllocation. 7767type IPAllocationPropertiesFormat struct { 7768 // IpAllocation tags. 7769 AllocationTags *map[string]string `json:"allocationTags,omitempty"` 7770 7771 // The IPAM allocation ID. 7772 IPamAllocationID *string `json:"ipamAllocationId,omitempty"` 7773 7774 // The address prefix for the IpAllocation. 7775 Prefix *string `json:"prefix,omitempty"` 7776 7777 // The address prefix length for the IpAllocation. 7778 PrefixLength *int32 `json:"prefixLength,omitempty"` 7779 7780 // The address prefix Type for the IpAllocation. 7781 PrefixType *IPVersion `json:"prefixType,omitempty"` 7782 7783 // READ-ONLY; The Subnet that using the prefix of this IpAllocation resource. 7784 Subnet *SubResource `json:"subnet,omitempty" azure:"ro"` 7785 7786 // The type for the IpAllocation. 7787 Type *IPAllocationType `json:"type,omitempty"` 7788 7789 // READ-ONLY; The VirtualNetwork that using the prefix of this IpAllocation resource. 7790 VirtualNetwork *SubResource `json:"virtualNetwork,omitempty" azure:"ro"` 7791} 7792 7793// IPAllocationResponse is the response envelope for operations that return a IPAllocation type. 7794type IPAllocationResponse struct { 7795 // IpAllocation resource. 7796 IPAllocation *IPAllocation 7797 7798 // RawResponse contains the underlying HTTP response. 7799 RawResponse *http.Response 7800} 7801 7802// IPAllocationsBeginCreateOrUpdateOptions contains the optional parameters for the IPAllocations.BeginCreateOrUpdate method. 7803type IPAllocationsBeginCreateOrUpdateOptions struct { 7804 // placeholder for future optional parameters 7805} 7806 7807// IPAllocationsBeginDeleteOptions contains the optional parameters for the IPAllocations.BeginDelete method. 7808type IPAllocationsBeginDeleteOptions struct { 7809 // placeholder for future optional parameters 7810} 7811 7812// IPAllocationsGetOptions contains the optional parameters for the IPAllocations.Get method. 7813type IPAllocationsGetOptions struct { 7814 // Expands referenced resources. 7815 Expand *string 7816} 7817 7818// IPAllocationsListByResourceGroupOptions contains the optional parameters for the IPAllocations.ListByResourceGroup method. 7819type IPAllocationsListByResourceGroupOptions struct { 7820 // placeholder for future optional parameters 7821} 7822 7823// IPAllocationsListOptions contains the optional parameters for the IPAllocations.List method. 7824type IPAllocationsListOptions struct { 7825 // placeholder for future optional parameters 7826} 7827 7828// IPAllocationsUpdateTagsOptions contains the optional parameters for the IPAllocations.UpdateTags method. 7829type IPAllocationsUpdateTagsOptions struct { 7830 // placeholder for future optional parameters 7831} 7832 7833// IP configuration. 7834type IPConfiguration struct { 7835 SubResource 7836 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7837 Etag *string `json:"etag,omitempty" azure:"ro"` 7838 7839 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 7840 Name *string `json:"name,omitempty"` 7841 7842 // Properties of the IP configuration. 7843 Properties *IPConfigurationPropertiesFormat `json:"properties,omitempty"` 7844} 7845 7846// Properties of IPConfigurationBgpPeeringAddress. 7847type IPConfigurationBgpPeeringAddress struct { 7848 // The list of custom BGP peering addresses which belong to IP configuration. 7849 CustomBgpIPAddresses *[]string `json:"customBgpIpAddresses,omitempty"` 7850 7851 // READ-ONLY; The list of default BGP peering addresses which belong to IP configuration. 7852 DefaultBgpIPAddresses *[]string `json:"defaultBgpIpAddresses,omitempty" azure:"ro"` 7853 7854 // The ID of IP configuration which belongs to gateway. 7855 IPconfigurationID *string `json:"ipconfigurationId,omitempty"` 7856 7857 // READ-ONLY; The list of tunnel public IP addresses which belong to IP configuration. 7858 TunnelIPAddresses *[]string `json:"tunnelIpAddresses,omitempty" azure:"ro"` 7859} 7860 7861// IP configuration profile child resource. 7862type IPConfigurationProfile struct { 7863 SubResource 7864 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7865 Etag *string `json:"etag,omitempty" azure:"ro"` 7866 7867 // The name of the resource. This name can be used to access the resource. 7868 Name *string `json:"name,omitempty"` 7869 7870 // Properties of the IP configuration profile. 7871 Properties *IPConfigurationProfilePropertiesFormat `json:"properties,omitempty"` 7872 7873 // READ-ONLY; Sub Resource type. 7874 Type *string `json:"type,omitempty" azure:"ro"` 7875} 7876 7877// IP configuration profile properties. 7878type IPConfigurationProfilePropertiesFormat struct { 7879 // READ-ONLY; The provisioning state of the IP configuration profile resource. 7880 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7881 7882 // The reference to the subnet resource to create a container network interface ip configuration. 7883 Subnet *Subnet `json:"subnet,omitempty"` 7884} 7885 7886// Properties of IP configuration. 7887type IPConfigurationPropertiesFormat struct { 7888 // The private IP address of the IP configuration. 7889 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 7890 7891 // The private IP address allocation method. 7892 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 7893 7894 // READ-ONLY; The provisioning state of the IP configuration resource. 7895 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7896 7897 // The reference to the public IP resource. 7898 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 7899 7900 // The reference to the subnet resource. 7901 Subnet *Subnet `json:"subnet,omitempty"` 7902} 7903 7904// The IpGroups resource information. 7905type IPGroup struct { 7906 Resource 7907 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 7908 Etag *string `json:"etag,omitempty" azure:"ro"` 7909 7910 // Properties of the IpGroups. 7911 Properties *IPGroupPropertiesFormat `json:"properties,omitempty"` 7912} 7913 7914// Response for the ListIpGroups API service call. 7915type IPGroupListResult struct { 7916 // URL to get the next set of results. 7917 NextLink *string `json:"nextLink,omitempty"` 7918 7919 // The list of IpGroups information resources. 7920 Value *[]IPGroup `json:"value,omitempty"` 7921} 7922 7923// IPGroupListResultResponse is the response envelope for operations that return a IPGroupListResult type. 7924type IPGroupListResultResponse struct { 7925 // Response for the ListIpGroups API service call. 7926 IPGroupListResult *IPGroupListResult 7927 7928 // RawResponse contains the underlying HTTP response. 7929 RawResponse *http.Response 7930} 7931 7932// IPGroupPollerResponse is the response envelope for operations that asynchronously return a IPGroup type. 7933type IPGroupPollerResponse struct { 7934 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 7935 PollUntilDone func(ctx context.Context, frequency time.Duration) (IPGroupResponse, error) 7936 7937 // Poller contains an initialized poller. 7938 Poller IPGroupPoller 7939 7940 // RawResponse contains the underlying HTTP response. 7941 RawResponse *http.Response 7942} 7943 7944// The IpGroups property information. 7945type IPGroupPropertiesFormat struct { 7946 // READ-ONLY; List of references to Firewall Policies resources that this IpGroups is associated with. 7947 FirewallPolicies *[]SubResource `json:"firewallPolicies,omitempty" azure:"ro"` 7948 7949 // READ-ONLY; List of references to Firewall resources that this IpGroups is associated with. 7950 Firewalls *[]SubResource `json:"firewalls,omitempty" azure:"ro"` 7951 7952 // IpAddresses/IpAddressPrefixes in the IpGroups resource. 7953 IPAddresses *[]string `json:"ipAddresses,omitempty"` 7954 7955 // READ-ONLY; The provisioning state of the IpGroups resource. 7956 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 7957} 7958 7959// IPGroupResponse is the response envelope for operations that return a IPGroup type. 7960type IPGroupResponse struct { 7961 // The IpGroups resource information. 7962 IPGroup *IPGroup 7963 7964 // RawResponse contains the underlying HTTP response. 7965 RawResponse *http.Response 7966} 7967 7968// IPGroupsBeginCreateOrUpdateOptions contains the optional parameters for the IPGroups.BeginCreateOrUpdate method. 7969type IPGroupsBeginCreateOrUpdateOptions struct { 7970 // placeholder for future optional parameters 7971} 7972 7973// IPGroupsBeginDeleteOptions contains the optional parameters for the IPGroups.BeginDelete method. 7974type IPGroupsBeginDeleteOptions struct { 7975 // placeholder for future optional parameters 7976} 7977 7978// IPGroupsGetOptions contains the optional parameters for the IPGroups.Get method. 7979type IPGroupsGetOptions struct { 7980 // Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource. 7981 Expand *string 7982} 7983 7984// IPGroupsListByResourceGroupOptions contains the optional parameters for the IPGroups.ListByResourceGroup method. 7985type IPGroupsListByResourceGroupOptions struct { 7986 // placeholder for future optional parameters 7987} 7988 7989// IPGroupsListOptions contains the optional parameters for the IPGroups.List method. 7990type IPGroupsListOptions struct { 7991 // placeholder for future optional parameters 7992} 7993 7994// IPGroupsUpdateGroupsOptions contains the optional parameters for the IPGroups.UpdateGroups method. 7995type IPGroupsUpdateGroupsOptions struct { 7996 // placeholder for future optional parameters 7997} 7998 7999// Contains the IpTag associated with the object. 8000type IPTag struct { 8001 // The IP tag type. Example: FirstPartyUsage. 8002 IPTagType *string `json:"ipTagType,omitempty"` 8003 8004 // The value of the IP tag associated with the public IP. Example: SQL. 8005 Tag *string `json:"tag,omitempty"` 8006} 8007 8008// An IPSec Policy configuration for a virtual network gateway connection. 8009type IPsecPolicy struct { 8010 // The DH Group used in IKE Phase 1 for initial SA. 8011 DhGroup *DhGroup `json:"dhGroup,omitempty"` 8012 8013 // The IPSec encryption algorithm (IKE phase 1). 8014 IPsecEncryption *IPsecEncryption `json:"ipsecEncryption,omitempty"` 8015 8016 // The IPSec integrity algorithm (IKE phase 1). 8017 IPsecIntegrity *IPsecIntegrity `json:"ipsecIntegrity,omitempty"` 8018 8019 // The IKE encryption algorithm (IKE phase 2). 8020 IkeEncryption *IkeEncryption `json:"ikeEncryption,omitempty"` 8021 8022 // The IKE integrity algorithm (IKE phase 2). 8023 IkeIntegrity *IkeIntegrity `json:"ikeIntegrity,omitempty"` 8024 8025 // The Pfs Group used in IKE Phase 2 for new child SA. 8026 PfsGroup *PfsGroup `json:"pfsGroup,omitempty"` 8027 8028 // The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel. 8029 SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` 8030 8031 // The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. 8032 SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` 8033} 8034 8035// IPv6 Circuit Connection properties for global reach. 8036type IPv6CircuitConnectionConfig struct { 8037 // /125 IP address space to carve out customer addresses for global reach. 8038 AddressPrefix *string `json:"addressPrefix,omitempty"` 8039 8040 // READ-ONLY; Express Route Circuit connection state. 8041 CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` 8042} 8043 8044// Contains IPv6 peering config. 8045type IPv6ExpressRouteCircuitPeeringConfig struct { 8046 // The Microsoft peering configuration. 8047 MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` 8048 8049 // The primary address prefix. 8050 PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` 8051 8052 // The reference to the RouteFilter resource. 8053 RouteFilter *SubResource `json:"routeFilter,omitempty"` 8054 8055 // The secondary address prefix. 8056 SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` 8057 8058 // The state of peering. 8059 State *ExpressRouteCircuitPeeringState `json:"state,omitempty"` 8060} 8061 8062// Inbound NAT pool of the load balancer. 8063type InboundNatPool struct { 8064 SubResource 8065 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8066 Etag *string `json:"etag,omitempty" azure:"ro"` 8067 8068 // 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. 8069 Name *string `json:"name,omitempty"` 8070 8071 // Properties of load balancer inbound nat pool. 8072 Properties *InboundNatPoolPropertiesFormat `json:"properties,omitempty"` 8073 8074 // READ-ONLY; Type of the resource. 8075 Type *string `json:"type,omitempty" azure:"ro"` 8076} 8077 8078// Properties of Inbound NAT pool. 8079type InboundNatPoolPropertiesFormat struct { 8080 // The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. 8081 BackendPort *int32 `json:"backendPort,omitempty"` 8082 8083 // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required 8084 // when using the SQL AlwaysOn Availability Groups 8085 // in SQL server. This setting can't be changed after you create the endpoint. 8086 EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` 8087 8088 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 8089 // TCP. 8090 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 8091 8092 // A reference to frontend IP addresses. 8093 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 8094 8095 // The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 8096 // range between 1 and 65535. 8097 FrontendPortRangeEnd *int32 `json:"frontendPortRangeEnd,omitempty"` 8098 8099 // The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 8100 // range between 1 and 65534. 8101 FrontendPortRangeStart *int32 `json:"frontendPortRangeStart,omitempty"` 8102 8103 // 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 8104 // the protocol is set to TCP. 8105 IDleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 8106 8107 // The reference to the transport protocol used by the inbound NAT pool. 8108 Protocol *TransportProtocol `json:"protocol,omitempty"` 8109 8110 // READ-ONLY; The provisioning state of the inbound NAT pool resource. 8111 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8112} 8113 8114// Inbound NAT rule of the load balancer. 8115type InboundNatRule struct { 8116 SubResource 8117 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8118 Etag *string `json:"etag,omitempty" azure:"ro"` 8119 8120 // 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. 8121 Name *string `json:"name,omitempty"` 8122 8123 // Properties of load balancer inbound nat rule. 8124 Properties *InboundNatRulePropertiesFormat `json:"properties,omitempty"` 8125 8126 // READ-ONLY; Type of the resource. 8127 Type *string `json:"type,omitempty" azure:"ro"` 8128} 8129 8130// Response for ListInboundNatRule API service call. 8131type InboundNatRuleListResult struct { 8132 // READ-ONLY; The URL to get the next set of results. 8133 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8134 8135 // A list of inbound nat rules in a load balancer. 8136 Value *[]InboundNatRule `json:"value,omitempty"` 8137} 8138 8139// InboundNatRuleListResultResponse is the response envelope for operations that return a InboundNatRuleListResult type. 8140type InboundNatRuleListResultResponse struct { 8141 // Response for ListInboundNatRule API service call. 8142 InboundNatRuleListResult *InboundNatRuleListResult 8143 8144 // RawResponse contains the underlying HTTP response. 8145 RawResponse *http.Response 8146} 8147 8148// InboundNatRulePollerResponse is the response envelope for operations that asynchronously return a InboundNatRule type. 8149type InboundNatRulePollerResponse struct { 8150 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 8151 PollUntilDone func(ctx context.Context, frequency time.Duration) (InboundNatRuleResponse, error) 8152 8153 // Poller contains an initialized poller. 8154 Poller InboundNatRulePoller 8155 8156 // RawResponse contains the underlying HTTP response. 8157 RawResponse *http.Response 8158} 8159 8160// Properties of the inbound NAT rule. 8161type InboundNatRulePropertiesFormat struct { 8162 // 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 8163 // is forwarded to the backend IP. 8164 BackendIPConfiguration *NetworkInterfaceIPConfiguration `json:"backendIPConfiguration,omitempty" azure:"ro"` 8165 8166 // The port used for the internal endpoint. Acceptable values range from 1 to 65535. 8167 BackendPort *int32 `json:"backendPort,omitempty"` 8168 8169 // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required 8170 // when using the SQL AlwaysOn Availability Groups 8171 // in SQL server. This setting can't be changed after you create the endpoint. 8172 EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` 8173 8174 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 8175 // TCP. 8176 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 8177 8178 // A reference to frontend IP addresses. 8179 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 8180 8181 // 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. 8182 FrontendPort *int32 `json:"frontendPort,omitempty"` 8183 8184 // 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 8185 // the protocol is set to TCP. 8186 IDleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 8187 8188 // The reference to the transport protocol used by the load balancing rule. 8189 Protocol *TransportProtocol `json:"protocol,omitempty"` 8190 8191 // READ-ONLY; The provisioning state of the inbound NAT rule resource. 8192 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8193} 8194 8195// InboundNatRuleResponse is the response envelope for operations that return a InboundNatRule type. 8196type InboundNatRuleResponse struct { 8197 // Inbound NAT rule of the load balancer. 8198 InboundNatRule *InboundNatRule 8199 8200 // RawResponse contains the underlying HTTP response. 8201 RawResponse *http.Response 8202} 8203 8204// InboundNatRulesBeginCreateOrUpdateOptions contains the optional parameters for the InboundNatRules.BeginCreateOrUpdate method. 8205type InboundNatRulesBeginCreateOrUpdateOptions struct { 8206 // placeholder for future optional parameters 8207} 8208 8209// InboundNatRulesBeginDeleteOptions contains the optional parameters for the InboundNatRules.BeginDelete method. 8210type InboundNatRulesBeginDeleteOptions struct { 8211 // placeholder for future optional parameters 8212} 8213 8214// InboundNatRulesGetOptions contains the optional parameters for the InboundNatRules.Get method. 8215type InboundNatRulesGetOptions struct { 8216 // Expands referenced resources. 8217 Expand *string 8218} 8219 8220// InboundNatRulesListOptions contains the optional parameters for the InboundNatRules.List method. 8221type InboundNatRulesListOptions struct { 8222 // placeholder for future optional parameters 8223} 8224 8225// NVA Inbound Security Rule resource. 8226type InboundSecurityRule struct { 8227 SubResource 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 // Name of security rule collection. 8232 Name *string `json:"name,omitempty"` 8233 8234 // The properties of the Inbound Security Rules. 8235 Properties *InboundSecurityRuleProperties `json:"properties,omitempty"` 8236 8237 // READ-ONLY; NVA inbound security rule type. 8238 Type *string `json:"type,omitempty" azure:"ro"` 8239} 8240 8241// InboundSecurityRuleBeginCreateOrUpdateOptions contains the optional parameters for the InboundSecurityRule.BeginCreateOrUpdate method. 8242type InboundSecurityRuleBeginCreateOrUpdateOptions struct { 8243 // placeholder for future optional parameters 8244} 8245 8246// InboundSecurityRulePollerResponse is the response envelope for operations that asynchronously return a InboundSecurityRule type. 8247type InboundSecurityRulePollerResponse struct { 8248 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 8249 PollUntilDone func(ctx context.Context, frequency time.Duration) (InboundSecurityRuleResponse, error) 8250 8251 // Poller contains an initialized poller. 8252 Poller InboundSecurityRulePoller 8253 8254 // RawResponse contains the underlying HTTP response. 8255 RawResponse *http.Response 8256} 8257 8258// Properties of the Inbound Security Rules resource. 8259type InboundSecurityRuleProperties struct { 8260 // READ-ONLY; The provisioning state of the resource. 8261 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8262 8263 // List of allowed rules. 8264 Rules *[]InboundSecurityRules `json:"rules,omitempty"` 8265} 8266 8267// InboundSecurityRuleResponse is the response envelope for operations that return a InboundSecurityRule type. 8268type InboundSecurityRuleResponse struct { 8269 // NVA Inbound Security Rule resource. 8270 InboundSecurityRule *InboundSecurityRule 8271 8272 // RawResponse contains the underlying HTTP response. 8273 RawResponse *http.Response 8274} 8275 8276// Properties of the Inbound Security Rules resource. 8277type InboundSecurityRules struct { 8278 // NVA port ranges to be opened up. One needs to provide specific ports. 8279 DestinationPortRange *int32 `json:"destinationPortRange,omitempty"` 8280 8281 // Protocol. This should be either TCP or UDP. 8282 Protocol *InboundSecurityRulesProtocol `json:"protocol,omitempty"` 8283 8284 // The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed. 8285 SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` 8286} 8287 8288// List of RouteTables and a URL nextLink to get the next set of results. 8289type ListHubRouteTablesResult struct { 8290 // URL to get the next set of operation list results if there are any. 8291 NextLink *string `json:"nextLink,omitempty"` 8292 8293 // List of RouteTables. 8294 Value *[]HubRouteTable `json:"value,omitempty"` 8295} 8296 8297// ListHubRouteTablesResultResponse is the response envelope for operations that return a ListHubRouteTablesResult type. 8298type ListHubRouteTablesResultResponse struct { 8299 // List of RouteTables and a URL nextLink to get the next set of results. 8300 ListHubRouteTablesResult *ListHubRouteTablesResult 8301 8302 // RawResponse contains the underlying HTTP response. 8303 RawResponse *http.Response 8304} 8305 8306// List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. 8307type ListHubVirtualNetworkConnectionsResult struct { 8308 // URL to get the next set of operation list results if there are any. 8309 NextLink *string `json:"nextLink,omitempty"` 8310 8311 // List of HubVirtualNetworkConnections. 8312 Value *[]HubVirtualNetworkConnection `json:"value,omitempty"` 8313} 8314 8315// ListHubVirtualNetworkConnectionsResultResponse is the response envelope for operations that return a ListHubVirtualNetworkConnectionsResult type. 8316type ListHubVirtualNetworkConnectionsResultResponse struct { 8317 // List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. 8318 ListHubVirtualNetworkConnectionsResult *ListHubVirtualNetworkConnectionsResult 8319 8320 // RawResponse contains the underlying HTTP response. 8321 RawResponse *http.Response 8322} 8323 8324// Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results. 8325type ListP2SVpnGatewaysResult struct { 8326 // URL to get the next set of operation list results if there are any. 8327 NextLink *string `json:"nextLink,omitempty"` 8328 8329 // List of P2SVpnGateways. 8330 Value *[]P2SVpnGateway `json:"value,omitempty"` 8331} 8332 8333// ListP2SVpnGatewaysResultResponse is the response envelope for operations that return a ListP2SVpnGatewaysResult type. 8334type ListP2SVpnGatewaysResultResponse struct { 8335 // Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results. 8336 ListP2SVpnGatewaysResult *ListP2SVpnGatewaysResult 8337 8338 // RawResponse contains the underlying HTTP response. 8339 RawResponse *http.Response 8340} 8341 8342// VirtualHubBgpConnections list. 8343type ListVirtualHubBgpConnectionResults struct { 8344 // URL to get the next set of results. 8345 NextLink *string `json:"nextLink,omitempty"` 8346 8347 // The list of VirtualHubBgpConnections. 8348 Value *[]BgpConnection `json:"value,omitempty"` 8349} 8350 8351// ListVirtualHubBgpConnectionResultsResponse is the response envelope for operations that return a ListVirtualHubBgpConnectionResults type. 8352type ListVirtualHubBgpConnectionResultsResponse struct { 8353 // VirtualHubBgpConnections list. 8354 ListVirtualHubBgpConnectionResults *ListVirtualHubBgpConnectionResults 8355 8356 // RawResponse contains the underlying HTTP response. 8357 RawResponse *http.Response 8358} 8359 8360// VirtualHubIpConfigurations list. 8361type ListVirtualHubIPConfigurationResults struct { 8362 // URL to get the next set of results. 8363 NextLink *string `json:"nextLink,omitempty"` 8364 8365 // The list of VirtualHubIpConfigurations. 8366 Value *[]HubIPConfiguration `json:"value,omitempty"` 8367} 8368 8369// ListVirtualHubIPConfigurationResultsResponse is the response envelope for operations that return a ListVirtualHubIPConfigurationResults type. 8370type ListVirtualHubIPConfigurationResultsResponse struct { 8371 // VirtualHubIpConfigurations list. 8372 ListVirtualHubIPConfigurationResults *ListVirtualHubIPConfigurationResults 8373 8374 // RawResponse contains the underlying HTTP response. 8375 RawResponse *http.Response 8376} 8377 8378// List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results. 8379type ListVirtualHubRouteTableV2SResult struct { 8380 // URL to get the next set of operation list results if there are any. 8381 NextLink *string `json:"nextLink,omitempty"` 8382 8383 // List of VirtualHubRouteTableV2s. 8384 Value *[]VirtualHubRouteTableV2 `json:"value,omitempty"` 8385} 8386 8387// ListVirtualHubRouteTableV2SResultResponse is the response envelope for operations that return a ListVirtualHubRouteTableV2SResult type. 8388type ListVirtualHubRouteTableV2SResultResponse struct { 8389 // List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results. 8390 ListVirtualHubRouteTableV2SResult *ListVirtualHubRouteTableV2SResult 8391 8392 // RawResponse contains the underlying HTTP response. 8393 RawResponse *http.Response 8394} 8395 8396// Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results. 8397type ListVirtualHubsResult struct { 8398 // URL to get the next set of operation list results if there are any. 8399 NextLink *string `json:"nextLink,omitempty"` 8400 8401 // List of VirtualHubs. 8402 Value *[]VirtualHub `json:"value,omitempty"` 8403} 8404 8405// ListVirtualHubsResultResponse is the response envelope for operations that return a ListVirtualHubsResult type. 8406type ListVirtualHubsResultResponse struct { 8407 // Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results. 8408 ListVirtualHubsResult *ListVirtualHubsResult 8409 8410 // RawResponse contains the underlying HTTP response. 8411 RawResponse *http.Response 8412} 8413 8414// Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results. 8415type ListVirtualWaNsResult struct { 8416 // URL to get the next set of operation list results if there are any. 8417 NextLink *string `json:"nextLink,omitempty"` 8418 8419 // List of VirtualWANs. 8420 Value *[]VirtualWan `json:"value,omitempty"` 8421} 8422 8423// ListVirtualWaNsResultResponse is the response envelope for operations that return a ListVirtualWaNsResult type. 8424type ListVirtualWaNsResultResponse struct { 8425 // Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results. 8426 ListVirtualWaNsResult *ListVirtualWaNsResult 8427 8428 // RawResponse contains the underlying HTTP response. 8429 RawResponse *http.Response 8430} 8431 8432// Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next 8433// set of results. 8434type ListVpnConnectionsResult struct { 8435 // URL to get the next set of operation list results if there are any. 8436 NextLink *string `json:"nextLink,omitempty"` 8437 8438 // List of Vpn Connections. 8439 Value *[]VpnConnection `json:"value,omitempty"` 8440} 8441 8442// ListVpnConnectionsResultResponse is the response envelope for operations that return a ListVpnConnectionsResult type. 8443type ListVpnConnectionsResultResponse struct { 8444 // Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next 8445 // set of results. 8446 ListVpnConnectionsResult *ListVpnConnectionsResult 8447 8448 // RawResponse contains the underlying HTTP response. 8449 RawResponse *http.Response 8450} 8451 8452// Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. 8453type ListVpnGatewaysResult struct { 8454 // URL to get the next set of operation list results if there are any. 8455 NextLink *string `json:"nextLink,omitempty"` 8456 8457 // List of VpnGateways. 8458 Value *[]VpnGateway `json:"value,omitempty"` 8459} 8460 8461// ListVpnGatewaysResultResponse is the response envelope for operations that return a ListVpnGatewaysResult type. 8462type ListVpnGatewaysResultResponse struct { 8463 // Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. 8464 ListVpnGatewaysResult *ListVpnGatewaysResult 8465 8466 // RawResponse contains the underlying HTTP response. 8467 RawResponse *http.Response 8468} 8469 8470// Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results. 8471type ListVpnServerConfigurationsResult struct { 8472 // URL to get the next set of operation list results if there are any. 8473 NextLink *string `json:"nextLink,omitempty"` 8474 8475 // List of VpnServerConfigurations. 8476 Value *[]VpnServerConfiguration `json:"value,omitempty"` 8477} 8478 8479// ListVpnServerConfigurationsResultResponse is the response envelope for operations that return a ListVpnServerConfigurationsResult type. 8480type ListVpnServerConfigurationsResultResponse struct { 8481 // Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results. 8482 ListVpnServerConfigurationsResult *ListVpnServerConfigurationsResult 8483 8484 // RawResponse contains the underlying HTTP response. 8485 RawResponse *http.Response 8486} 8487 8488// Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next 8489// set of results. 8490type ListVpnSiteLinkConnectionsResult struct { 8491 // URL to get the next set of operation list results if there are any. 8492 NextLink *string `json:"nextLink,omitempty"` 8493 8494 // List of VpnSiteLinkConnections. 8495 Value *[]VpnSiteLinkConnection `json:"value,omitempty"` 8496} 8497 8498// ListVpnSiteLinkConnectionsResultResponse is the response envelope for operations that return a ListVpnSiteLinkConnectionsResult type. 8499type ListVpnSiteLinkConnectionsResultResponse struct { 8500 // Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next 8501 // set of results. 8502 ListVpnSiteLinkConnectionsResult *ListVpnSiteLinkConnectionsResult 8503 8504 // RawResponse contains the underlying HTTP response. 8505 RawResponse *http.Response 8506} 8507 8508// Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results. 8509type ListVpnSiteLinksResult struct { 8510 // URL to get the next set of operation list results if there are any. 8511 NextLink *string `json:"nextLink,omitempty"` 8512 8513 // List of VpnSitesLinks. 8514 Value *[]VpnSiteLink `json:"value,omitempty"` 8515} 8516 8517// ListVpnSiteLinksResultResponse is the response envelope for operations that return a ListVpnSiteLinksResult type. 8518type ListVpnSiteLinksResultResponse struct { 8519 // Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results. 8520 ListVpnSiteLinksResult *ListVpnSiteLinksResult 8521 8522 // RawResponse contains the underlying HTTP response. 8523 RawResponse *http.Response 8524} 8525 8526// Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results. 8527type ListVpnSitesResult struct { 8528 // URL to get the next set of operation list results if there are any. 8529 NextLink *string `json:"nextLink,omitempty"` 8530 8531 // List of VpnSites. 8532 Value *[]VpnSite `json:"value,omitempty"` 8533} 8534 8535// ListVpnSitesResultResponse is the response envelope for operations that return a ListVpnSitesResult type. 8536type ListVpnSitesResultResponse struct { 8537 // Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results. 8538 ListVpnSitesResult *ListVpnSitesResult 8539 8540 // RawResponse contains the underlying HTTP response. 8541 RawResponse *http.Response 8542} 8543 8544// LoadBalancer resource. 8545type LoadBalancer struct { 8546 Resource 8547 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8548 Etag *string `json:"etag,omitempty" azure:"ro"` 8549 8550 // The extended location of the load balancer. 8551 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 8552 8553 // Properties of load balancer. 8554 Properties *LoadBalancerPropertiesFormat `json:"properties,omitempty"` 8555 8556 // The load balancer SKU. 8557 SKU *LoadBalancerSKU `json:"sku,omitempty"` 8558} 8559 8560// Load balancer backend addresses. 8561type LoadBalancerBackendAddress struct { 8562 // Name of the backend address. 8563 Name *string `json:"name,omitempty"` 8564 8565 // Properties of load balancer backend address pool. 8566 Properties *LoadBalancerBackendAddressPropertiesFormat `json:"properties,omitempty"` 8567} 8568 8569// Response for ListBackendAddressPool API service call. 8570type LoadBalancerBackendAddressPoolListResult struct { 8571 // READ-ONLY; The URL to get the next set of results. 8572 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8573 8574 // A list of backend address pools in a load balancer. 8575 Value *[]BackendAddressPool `json:"value,omitempty"` 8576} 8577 8578// LoadBalancerBackendAddressPoolListResultResponse is the response envelope for operations that return a LoadBalancerBackendAddressPoolListResult type. 8579type LoadBalancerBackendAddressPoolListResultResponse struct { 8580 // Response for ListBackendAddressPool API service call. 8581 LoadBalancerBackendAddressPoolListResult *LoadBalancerBackendAddressPoolListResult 8582 8583 // RawResponse contains the underlying HTTP response. 8584 RawResponse *http.Response 8585} 8586 8587// LoadBalancerBackendAddressPoolsBeginCreateOrUpdateOptions contains the optional parameters for the LoadBalancerBackendAddressPools.BeginCreateOrUpdate 8588// method. 8589type LoadBalancerBackendAddressPoolsBeginCreateOrUpdateOptions struct { 8590 // placeholder for future optional parameters 8591} 8592 8593// LoadBalancerBackendAddressPoolsBeginDeleteOptions contains the optional parameters for the LoadBalancerBackendAddressPools.BeginDelete method. 8594type LoadBalancerBackendAddressPoolsBeginDeleteOptions struct { 8595 // placeholder for future optional parameters 8596} 8597 8598// LoadBalancerBackendAddressPoolsGetOptions contains the optional parameters for the LoadBalancerBackendAddressPools.Get method. 8599type LoadBalancerBackendAddressPoolsGetOptions struct { 8600 // placeholder for future optional parameters 8601} 8602 8603// LoadBalancerBackendAddressPoolsListOptions contains the optional parameters for the LoadBalancerBackendAddressPools.List method. 8604type LoadBalancerBackendAddressPoolsListOptions struct { 8605 // placeholder for future optional parameters 8606} 8607 8608// Properties of the load balancer backend addresses. 8609type LoadBalancerBackendAddressPropertiesFormat struct { 8610 // IP Address belonging to the referenced virtual network. 8611 IPAddress *string `json:"ipAddress,omitempty"` 8612 8613 // Reference to the frontend ip address configuration defined in regional loadbalancer. 8614 LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIPConfiguration,omitempty"` 8615 8616 // READ-ONLY; Reference to IP address defined in network interfaces. 8617 NetworkInterfaceIPConfiguration *SubResource `json:"networkInterfaceIPConfiguration,omitempty" azure:"ro"` 8618 8619 // Reference to an existing virtual network. 8620 VirtualNetwork *SubResource `json:"virtualNetwork,omitempty"` 8621} 8622 8623// Response for ListFrontendIPConfiguration API service call. 8624type LoadBalancerFrontendIPConfigurationListResult struct { 8625 // READ-ONLY; The URL to get the next set of results. 8626 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8627 8628 // A list of frontend IP configurations in a load balancer. 8629 Value *[]FrontendIPConfiguration `json:"value,omitempty"` 8630} 8631 8632// LoadBalancerFrontendIPConfigurationListResultResponse is the response envelope for operations that return a LoadBalancerFrontendIPConfigurationListResult 8633// type. 8634type LoadBalancerFrontendIPConfigurationListResultResponse struct { 8635 // Response for ListFrontendIPConfiguration API service call. 8636 LoadBalancerFrontendIPConfigurationListResult *LoadBalancerFrontendIPConfigurationListResult 8637 8638 // RawResponse contains the underlying HTTP response. 8639 RawResponse *http.Response 8640} 8641 8642// LoadBalancerFrontendIPConfigurationsGetOptions contains the optional parameters for the LoadBalancerFrontendIPConfigurations.Get method. 8643type LoadBalancerFrontendIPConfigurationsGetOptions struct { 8644 // placeholder for future optional parameters 8645} 8646 8647// LoadBalancerFrontendIPConfigurationsListOptions contains the optional parameters for the LoadBalancerFrontendIPConfigurations.List method. 8648type LoadBalancerFrontendIPConfigurationsListOptions struct { 8649 // placeholder for future optional parameters 8650} 8651 8652// Response for ListLoadBalancers API service call. 8653type LoadBalancerListResult struct { 8654 // READ-ONLY; The URL to get the next set of results. 8655 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8656 8657 // A list of load balancers in a resource group. 8658 Value *[]LoadBalancer `json:"value,omitempty"` 8659} 8660 8661// LoadBalancerListResultResponse is the response envelope for operations that return a LoadBalancerListResult type. 8662type LoadBalancerListResultResponse struct { 8663 // Response for ListLoadBalancers API service call. 8664 LoadBalancerListResult *LoadBalancerListResult 8665 8666 // RawResponse contains the underlying HTTP response. 8667 RawResponse *http.Response 8668} 8669 8670// Response for ListLoadBalancingRule API service call. 8671type LoadBalancerLoadBalancingRuleListResult struct { 8672 // READ-ONLY; The URL to get the next set of results. 8673 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8674 8675 // A list of load balancing rules in a load balancer. 8676 Value *[]LoadBalancingRule `json:"value,omitempty"` 8677} 8678 8679// LoadBalancerLoadBalancingRuleListResultResponse is the response envelope for operations that return a LoadBalancerLoadBalancingRuleListResult type. 8680type LoadBalancerLoadBalancingRuleListResultResponse struct { 8681 // Response for ListLoadBalancingRule API service call. 8682 LoadBalancerLoadBalancingRuleListResult *LoadBalancerLoadBalancingRuleListResult 8683 8684 // RawResponse contains the underlying HTTP response. 8685 RawResponse *http.Response 8686} 8687 8688// LoadBalancerLoadBalancingRulesGetOptions contains the optional parameters for the LoadBalancerLoadBalancingRules.Get method. 8689type LoadBalancerLoadBalancingRulesGetOptions struct { 8690 // placeholder for future optional parameters 8691} 8692 8693// LoadBalancerLoadBalancingRulesListOptions contains the optional parameters for the LoadBalancerLoadBalancingRules.List method. 8694type LoadBalancerLoadBalancingRulesListOptions struct { 8695 // placeholder for future optional parameters 8696} 8697 8698// LoadBalancerNetworkInterfacesListOptions contains the optional parameters for the LoadBalancerNetworkInterfaces.List method. 8699type LoadBalancerNetworkInterfacesListOptions struct { 8700 // placeholder for future optional parameters 8701} 8702 8703// Response for ListOutboundRule API service call. 8704type LoadBalancerOutboundRuleListResult struct { 8705 // READ-ONLY; The URL to get the next set of results. 8706 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8707 8708 // A list of outbound rules in a load balancer. 8709 Value *[]OutboundRule `json:"value,omitempty"` 8710} 8711 8712// LoadBalancerOutboundRuleListResultResponse is the response envelope for operations that return a LoadBalancerOutboundRuleListResult type. 8713type LoadBalancerOutboundRuleListResultResponse struct { 8714 // Response for ListOutboundRule API service call. 8715 LoadBalancerOutboundRuleListResult *LoadBalancerOutboundRuleListResult 8716 8717 // RawResponse contains the underlying HTTP response. 8718 RawResponse *http.Response 8719} 8720 8721// LoadBalancerOutboundRulesGetOptions contains the optional parameters for the LoadBalancerOutboundRules.Get method. 8722type LoadBalancerOutboundRulesGetOptions struct { 8723 // placeholder for future optional parameters 8724} 8725 8726// LoadBalancerOutboundRulesListOptions contains the optional parameters for the LoadBalancerOutboundRules.List method. 8727type LoadBalancerOutboundRulesListOptions struct { 8728 // placeholder for future optional parameters 8729} 8730 8731// LoadBalancerPollerResponse is the response envelope for operations that asynchronously return a LoadBalancer type. 8732type LoadBalancerPollerResponse struct { 8733 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 8734 PollUntilDone func(ctx context.Context, frequency time.Duration) (LoadBalancerResponse, error) 8735 8736 // Poller contains an initialized poller. 8737 Poller LoadBalancerPoller 8738 8739 // RawResponse contains the underlying HTTP response. 8740 RawResponse *http.Response 8741} 8742 8743// Response for ListProbe API service call. 8744type LoadBalancerProbeListResult struct { 8745 // READ-ONLY; The URL to get the next set of results. 8746 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8747 8748 // A list of probes in a load balancer. 8749 Value *[]Probe `json:"value,omitempty"` 8750} 8751 8752// LoadBalancerProbeListResultResponse is the response envelope for operations that return a LoadBalancerProbeListResult type. 8753type LoadBalancerProbeListResultResponse struct { 8754 // Response for ListProbe API service call. 8755 LoadBalancerProbeListResult *LoadBalancerProbeListResult 8756 8757 // RawResponse contains the underlying HTTP response. 8758 RawResponse *http.Response 8759} 8760 8761// LoadBalancerProbesGetOptions contains the optional parameters for the LoadBalancerProbes.Get method. 8762type LoadBalancerProbesGetOptions struct { 8763 // placeholder for future optional parameters 8764} 8765 8766// LoadBalancerProbesListOptions contains the optional parameters for the LoadBalancerProbes.List method. 8767type LoadBalancerProbesListOptions struct { 8768 // placeholder for future optional parameters 8769} 8770 8771// Properties of the load balancer. 8772type LoadBalancerPropertiesFormat struct { 8773 // Collection of backend address pools used by a load balancer. 8774 BackendAddressPools *[]BackendAddressPool `json:"backendAddressPools,omitempty"` 8775 8776 // Object representing the frontend IPs to be used for the load balancer. 8777 FrontendIPConfigurations *[]FrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` 8778 8779 // 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 8780 // for each NIC associated with the Load 8781 // 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. 8782 // Inbound NAT pools are referenced from virtual 8783 // machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual 8784 // inbound NAT rules. 8785 InboundNatPools *[]InboundNatPool `json:"inboundNatPools,omitempty"` 8786 8787 // 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 8788 // NAT pool. Inbound NAT pools are referenced from 8789 // virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual 8790 // inbound NAT rules. 8791 InboundNatRules *[]InboundNatRule `json:"inboundNatRules,omitempty"` 8792 8793 // Object collection representing the load balancing rules Gets the provisioning. 8794 LoadBalancingRules *[]LoadBalancingRule `json:"loadBalancingRules,omitempty"` 8795 8796 // The outbound rules. 8797 OutboundRules *[]OutboundRule `json:"outboundRules,omitempty"` 8798 8799 // Collection of probe objects used in the load balancer. 8800 Probes *[]Probe `json:"probes,omitempty"` 8801 8802 // READ-ONLY; The provisioning state of the load balancer resource. 8803 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8804 8805 // READ-ONLY; The resource GUID property of the load balancer resource. 8806 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 8807} 8808 8809// LoadBalancerResponse is the response envelope for operations that return a LoadBalancer type. 8810type LoadBalancerResponse struct { 8811 // LoadBalancer resource. 8812 LoadBalancer *LoadBalancer 8813 8814 // RawResponse contains the underlying HTTP response. 8815 RawResponse *http.Response 8816} 8817 8818// SKU of a load balancer. 8819type LoadBalancerSKU struct { 8820 // Name of a load balancer SKU. 8821 Name *LoadBalancerSKUName `json:"name,omitempty"` 8822 8823 // Tier of a load balancer SKU. 8824 Tier *LoadBalancerSKUTier `json:"tier,omitempty"` 8825} 8826 8827// LoadBalancersBeginCreateOrUpdateOptions contains the optional parameters for the LoadBalancers.BeginCreateOrUpdate method. 8828type LoadBalancersBeginCreateOrUpdateOptions struct { 8829 // placeholder for future optional parameters 8830} 8831 8832// LoadBalancersBeginDeleteOptions contains the optional parameters for the LoadBalancers.BeginDelete method. 8833type LoadBalancersBeginDeleteOptions struct { 8834 // placeholder for future optional parameters 8835} 8836 8837// LoadBalancersGetOptions contains the optional parameters for the LoadBalancers.Get method. 8838type LoadBalancersGetOptions struct { 8839 // Expands referenced resources. 8840 Expand *string 8841} 8842 8843// LoadBalancersListAllOptions contains the optional parameters for the LoadBalancers.ListAll method. 8844type LoadBalancersListAllOptions struct { 8845 // placeholder for future optional parameters 8846} 8847 8848// LoadBalancersListOptions contains the optional parameters for the LoadBalancers.List method. 8849type LoadBalancersListOptions struct { 8850 // placeholder for future optional parameters 8851} 8852 8853// LoadBalancersUpdateTagsOptions contains the optional parameters for the LoadBalancers.UpdateTags method. 8854type LoadBalancersUpdateTagsOptions struct { 8855 // placeholder for future optional parameters 8856} 8857 8858// A load balancing rule for a load balancer. 8859type LoadBalancingRule struct { 8860 SubResource 8861 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8862 Etag *string `json:"etag,omitempty" azure:"ro"` 8863 8864 // 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. 8865 Name *string `json:"name,omitempty"` 8866 8867 // Properties of load balancer load balancing rule. 8868 Properties *LoadBalancingRulePropertiesFormat `json:"properties,omitempty"` 8869 8870 // READ-ONLY; Type of the resource. 8871 Type *string `json:"type,omitempty" azure:"ro"` 8872} 8873 8874// Properties of the load balancer. 8875type LoadBalancingRulePropertiesFormat struct { 8876 // A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. 8877 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 8878 8879 // The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port". 8880 BackendPort *int32 `json:"backendPort,omitempty"` 8881 8882 // Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. 8883 DisableOutboundSnat *bool `json:"disableOutboundSnat,omitempty"` 8884 8885 // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required 8886 // when using the SQL AlwaysOn Availability Groups 8887 // in SQL server. This setting can't be changed after you create the endpoint. 8888 EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` 8889 8890 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 8891 // TCP. 8892 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 8893 8894 // A reference to frontend IP addresses. 8895 FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` 8896 8897 // The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note 8898 // that value 0 enables "Any Port". 8899 FrontendPort *int32 `json:"frontendPort,omitempty"` 8900 8901 // 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 8902 // the protocol is set to TCP. 8903 IDleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 8904 8905 // The load distribution policy for this rule. 8906 LoadDistribution *LoadDistribution `json:"loadDistribution,omitempty"` 8907 8908 // The reference to the load balancer probe used by the load balancing rule. 8909 Probe *SubResource `json:"probe,omitempty"` 8910 8911 // The reference to the transport protocol used by the load balancing rule. 8912 Protocol *TransportProtocol `json:"protocol,omitempty"` 8913 8914 // READ-ONLY; The provisioning state of the load balancing rule resource. 8915 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8916} 8917 8918// LoadBalancingRuleResponse is the response envelope for operations that return a LoadBalancingRule type. 8919type LoadBalancingRuleResponse struct { 8920 // A load balancing rule for a load balancer. 8921 LoadBalancingRule *LoadBalancingRule 8922 8923 // RawResponse contains the underlying HTTP response. 8924 RawResponse *http.Response 8925} 8926 8927// A common class for general resource information. 8928type LocalNetworkGateway struct { 8929 Resource 8930 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 8931 Etag *string `json:"etag,omitempty" azure:"ro"` 8932 8933 // Properties of the local network gateway. 8934 Properties *LocalNetworkGatewayPropertiesFormat `json:"properties,omitempty"` 8935} 8936 8937// Response for ListLocalNetworkGateways API service call. 8938type LocalNetworkGatewayListResult struct { 8939 // READ-ONLY; The URL to get the next set of results. 8940 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 8941 8942 // A list of local network gateways that exists in a resource group. 8943 Value *[]LocalNetworkGateway `json:"value,omitempty"` 8944} 8945 8946// LocalNetworkGatewayListResultResponse is the response envelope for operations that return a LocalNetworkGatewayListResult type. 8947type LocalNetworkGatewayListResultResponse struct { 8948 // Response for ListLocalNetworkGateways API service call. 8949 LocalNetworkGatewayListResult *LocalNetworkGatewayListResult 8950 8951 // RawResponse contains the underlying HTTP response. 8952 RawResponse *http.Response 8953} 8954 8955// LocalNetworkGatewayPollerResponse is the response envelope for operations that asynchronously return a LocalNetworkGateway type. 8956type LocalNetworkGatewayPollerResponse struct { 8957 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 8958 PollUntilDone func(ctx context.Context, frequency time.Duration) (LocalNetworkGatewayResponse, error) 8959 8960 // Poller contains an initialized poller. 8961 Poller LocalNetworkGatewayPoller 8962 8963 // RawResponse contains the underlying HTTP response. 8964 RawResponse *http.Response 8965} 8966 8967// LocalNetworkGateway properties. 8968type LocalNetworkGatewayPropertiesFormat struct { 8969 // Local network gateway's BGP speaker settings. 8970 BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` 8971 8972 // FQDN of local network gateway. 8973 Fqdn *string `json:"fqdn,omitempty"` 8974 8975 // IP address of local network gateway. 8976 GatewayIPAddress *string `json:"gatewayIpAddress,omitempty"` 8977 8978 // Local network site address space. 8979 LocalNetworkAddressSpace *AddressSpace `json:"localNetworkAddressSpace,omitempty"` 8980 8981 // READ-ONLY; The provisioning state of the local network gateway resource. 8982 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 8983 8984 // READ-ONLY; The resource GUID property of the local network gateway resource. 8985 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 8986} 8987 8988// LocalNetworkGatewayResponse is the response envelope for operations that return a LocalNetworkGateway type. 8989type LocalNetworkGatewayResponse struct { 8990 // A common class for general resource information. 8991 LocalNetworkGateway *LocalNetworkGateway 8992 8993 // RawResponse contains the underlying HTTP response. 8994 RawResponse *http.Response 8995} 8996 8997// LocalNetworkGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the LocalNetworkGateways.BeginCreateOrUpdate method. 8998type LocalNetworkGatewaysBeginCreateOrUpdateOptions struct { 8999 // placeholder for future optional parameters 9000} 9001 9002// LocalNetworkGatewaysBeginDeleteOptions contains the optional parameters for the LocalNetworkGateways.BeginDelete method. 9003type LocalNetworkGatewaysBeginDeleteOptions struct { 9004 // placeholder for future optional parameters 9005} 9006 9007// LocalNetworkGatewaysGetOptions contains the optional parameters for the LocalNetworkGateways.Get method. 9008type LocalNetworkGatewaysGetOptions struct { 9009 // placeholder for future optional parameters 9010} 9011 9012// LocalNetworkGatewaysListOptions contains the optional parameters for the LocalNetworkGateways.List method. 9013type LocalNetworkGatewaysListOptions struct { 9014 // placeholder for future optional parameters 9015} 9016 9017// LocalNetworkGatewaysUpdateTagsOptions contains the optional parameters for the LocalNetworkGateways.UpdateTags method. 9018type LocalNetworkGatewaysUpdateTagsOptions struct { 9019 // placeholder for future optional parameters 9020} 9021 9022// Description of logging specification. 9023type LogSpecification struct { 9024 // Duration of the blob. 9025 BlobDuration *string `json:"blobDuration,omitempty"` 9026 9027 // The display name of the specification. 9028 DisplayName *string `json:"displayName,omitempty"` 9029 9030 // The name of the specification. 9031 Name *string `json:"name,omitempty"` 9032} 9033 9034// Defines a managed rule group override setting. 9035type ManagedRuleGroupOverride struct { 9036 // The managed rule group to override. 9037 RuleGroupName *string `json:"ruleGroupName,omitempty"` 9038 9039 // List of rules that will be disabled. If none specified, all rules in the group will be disabled. 9040 Rules *[]ManagedRuleOverride `json:"rules,omitempty"` 9041} 9042 9043// Defines a managed rule group override setting. 9044type ManagedRuleOverride struct { 9045 // Identifier for the managed rule. 9046 RuleID *string `json:"ruleId,omitempty"` 9047 9048 // The state of the managed rule. Defaults to Disabled if not specified. 9049 State *ManagedRuleEnabledState `json:"state,omitempty"` 9050} 9051 9052// Defines a managed rule set. 9053type ManagedRuleSet struct { 9054 // Defines the rule group overrides to apply to the rule set. 9055 RuleGroupOverrides *[]ManagedRuleGroupOverride `json:"ruleGroupOverrides,omitempty"` 9056 9057 // Defines the rule set type to use. 9058 RuleSetType *string `json:"ruleSetType,omitempty"` 9059 9060 // Defines the version of the rule set to use. 9061 RuleSetVersion *string `json:"ruleSetVersion,omitempty"` 9062} 9063 9064// Allow to exclude some variable satisfy the condition for the WAF check. 9065type ManagedRulesDefinition struct { 9066 // The Exclusions that are applied on the policy. 9067 Exclusions *[]OwaspCrsExclusionEntry `json:"exclusions,omitempty"` 9068 9069 // The managed rule sets that are associated with the policy. 9070 ManagedRuleSets *[]ManagedRuleSet `json:"managedRuleSets,omitempty"` 9071} 9072 9073// Identity for the resource. 9074type ManagedServiceIDentity struct { 9075 // READ-ONLY; The principal id of the system assigned identity. This property will only be provided for a system assigned identity. 9076 PrincipalID *string `json:"principalId,omitempty" azure:"ro"` 9077 9078 // READ-ONLY; The tenant id of the system assigned identity. This property will only be provided for a system assigned identity. 9079 TenantID *string `json:"tenantId,omitempty" azure:"ro"` 9080 9081 // The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned 9082 // identities. The type 'None' will remove any 9083 // identities from the virtual machine. 9084 Type *ResourceIDentityType `json:"type,omitempty"` 9085 9086 // The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: 9087 // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 9088 UserAssignedIDentities *map[string]Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties `json:"userAssignedIdentities,omitempty"` 9089} 9090 9091// Define match conditions. 9092type MatchCondition struct { 9093 // Match value. 9094 MatchValues *[]string `json:"matchValues,omitempty"` 9095 9096 // List of match variables. 9097 MatchVariables *[]MatchVariable `json:"matchVariables,omitempty"` 9098 9099 // Whether this is negate condition or not. 9100 NegationConditon *bool `json:"negationConditon,omitempty"` 9101 9102 // The operator to be matched. 9103 Operator *WebApplicationFirewallOperator `json:"operator,omitempty"` 9104 9105 // List of transforms. 9106 Transforms *[]WebApplicationFirewallTransform `json:"transforms,omitempty"` 9107} 9108 9109// Define match variables. 9110type MatchVariable struct { 9111 // The selector of match variable. 9112 Selector *string `json:"selector,omitempty"` 9113 9114 // Match Variable. 9115 VariableName *WebApplicationFirewallMatchVariable `json:"variableName,omitempty"` 9116} 9117 9118// Matched rule. 9119type MatchedRule struct { 9120 // The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'. 9121 Action *string `json:"action,omitempty"` 9122 9123 // Name of the matched network security rule. 9124 RuleName *string `json:"ruleName,omitempty"` 9125} 9126 9127// Description of metrics specification. 9128type MetricSpecification struct { 9129 // The aggregation type. 9130 AggregationType *string `json:"aggregationType,omitempty"` 9131 9132 // List of availability. 9133 Availabilities *[]Availability `json:"availabilities,omitempty"` 9134 9135 // List of dimensions. 9136 Dimensions *[]Dimension `json:"dimensions,omitempty"` 9137 9138 // The description of the metric. 9139 DisplayDescription *string `json:"displayDescription,omitempty"` 9140 9141 // The display name of the metric. 9142 DisplayName *string `json:"displayName,omitempty"` 9143 9144 // Whether regional MDM account enabled. 9145 EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` 9146 9147 // Whether gaps would be filled with zeros. 9148 FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` 9149 9150 // Whether the metric is internal. 9151 IsInternal *bool `json:"isInternal,omitempty"` 9152 9153 // Pattern for the filter of the metric. 9154 MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` 9155 9156 // The name of the metric. 9157 Name *string `json:"name,omitempty"` 9158 9159 // The resource Id dimension name override. 9160 ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` 9161 9162 // The source MDM account. 9163 SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` 9164 9165 // The source MDM namespace. 9166 SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` 9167 9168 // Units the metric to be displayed in. 9169 Unit *string `json:"unit,omitempty"` 9170} 9171 9172// Nat Gateway resource. 9173type NatGateway struct { 9174 Resource 9175 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9176 Etag *string `json:"etag,omitempty" azure:"ro"` 9177 9178 // Nat Gateway properties. 9179 Properties *NatGatewayPropertiesFormat `json:"properties,omitempty"` 9180 9181 // The nat gateway SKU. 9182 SKU *NatGatewaySKU `json:"sku,omitempty"` 9183 9184 // A list of availability zones denoting the zone in which Nat Gateway should be deployed. 9185 Zones *[]string `json:"zones,omitempty"` 9186} 9187 9188// Response for ListNatGateways API service call. 9189type NatGatewayListResult struct { 9190 // The URL to get the next set of results. 9191 NextLink *string `json:"nextLink,omitempty"` 9192 9193 // A list of Nat Gateways that exists in a resource group. 9194 Value *[]NatGateway `json:"value,omitempty"` 9195} 9196 9197// NatGatewayListResultResponse is the response envelope for operations that return a NatGatewayListResult type. 9198type NatGatewayListResultResponse struct { 9199 // Response for ListNatGateways API service call. 9200 NatGatewayListResult *NatGatewayListResult 9201 9202 // RawResponse contains the underlying HTTP response. 9203 RawResponse *http.Response 9204} 9205 9206// NatGatewayPollerResponse is the response envelope for operations that asynchronously return a NatGateway type. 9207type NatGatewayPollerResponse struct { 9208 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 9209 PollUntilDone func(ctx context.Context, frequency time.Duration) (NatGatewayResponse, error) 9210 9211 // Poller contains an initialized poller. 9212 Poller NatGatewayPoller 9213 9214 // RawResponse contains the underlying HTTP response. 9215 RawResponse *http.Response 9216} 9217 9218// Nat Gateway properties. 9219type NatGatewayPropertiesFormat struct { 9220 // The idle timeout of the nat gateway. 9221 IDleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 9222 9223 // READ-ONLY; The provisioning state of the NAT gateway resource. 9224 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9225 9226 // An array of public ip addresses associated with the nat gateway resource. 9227 PublicIPAddresses *[]SubResource `json:"publicIpAddresses,omitempty"` 9228 9229 // An array of public ip prefixes associated with the nat gateway resource. 9230 PublicIPPrefixes *[]SubResource `json:"publicIpPrefixes,omitempty"` 9231 9232 // READ-ONLY; The resource GUID property of the NAT gateway resource. 9233 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 9234 9235 // READ-ONLY; An array of references to the subnets using this nat gateway resource. 9236 Subnets *[]SubResource `json:"subnets,omitempty" azure:"ro"` 9237} 9238 9239// NatGatewayResponse is the response envelope for operations that return a NatGateway type. 9240type NatGatewayResponse struct { 9241 // Nat Gateway resource. 9242 NatGateway *NatGateway 9243 9244 // RawResponse contains the underlying HTTP response. 9245 RawResponse *http.Response 9246} 9247 9248// SKU of nat gateway. 9249type NatGatewaySKU struct { 9250 // Name of Nat Gateway SKU. 9251 Name *NatGatewaySKUName `json:"name,omitempty"` 9252} 9253 9254// NatGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the NatGateways.BeginCreateOrUpdate method. 9255type NatGatewaysBeginCreateOrUpdateOptions struct { 9256 // placeholder for future optional parameters 9257} 9258 9259// NatGatewaysBeginDeleteOptions contains the optional parameters for the NatGateways.BeginDelete method. 9260type NatGatewaysBeginDeleteOptions struct { 9261 // placeholder for future optional parameters 9262} 9263 9264// NatGatewaysGetOptions contains the optional parameters for the NatGateways.Get method. 9265type NatGatewaysGetOptions struct { 9266 // Expands referenced resources. 9267 Expand *string 9268} 9269 9270// NatGatewaysListAllOptions contains the optional parameters for the NatGateways.ListAll method. 9271type NatGatewaysListAllOptions struct { 9272 // placeholder for future optional parameters 9273} 9274 9275// NatGatewaysListOptions contains the optional parameters for the NatGateways.List method. 9276type NatGatewaysListOptions struct { 9277 // placeholder for future optional parameters 9278} 9279 9280// NatGatewaysUpdateTagsOptions contains the optional parameters for the NatGateways.UpdateTags method. 9281type NatGatewaysUpdateTagsOptions struct { 9282 // placeholder for future optional parameters 9283} 9284 9285// Rule of type nat. 9286type NatRule struct { 9287 FirewallPolicyRule 9288 // List of destination IP addresses or Service Tags. 9289 DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` 9290 9291 // List of destination ports. 9292 DestinationPorts *[]string `json:"destinationPorts,omitempty"` 9293 9294 // Array of FirewallPolicyRuleNetworkProtocols. 9295 IPProtocols *[]FirewallPolicyRuleNetworkProtocol `json:"ipProtocols,omitempty"` 9296 9297 // List of source IP addresses for this rule. 9298 SourceAddresses *[]string `json:"sourceAddresses,omitempty"` 9299 9300 // List of source IpGroups for this rule. 9301 SourceIPGroups *[]string `json:"sourceIpGroups,omitempty"` 9302 9303 // The translated address for this NAT rule. 9304 TranslatedAddress *string `json:"translatedAddress,omitempty"` 9305 9306 // The translated FQDN for this NAT rule. 9307 TranslatedFqdn *string `json:"translatedFqdn,omitempty"` 9308 9309 // The translated port for this NAT rule. 9310 TranslatedPort *string `json:"translatedPort,omitempty"` 9311} 9312 9313// MarshalJSON implements the json.Marshaller interface for type NatRule. 9314func (n NatRule) MarshalJSON() ([]byte, error) { 9315 objectMap := n.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeNatRule) 9316 if n.DestinationAddresses != nil { 9317 objectMap["destinationAddresses"] = n.DestinationAddresses 9318 } 9319 if n.DestinationPorts != nil { 9320 objectMap["destinationPorts"] = n.DestinationPorts 9321 } 9322 if n.IPProtocols != nil { 9323 objectMap["ipProtocols"] = n.IPProtocols 9324 } 9325 if n.SourceAddresses != nil { 9326 objectMap["sourceAddresses"] = n.SourceAddresses 9327 } 9328 if n.SourceIPGroups != nil { 9329 objectMap["sourceIpGroups"] = n.SourceIPGroups 9330 } 9331 if n.TranslatedAddress != nil { 9332 objectMap["translatedAddress"] = n.TranslatedAddress 9333 } 9334 if n.TranslatedFqdn != nil { 9335 objectMap["translatedFqdn"] = n.TranslatedFqdn 9336 } 9337 if n.TranslatedPort != nil { 9338 objectMap["translatedPort"] = n.TranslatedPort 9339 } 9340 return json.Marshal(objectMap) 9341} 9342 9343// UnmarshalJSON implements the json.Unmarshaller interface for type NatRule. 9344func (n *NatRule) UnmarshalJSON(data []byte) error { 9345 var rawMsg map[string]*json.RawMessage 9346 if err := json.Unmarshal(data, &rawMsg); err != nil { 9347 return err 9348 } 9349 for key, val := range rawMsg { 9350 var err error 9351 switch key { 9352 case "destinationAddresses": 9353 if val != nil { 9354 err = json.Unmarshal(*val, &n.DestinationAddresses) 9355 } 9356 delete(rawMsg, key) 9357 case "destinationPorts": 9358 if val != nil { 9359 err = json.Unmarshal(*val, &n.DestinationPorts) 9360 } 9361 delete(rawMsg, key) 9362 case "ipProtocols": 9363 if val != nil { 9364 err = json.Unmarshal(*val, &n.IPProtocols) 9365 } 9366 delete(rawMsg, key) 9367 case "sourceAddresses": 9368 if val != nil { 9369 err = json.Unmarshal(*val, &n.SourceAddresses) 9370 } 9371 delete(rawMsg, key) 9372 case "sourceIpGroups": 9373 if val != nil { 9374 err = json.Unmarshal(*val, &n.SourceIPGroups) 9375 } 9376 delete(rawMsg, key) 9377 case "translatedAddress": 9378 if val != nil { 9379 err = json.Unmarshal(*val, &n.TranslatedAddress) 9380 } 9381 delete(rawMsg, key) 9382 case "translatedFqdn": 9383 if val != nil { 9384 err = json.Unmarshal(*val, &n.TranslatedFqdn) 9385 } 9386 delete(rawMsg, key) 9387 case "translatedPort": 9388 if val != nil { 9389 err = json.Unmarshal(*val, &n.TranslatedPort) 9390 } 9391 delete(rawMsg, key) 9392 } 9393 if err != nil { 9394 return err 9395 } 9396 } 9397 return n.FirewallPolicyRule.unmarshalInternal(rawMsg) 9398} 9399 9400// Parameters to get network configuration diagnostic. 9401type NetworkConfigurationDiagnosticParameters struct { 9402 // List of network configuration diagnostic profiles. 9403 Profiles *[]NetworkConfigurationDiagnosticProfile `json:"profiles,omitempty"` 9404 9405 // The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application 9406 // Gateway. 9407 TargetResourceID *string `json:"targetResourceId,omitempty"` 9408 9409 // Verbosity level. 9410 VerbosityLevel *VerbosityLevel `json:"verbosityLevel,omitempty"` 9411} 9412 9413// Parameters to compare with network configuration. 9414type NetworkConfigurationDiagnosticProfile struct { 9415 // Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag. 9416 Destination *string `json:"destination,omitempty"` 9417 9418 // Traffic destination port. Accepted values are '*' and a single port in the range (0 - 65535). 9419 DestinationPort *string `json:"destinationPort,omitempty"` 9420 9421 // The direction of the traffic. 9422 Direction *Direction `json:"direction,omitempty"` 9423 9424 // Protocol to be verified on. Accepted values are '*', TCP, UDP. 9425 Protocol *string `json:"protocol,omitempty"` 9426 9427 // Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. 9428 Source *string `json:"source,omitempty"` 9429} 9430 9431// Results of network configuration diagnostic on the target resource. 9432type NetworkConfigurationDiagnosticResponse struct { 9433 // READ-ONLY; List of network configuration diagnostic results. 9434 Results *[]NetworkConfigurationDiagnosticResult `json:"results,omitempty" azure:"ro"` 9435} 9436 9437// NetworkConfigurationDiagnosticResponsePollerResponse is the response envelope for operations that asynchronously return a NetworkConfigurationDiagnosticResponse 9438// type. 9439type NetworkConfigurationDiagnosticResponsePollerResponse struct { 9440 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 9441 PollUntilDone func(ctx context.Context, frequency time.Duration) (NetworkConfigurationDiagnosticResponseResponse, error) 9442 9443 // Poller contains an initialized poller. 9444 Poller NetworkConfigurationDiagnosticResponsePoller 9445 9446 // RawResponse contains the underlying HTTP response. 9447 RawResponse *http.Response 9448} 9449 9450// NetworkConfigurationDiagnosticResponseResponse is the response envelope for operations that return a NetworkConfigurationDiagnosticResponse type. 9451type NetworkConfigurationDiagnosticResponseResponse struct { 9452 // Results of network configuration diagnostic on the target resource. 9453 NetworkConfigurationDiagnosticResponse *NetworkConfigurationDiagnosticResponse 9454 9455 // RawResponse contains the underlying HTTP response. 9456 RawResponse *http.Response 9457} 9458 9459// Network configuration diagnostic result corresponded to provided traffic query. 9460type NetworkConfigurationDiagnosticResult struct { 9461 // Network security group result. 9462 NetworkSecurityGroupResult *NetworkSecurityGroupResult `json:"networkSecurityGroupResult,omitempty"` 9463 9464 // Network configuration diagnostic profile. 9465 Profile *NetworkConfigurationDiagnosticProfile `json:"profile,omitempty"` 9466} 9467 9468// Network Intent Policy resource. 9469type NetworkIntentPolicy struct { 9470 Resource 9471 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9472 Etag *string `json:"etag,omitempty" azure:"ro"` 9473} 9474 9475// Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. 9476type NetworkIntentPolicyConfiguration struct { 9477 // The name of the Network Intent Policy for storing in target subscription. 9478 NetworkIntentPolicyName *string `json:"networkIntentPolicyName,omitempty"` 9479 9480 // Source network intent policy. 9481 SourceNetworkIntentPolicy *NetworkIntentPolicy `json:"sourceNetworkIntentPolicy,omitempty"` 9482} 9483 9484// A network interface in a resource group. 9485type NetworkInterface struct { 9486 Resource 9487 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9488 Etag *string `json:"etag,omitempty" azure:"ro"` 9489 9490 // The extended location of the network interface. 9491 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 9492 9493 // Properties of the network interface. 9494 Properties *NetworkInterfacePropertiesFormat `json:"properties,omitempty"` 9495} 9496 9497// Network interface and its custom security rules. 9498type NetworkInterfaceAssociation struct { 9499 // READ-ONLY; Network interface ID. 9500 ID *string `json:"id,omitempty" azure:"ro"` 9501 9502 // Collection of custom security rules. 9503 SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` 9504} 9505 9506// DNS settings of a network interface. 9507type NetworkInterfaceDNSSettings struct { 9508 // 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 9509 // part of the Availability Set. This property is what is 9510 // configured on each of those VMs. 9511 AppliedDNSServers *[]string `json:"appliedDnsServers,omitempty" azure:"ro"` 9512 9513 // List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with 9514 // other IPs, it must be the only value in dnsServers 9515 // collection. 9516 DNSServers *[]string `json:"dnsServers,omitempty"` 9517 9518 // Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. 9519 InternalDNSNameLabel *string `json:"internalDnsNameLabel,omitempty"` 9520 9521 // 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 9522 // the VM name with the value of 9523 // internalDomainNameSuffix. 9524 InternalDomainNameSuffix *string `json:"internalDomainNameSuffix,omitempty" azure:"ro"` 9525 9526 // READ-ONLY; Fully qualified DNS name supporting internal communications between VMs in the same virtual network. 9527 InternalFqdn *string `json:"internalFqdn,omitempty" azure:"ro"` 9528} 9529 9530// IPConfiguration in a network interface. 9531type NetworkInterfaceIPConfiguration struct { 9532 SubResource 9533 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9534 Etag *string `json:"etag,omitempty" azure:"ro"` 9535 9536 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 9537 Name *string `json:"name,omitempty"` 9538 9539 // Network interface IP configuration properties. 9540 Properties *NetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` 9541} 9542 9543// Response for list ip configurations API service call. 9544type NetworkInterfaceIPConfigurationListResult struct { 9545 // READ-ONLY; The URL to get the next set of results. 9546 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9547 9548 // A list of ip configurations. 9549 Value *[]NetworkInterfaceIPConfiguration `json:"value,omitempty"` 9550} 9551 9552// NetworkInterfaceIPConfigurationListResultResponse is the response envelope for operations that return a NetworkInterfaceIPConfigurationListResult type. 9553type NetworkInterfaceIPConfigurationListResultResponse struct { 9554 // Response for list ip configurations API service call. 9555 NetworkInterfaceIPConfigurationListResult *NetworkInterfaceIPConfigurationListResult 9556 9557 // RawResponse contains the underlying HTTP response. 9558 RawResponse *http.Response 9559} 9560 9561// PrivateLinkConnection properties for the network interface. 9562type NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties struct { 9563 // READ-ONLY; List of FQDNs for current private link connection. 9564 Fqdns *[]string `json:"fqdns,omitempty" azure:"ro"` 9565 9566 // READ-ONLY; The group ID for current private link connection. 9567 GroupID *string `json:"groupId,omitempty" azure:"ro"` 9568 9569 // READ-ONLY; The required member name for current private link connection. 9570 RequiredMemberName *string `json:"requiredMemberName,omitempty" azure:"ro"` 9571} 9572 9573// Properties of IP configuration. 9574type NetworkInterfaceIPConfigurationPropertiesFormat struct { 9575 // The reference to ApplicationGatewayBackendAddressPool resource. 9576 ApplicationGatewayBackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"applicationGatewayBackendAddressPools,omitempty"` 9577 9578 // Application security groups in which the IP configuration is included. 9579 ApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"applicationSecurityGroups,omitempty"` 9580 9581 // The reference to LoadBalancerBackendAddressPool resource. 9582 LoadBalancerBackendAddressPools *[]BackendAddressPool `json:"loadBalancerBackendAddressPools,omitempty"` 9583 9584 // A list of references of LoadBalancerInboundNatRules. 9585 LoadBalancerInboundNatRules *[]InboundNatRule `json:"loadBalancerInboundNatRules,omitempty"` 9586 9587 // Whether this is a primary customer address on the network interface. 9588 Primary *bool `json:"primary,omitempty"` 9589 9590 // Private IP address of the IP configuration. 9591 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 9592 9593 // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. 9594 PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` 9595 9596 // The private IP address allocation method. 9597 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 9598 9599 // READ-ONLY; PrivateLinkConnection properties for the network interface. 9600 PrivateLinkConnectionProperties *NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties `json:"privateLinkConnectionProperties,omitempty" azure:"ro"` 9601 9602 // READ-ONLY; The provisioning state of the network interface IP configuration. 9603 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9604 9605 // Public IP address bound to the IP configuration. 9606 PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` 9607 9608 // Subnet bound to the IP configuration. 9609 Subnet *Subnet `json:"subnet,omitempty"` 9610 9611 // The reference to Virtual Network Taps. 9612 VirtualNetworkTaps *[]VirtualNetworkTap `json:"virtualNetworkTaps,omitempty"` 9613} 9614 9615// NetworkInterfaceIPConfigurationResponse is the response envelope for operations that return a NetworkInterfaceIPConfiguration type. 9616type NetworkInterfaceIPConfigurationResponse struct { 9617 // IPConfiguration in a network interface. 9618 NetworkInterfaceIPConfiguration *NetworkInterfaceIPConfiguration 9619 9620 // RawResponse contains the underlying HTTP response. 9621 RawResponse *http.Response 9622} 9623 9624// NetworkInterfaceIPConfigurationsGetOptions contains the optional parameters for the NetworkInterfaceIPConfigurations.Get method. 9625type NetworkInterfaceIPConfigurationsGetOptions struct { 9626 // placeholder for future optional parameters 9627} 9628 9629// NetworkInterfaceIPConfigurationsListOptions contains the optional parameters for the NetworkInterfaceIPConfigurations.List method. 9630type NetworkInterfaceIPConfigurationsListOptions struct { 9631 // placeholder for future optional parameters 9632} 9633 9634// Response for the ListNetworkInterface API service call. 9635type NetworkInterfaceListResult struct { 9636 // READ-ONLY; The URL to get the next set of results. 9637 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9638 9639 // A list of network interfaces in a resource group. 9640 Value *[]NetworkInterface `json:"value,omitempty"` 9641} 9642 9643// NetworkInterfaceListResultResponse is the response envelope for operations that return a NetworkInterfaceListResult type. 9644type NetworkInterfaceListResultResponse struct { 9645 // Response for the ListNetworkInterface API service call. 9646 NetworkInterfaceListResult *NetworkInterfaceListResult 9647 9648 // RawResponse contains the underlying HTTP response. 9649 RawResponse *http.Response 9650} 9651 9652// Response for list ip configurations API service call. 9653type NetworkInterfaceLoadBalancerListResult struct { 9654 // READ-ONLY; The URL to get the next set of results. 9655 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9656 9657 // A list of load balancers. 9658 Value *[]LoadBalancer `json:"value,omitempty"` 9659} 9660 9661// NetworkInterfaceLoadBalancerListResultResponse is the response envelope for operations that return a NetworkInterfaceLoadBalancerListResult type. 9662type NetworkInterfaceLoadBalancerListResultResponse struct { 9663 // Response for list ip configurations API service call. 9664 NetworkInterfaceLoadBalancerListResult *NetworkInterfaceLoadBalancerListResult 9665 9666 // RawResponse contains the underlying HTTP response. 9667 RawResponse *http.Response 9668} 9669 9670// NetworkInterfaceLoadBalancersListOptions contains the optional parameters for the NetworkInterfaceLoadBalancers.List method. 9671type NetworkInterfaceLoadBalancersListOptions struct { 9672 // placeholder for future optional parameters 9673} 9674 9675// NetworkInterfacePollerResponse is the response envelope for operations that asynchronously return a NetworkInterface type. 9676type NetworkInterfacePollerResponse struct { 9677 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 9678 PollUntilDone func(ctx context.Context, frequency time.Duration) (NetworkInterfaceResponse, error) 9679 9680 // Poller contains an initialized poller. 9681 Poller NetworkInterfacePoller 9682 9683 // RawResponse contains the underlying HTTP response. 9684 RawResponse *http.Response 9685} 9686 9687// NetworkInterface properties. 9688type NetworkInterfacePropertiesFormat struct { 9689 // The DNS settings in network interface. 9690 DNSSettings *NetworkInterfaceDNSSettings `json:"dnsSettings,omitempty"` 9691 9692 // READ-ONLY; A reference to the dscp configuration to which the network interface is linked. 9693 DscpConfiguration *SubResource `json:"dscpConfiguration,omitempty" azure:"ro"` 9694 9695 // If the network interface is accelerated networking enabled. 9696 EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"` 9697 9698 // Indicates whether IP forwarding is enabled on this network interface. 9699 EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"` 9700 9701 // READ-ONLY; A list of references to linked BareMetal resources. 9702 HostedWorkloads *[]string `json:"hostedWorkloads,omitempty" azure:"ro"` 9703 9704 // A list of IPConfigurations of the network interface. 9705 IPConfigurations *[]NetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty"` 9706 9707 // READ-ONLY; The MAC address of the network interface. 9708 MacAddress *string `json:"macAddress,omitempty" azure:"ro"` 9709 9710 // The reference to the NetworkSecurityGroup resource. 9711 NetworkSecurityGroup *NetworkSecurityGroup `json:"networkSecurityGroup,omitempty"` 9712 9713 // READ-ONLY; Whether this is a primary network interface on a virtual machine. 9714 Primary *bool `json:"primary,omitempty" azure:"ro"` 9715 9716 // READ-ONLY; A reference to the private endpoint to which the network interface is linked. 9717 PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` 9718 9719 // READ-ONLY; The provisioning state of the network interface resource. 9720 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9721 9722 // READ-ONLY; The resource GUID property of the network interface resource. 9723 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 9724 9725 // READ-ONLY; A list of TapConfigurations of the network interface. 9726 TapConfigurations *[]NetworkInterfaceTapConfiguration `json:"tapConfigurations,omitempty" azure:"ro"` 9727 9728 // READ-ONLY; The reference to a virtual machine. 9729 VirtualMachine *SubResource `json:"virtualMachine,omitempty" azure:"ro"` 9730} 9731 9732// NetworkInterfaceResponse is the response envelope for operations that return a NetworkInterface type. 9733type NetworkInterfaceResponse struct { 9734 // A network interface in a resource group. 9735 NetworkInterface *NetworkInterface 9736 9737 // RawResponse contains the underlying HTTP response. 9738 RawResponse *http.Response 9739} 9740 9741// Tap configuration in a Network Interface. 9742type NetworkInterfaceTapConfiguration struct { 9743 SubResource 9744 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9745 Etag *string `json:"etag,omitempty" azure:"ro"` 9746 9747 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 9748 Name *string `json:"name,omitempty"` 9749 9750 // Properties of the Virtual Network Tap configuration. 9751 Properties *NetworkInterfaceTapConfigurationPropertiesFormat `json:"properties,omitempty"` 9752 9753 // READ-ONLY; Sub Resource type. 9754 Type *string `json:"type,omitempty" azure:"ro"` 9755} 9756 9757// Response for list tap configurations API service call. 9758type NetworkInterfaceTapConfigurationListResult struct { 9759 // READ-ONLY; The URL to get the next set of results. 9760 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 9761 9762 // A list of tap configurations. 9763 Value *[]NetworkInterfaceTapConfiguration `json:"value,omitempty"` 9764} 9765 9766// NetworkInterfaceTapConfigurationListResultResponse is the response envelope for operations that return a NetworkInterfaceTapConfigurationListResult type. 9767type NetworkInterfaceTapConfigurationListResultResponse struct { 9768 // Response for list tap configurations API service call. 9769 NetworkInterfaceTapConfigurationListResult *NetworkInterfaceTapConfigurationListResult 9770 9771 // RawResponse contains the underlying HTTP response. 9772 RawResponse *http.Response 9773} 9774 9775// NetworkInterfaceTapConfigurationPollerResponse is the response envelope for operations that asynchronously return a NetworkInterfaceTapConfiguration 9776// type. 9777type NetworkInterfaceTapConfigurationPollerResponse struct { 9778 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 9779 PollUntilDone func(ctx context.Context, frequency time.Duration) (NetworkInterfaceTapConfigurationResponse, error) 9780 9781 // Poller contains an initialized poller. 9782 Poller NetworkInterfaceTapConfigurationPoller 9783 9784 // RawResponse contains the underlying HTTP response. 9785 RawResponse *http.Response 9786} 9787 9788// Properties of Virtual Network Tap configuration. 9789type NetworkInterfaceTapConfigurationPropertiesFormat struct { 9790 // READ-ONLY; The provisioning state of the network interface tap configuration resource. 9791 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 9792 9793 // The reference to the Virtual Network Tap resource. 9794 VirtualNetworkTap *VirtualNetworkTap `json:"virtualNetworkTap,omitempty"` 9795} 9796 9797// NetworkInterfaceTapConfigurationResponse is the response envelope for operations that return a NetworkInterfaceTapConfiguration type. 9798type NetworkInterfaceTapConfigurationResponse struct { 9799 // Tap configuration in a Network Interface. 9800 NetworkInterfaceTapConfiguration *NetworkInterfaceTapConfiguration 9801 9802 // RawResponse contains the underlying HTTP response. 9803 RawResponse *http.Response 9804} 9805 9806// NetworkInterfaceTapConfigurationsBeginCreateOrUpdateOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.BeginCreateOrUpdate 9807// method. 9808type NetworkInterfaceTapConfigurationsBeginCreateOrUpdateOptions struct { 9809 // placeholder for future optional parameters 9810} 9811 9812// NetworkInterfaceTapConfigurationsBeginDeleteOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.BeginDelete method. 9813type NetworkInterfaceTapConfigurationsBeginDeleteOptions struct { 9814 // placeholder for future optional parameters 9815} 9816 9817// NetworkInterfaceTapConfigurationsGetOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.Get method. 9818type NetworkInterfaceTapConfigurationsGetOptions struct { 9819 // placeholder for future optional parameters 9820} 9821 9822// NetworkInterfaceTapConfigurationsListOptions contains the optional parameters for the NetworkInterfaceTapConfigurations.List method. 9823type NetworkInterfaceTapConfigurationsListOptions struct { 9824 // placeholder for future optional parameters 9825} 9826 9827// NetworkInterfacesBeginCreateOrUpdateOptions contains the optional parameters for the NetworkInterfaces.BeginCreateOrUpdate method. 9828type NetworkInterfacesBeginCreateOrUpdateOptions struct { 9829 // placeholder for future optional parameters 9830} 9831 9832// NetworkInterfacesBeginDeleteOptions contains the optional parameters for the NetworkInterfaces.BeginDelete method. 9833type NetworkInterfacesBeginDeleteOptions struct { 9834 // placeholder for future optional parameters 9835} 9836 9837// NetworkInterfacesBeginGetEffectiveRouteTableOptions contains the optional parameters for the NetworkInterfaces.BeginGetEffectiveRouteTable method. 9838type NetworkInterfacesBeginGetEffectiveRouteTableOptions struct { 9839 // placeholder for future optional parameters 9840} 9841 9842// NetworkInterfacesBeginListEffectiveNetworkSecurityGroupsOptions contains the optional parameters for the NetworkInterfaces.BeginListEffectiveNetworkSecurityGroups 9843// method. 9844type NetworkInterfacesBeginListEffectiveNetworkSecurityGroupsOptions struct { 9845 // placeholder for future optional parameters 9846} 9847 9848// NetworkInterfacesGetCloudServiceNetworkInterfaceOptions contains the optional parameters for the NetworkInterfaces.GetCloudServiceNetworkInterface method. 9849type NetworkInterfacesGetCloudServiceNetworkInterfaceOptions struct { 9850 // Expands referenced resources. 9851 Expand *string 9852} 9853 9854// NetworkInterfacesGetOptions contains the optional parameters for the NetworkInterfaces.Get method. 9855type NetworkInterfacesGetOptions struct { 9856 // Expands referenced resources. 9857 Expand *string 9858} 9859 9860// NetworkInterfacesGetVirtualMachineScaleSetIPConfigurationOptions contains the optional parameters for the NetworkInterfaces.GetVirtualMachineScaleSetIPConfiguration 9861// method. 9862type NetworkInterfacesGetVirtualMachineScaleSetIPConfigurationOptions struct { 9863 // Expands referenced resources. 9864 Expand *string 9865} 9866 9867// NetworkInterfacesGetVirtualMachineScaleSetNetworkInterfaceOptions contains the optional parameters for the NetworkInterfaces.GetVirtualMachineScaleSetNetworkInterface 9868// method. 9869type NetworkInterfacesGetVirtualMachineScaleSetNetworkInterfaceOptions struct { 9870 // Expands referenced resources. 9871 Expand *string 9872} 9873 9874// NetworkInterfacesListAllOptions contains the optional parameters for the NetworkInterfaces.ListAll method. 9875type NetworkInterfacesListAllOptions struct { 9876 // placeholder for future optional parameters 9877} 9878 9879// NetworkInterfacesListCloudServiceNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListCloudServiceNetworkInterfaces 9880// method. 9881type NetworkInterfacesListCloudServiceNetworkInterfacesOptions struct { 9882 // placeholder for future optional parameters 9883} 9884 9885// NetworkInterfacesListCloudServiceRoleInstanceNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListCloudServiceRoleInstanceNetworkInterfaces 9886// method. 9887type NetworkInterfacesListCloudServiceRoleInstanceNetworkInterfacesOptions struct { 9888 // placeholder for future optional parameters 9889} 9890 9891// NetworkInterfacesListOptions contains the optional parameters for the NetworkInterfaces.List method. 9892type NetworkInterfacesListOptions struct { 9893 // placeholder for future optional parameters 9894} 9895 9896// NetworkInterfacesListVirtualMachineScaleSetIPConfigurationsOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetIPConfigurations 9897// method. 9898type NetworkInterfacesListVirtualMachineScaleSetIPConfigurationsOptions struct { 9899 // Expands referenced resources. 9900 Expand *string 9901} 9902 9903// NetworkInterfacesListVirtualMachineScaleSetNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetNetworkInterfaces 9904// method. 9905type NetworkInterfacesListVirtualMachineScaleSetNetworkInterfacesOptions struct { 9906 // placeholder for future optional parameters 9907} 9908 9909// NetworkInterfacesListVirtualMachineScaleSetVMNetworkInterfacesOptions contains the optional parameters for the NetworkInterfaces.ListVirtualMachineScaleSetVMNetworkInterfaces 9910// method. 9911type NetworkInterfacesListVirtualMachineScaleSetVMNetworkInterfacesOptions struct { 9912 // placeholder for future optional parameters 9913} 9914 9915// NetworkInterfacesUpdateTagsOptions contains the optional parameters for the NetworkInterfaces.UpdateTags method. 9916type NetworkInterfacesUpdateTagsOptions struct { 9917 // placeholder for future optional parameters 9918} 9919 9920// NetworkManagementClientBeginDeleteBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.BeginDeleteBastionShareableLink 9921// method. 9922type NetworkManagementClientBeginDeleteBastionShareableLinkOptions struct { 9923 // placeholder for future optional parameters 9924} 9925 9926// NetworkManagementClientBeginGeneratevirtualwanvpnserverconfigurationvpnprofileOptions contains the optional parameters for the NetworkManagementClient.BeginGeneratevirtualwanvpnserverconfigurationvpnprofile 9927// method. 9928type NetworkManagementClientBeginGeneratevirtualwanvpnserverconfigurationvpnprofileOptions struct { 9929 // placeholder for future optional parameters 9930} 9931 9932// NetworkManagementClientBeginGetActiveSessionsOptions contains the optional parameters for the NetworkManagementClient.BeginGetActiveSessions method. 9933type NetworkManagementClientBeginGetActiveSessionsOptions struct { 9934 // placeholder for future optional parameters 9935} 9936 9937// NetworkManagementClientBeginPutBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.BeginPutBastionShareableLink 9938// method. 9939type NetworkManagementClientBeginPutBastionShareableLinkOptions struct { 9940 // placeholder for future optional parameters 9941} 9942 9943// NetworkManagementClientCheckDNSNameAvailabilityOptions contains the optional parameters for the NetworkManagementClient.CheckDNSNameAvailability method. 9944type NetworkManagementClientCheckDNSNameAvailabilityOptions struct { 9945 // placeholder for future optional parameters 9946} 9947 9948// NetworkManagementClientDisconnectActiveSessionsOptions contains the optional parameters for the NetworkManagementClient.DisconnectActiveSessions method. 9949type NetworkManagementClientDisconnectActiveSessionsOptions struct { 9950 // placeholder for future optional parameters 9951} 9952 9953// NetworkManagementClientGetBastionShareableLinkOptions contains the optional parameters for the NetworkManagementClient.GetBastionShareableLink method. 9954type NetworkManagementClientGetBastionShareableLinkOptions struct { 9955 // placeholder for future optional parameters 9956} 9957 9958// NetworkManagementClientSupportedSecurityProvidersOptions contains the optional parameters for the NetworkManagementClient.SupportedSecurityProviders 9959// method. 9960type NetworkManagementClientSupportedSecurityProvidersOptions struct { 9961 // placeholder for future optional parameters 9962} 9963 9964// Network profile resource. 9965type NetworkProfile struct { 9966 Resource 9967 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 9968 Etag *string `json:"etag,omitempty" azure:"ro"` 9969 9970 // Network profile properties. 9971 Properties *NetworkProfilePropertiesFormat `json:"properties,omitempty"` 9972} 9973 9974// Response for ListNetworkProfiles API service call. 9975type NetworkProfileListResult struct { 9976 // The URL to get the next set of results. 9977 NextLink *string `json:"nextLink,omitempty"` 9978 9979 // A list of network profiles that exist in a resource group. 9980 Value *[]NetworkProfile `json:"value,omitempty"` 9981} 9982 9983// NetworkProfileListResultResponse is the response envelope for operations that return a NetworkProfileListResult type. 9984type NetworkProfileListResultResponse struct { 9985 // Response for ListNetworkProfiles API service call. 9986 NetworkProfileListResult *NetworkProfileListResult 9987 9988 // RawResponse contains the underlying HTTP response. 9989 RawResponse *http.Response 9990} 9991 9992// Network profile properties. 9993type NetworkProfilePropertiesFormat struct { 9994 // List of chid container network interface configurations. 9995 ContainerNetworkInterfaceConfigurations *[]ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfigurations,omitempty"` 9996 9997 // READ-ONLY; List of child container network interfaces. 9998 ContainerNetworkInterfaces *[]ContainerNetworkInterface `json:"containerNetworkInterfaces,omitempty" azure:"ro"` 9999 10000 // READ-ONLY; The provisioning state of the network profile resource. 10001 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10002 10003 // READ-ONLY; The resource GUID property of the network profile resource. 10004 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 10005} 10006 10007// NetworkProfileResponse is the response envelope for operations that return a NetworkProfile type. 10008type NetworkProfileResponse struct { 10009 // Network profile resource. 10010 NetworkProfile *NetworkProfile 10011 10012 // RawResponse contains the underlying HTTP response. 10013 RawResponse *http.Response 10014} 10015 10016// NetworkProfilesBeginDeleteOptions contains the optional parameters for the NetworkProfiles.BeginDelete method. 10017type NetworkProfilesBeginDeleteOptions struct { 10018 // placeholder for future optional parameters 10019} 10020 10021// NetworkProfilesCreateOrUpdateOptions contains the optional parameters for the NetworkProfiles.CreateOrUpdate method. 10022type NetworkProfilesCreateOrUpdateOptions struct { 10023 // placeholder for future optional parameters 10024} 10025 10026// NetworkProfilesGetOptions contains the optional parameters for the NetworkProfiles.Get method. 10027type NetworkProfilesGetOptions struct { 10028 // Expands referenced resources. 10029 Expand *string 10030} 10031 10032// NetworkProfilesListAllOptions contains the optional parameters for the NetworkProfiles.ListAll method. 10033type NetworkProfilesListAllOptions struct { 10034 // placeholder for future optional parameters 10035} 10036 10037// NetworkProfilesListOptions contains the optional parameters for the NetworkProfiles.List method. 10038type NetworkProfilesListOptions struct { 10039 // placeholder for future optional parameters 10040} 10041 10042// NetworkProfilesUpdateTagsOptions contains the optional parameters for the NetworkProfiles.UpdateTags method. 10043type NetworkProfilesUpdateTagsOptions struct { 10044 // placeholder for future optional parameters 10045} 10046 10047// Rule of type network. 10048type NetworkRule struct { 10049 FirewallPolicyRule 10050 // List of destination IP addresses or Service Tags. 10051 DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` 10052 10053 // List of destination FQDNs. 10054 DestinationFqdns *[]string `json:"destinationFqdns,omitempty"` 10055 10056 // List of destination IpGroups for this rule. 10057 DestinationIPGroups *[]string `json:"destinationIpGroups,omitempty"` 10058 10059 // List of destination ports. 10060 DestinationPorts *[]string `json:"destinationPorts,omitempty"` 10061 10062 // Array of FirewallPolicyRuleNetworkProtocols. 10063 IPProtocols *[]FirewallPolicyRuleNetworkProtocol `json:"ipProtocols,omitempty"` 10064 10065 // List of source IP addresses for this rule. 10066 SourceAddresses *[]string `json:"sourceAddresses,omitempty"` 10067 10068 // List of source IpGroups for this rule. 10069 SourceIPGroups *[]string `json:"sourceIpGroups,omitempty"` 10070} 10071 10072// MarshalJSON implements the json.Marshaller interface for type NetworkRule. 10073func (n NetworkRule) MarshalJSON() ([]byte, error) { 10074 objectMap := n.FirewallPolicyRule.marshalInternal(FirewallPolicyRuleTypeNetworkRule) 10075 if n.DestinationAddresses != nil { 10076 objectMap["destinationAddresses"] = n.DestinationAddresses 10077 } 10078 if n.DestinationFqdns != nil { 10079 objectMap["destinationFqdns"] = n.DestinationFqdns 10080 } 10081 if n.DestinationIPGroups != nil { 10082 objectMap["destinationIpGroups"] = n.DestinationIPGroups 10083 } 10084 if n.DestinationPorts != nil { 10085 objectMap["destinationPorts"] = n.DestinationPorts 10086 } 10087 if n.IPProtocols != nil { 10088 objectMap["ipProtocols"] = n.IPProtocols 10089 } 10090 if n.SourceAddresses != nil { 10091 objectMap["sourceAddresses"] = n.SourceAddresses 10092 } 10093 if n.SourceIPGroups != nil { 10094 objectMap["sourceIpGroups"] = n.SourceIPGroups 10095 } 10096 return json.Marshal(objectMap) 10097} 10098 10099// UnmarshalJSON implements the json.Unmarshaller interface for type NetworkRule. 10100func (n *NetworkRule) UnmarshalJSON(data []byte) error { 10101 var rawMsg map[string]*json.RawMessage 10102 if err := json.Unmarshal(data, &rawMsg); err != nil { 10103 return err 10104 } 10105 for key, val := range rawMsg { 10106 var err error 10107 switch key { 10108 case "destinationAddresses": 10109 if val != nil { 10110 err = json.Unmarshal(*val, &n.DestinationAddresses) 10111 } 10112 delete(rawMsg, key) 10113 case "destinationFqdns": 10114 if val != nil { 10115 err = json.Unmarshal(*val, &n.DestinationFqdns) 10116 } 10117 delete(rawMsg, key) 10118 case "destinationIpGroups": 10119 if val != nil { 10120 err = json.Unmarshal(*val, &n.DestinationIPGroups) 10121 } 10122 delete(rawMsg, key) 10123 case "destinationPorts": 10124 if val != nil { 10125 err = json.Unmarshal(*val, &n.DestinationPorts) 10126 } 10127 delete(rawMsg, key) 10128 case "ipProtocols": 10129 if val != nil { 10130 err = json.Unmarshal(*val, &n.IPProtocols) 10131 } 10132 delete(rawMsg, key) 10133 case "sourceAddresses": 10134 if val != nil { 10135 err = json.Unmarshal(*val, &n.SourceAddresses) 10136 } 10137 delete(rawMsg, key) 10138 case "sourceIpGroups": 10139 if val != nil { 10140 err = json.Unmarshal(*val, &n.SourceIPGroups) 10141 } 10142 delete(rawMsg, key) 10143 } 10144 if err != nil { 10145 return err 10146 } 10147 } 10148 return n.FirewallPolicyRule.unmarshalInternal(rawMsg) 10149} 10150 10151// NetworkSecurityGroup resource. 10152type NetworkSecurityGroup struct { 10153 Resource 10154 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10155 Etag *string `json:"etag,omitempty" azure:"ro"` 10156 10157 // Properties of the network security group. 10158 Properties *NetworkSecurityGroupPropertiesFormat `json:"properties,omitempty"` 10159} 10160 10161// Response for ListNetworkSecurityGroups API service call. 10162type NetworkSecurityGroupListResult struct { 10163 // The URL to get the next set of results. 10164 NextLink *string `json:"nextLink,omitempty"` 10165 10166 // A list of NetworkSecurityGroup resources. 10167 Value *[]NetworkSecurityGroup `json:"value,omitempty"` 10168} 10169 10170// NetworkSecurityGroupListResultResponse is the response envelope for operations that return a NetworkSecurityGroupListResult type. 10171type NetworkSecurityGroupListResultResponse struct { 10172 // Response for ListNetworkSecurityGroups API service call. 10173 NetworkSecurityGroupListResult *NetworkSecurityGroupListResult 10174 10175 // RawResponse contains the underlying HTTP response. 10176 RawResponse *http.Response 10177} 10178 10179// NetworkSecurityGroupPollerResponse is the response envelope for operations that asynchronously return a NetworkSecurityGroup type. 10180type NetworkSecurityGroupPollerResponse struct { 10181 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 10182 PollUntilDone func(ctx context.Context, frequency time.Duration) (NetworkSecurityGroupResponse, error) 10183 10184 // Poller contains an initialized poller. 10185 Poller NetworkSecurityGroupPoller 10186 10187 // RawResponse contains the underlying HTTP response. 10188 RawResponse *http.Response 10189} 10190 10191// Network Security Group resource. 10192type NetworkSecurityGroupPropertiesFormat struct { 10193 // READ-ONLY; The default security rules of network security group. 10194 DefaultSecurityRules *[]SecurityRule `json:"defaultSecurityRules,omitempty" azure:"ro"` 10195 10196 // READ-ONLY; A collection of references to flow log resources. 10197 FlowLogs *[]FlowLog `json:"flowLogs,omitempty" azure:"ro"` 10198 10199 // READ-ONLY; A collection of references to network interfaces. 10200 NetworkInterfaces *[]NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` 10201 10202 // READ-ONLY; The provisioning state of the network security group resource. 10203 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10204 10205 // READ-ONLY; The resource GUID property of the network security group resource. 10206 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 10207 10208 // A collection of security rules of the network security group. 10209 SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` 10210 10211 // READ-ONLY; A collection of references to subnets. 10212 Subnets *[]Subnet `json:"subnets,omitempty" azure:"ro"` 10213} 10214 10215// NetworkSecurityGroupResponse is the response envelope for operations that return a NetworkSecurityGroup type. 10216type NetworkSecurityGroupResponse struct { 10217 // NetworkSecurityGroup resource. 10218 NetworkSecurityGroup *NetworkSecurityGroup 10219 10220 // RawResponse contains the underlying HTTP response. 10221 RawResponse *http.Response 10222} 10223 10224// Network configuration diagnostic result corresponded provided traffic query. 10225type NetworkSecurityGroupResult struct { 10226 // READ-ONLY; List of results network security groups diagnostic. 10227 EvaluatedNetworkSecurityGroups *[]EvaluatedNetworkSecurityGroup `json:"evaluatedNetworkSecurityGroups,omitempty" azure:"ro"` 10228 10229 // The network traffic is allowed or denied. 10230 SecurityRuleAccessResult *SecurityRuleAccess `json:"securityRuleAccessResult,omitempty"` 10231} 10232 10233// NetworkSecurityGroupsBeginCreateOrUpdateOptions contains the optional parameters for the NetworkSecurityGroups.BeginCreateOrUpdate method. 10234type NetworkSecurityGroupsBeginCreateOrUpdateOptions struct { 10235 // placeholder for future optional parameters 10236} 10237 10238// NetworkSecurityGroupsBeginDeleteOptions contains the optional parameters for the NetworkSecurityGroups.BeginDelete method. 10239type NetworkSecurityGroupsBeginDeleteOptions struct { 10240 // placeholder for future optional parameters 10241} 10242 10243// NetworkSecurityGroupsGetOptions contains the optional parameters for the NetworkSecurityGroups.Get method. 10244type NetworkSecurityGroupsGetOptions struct { 10245 // Expands referenced resources. 10246 Expand *string 10247} 10248 10249// NetworkSecurityGroupsListAllOptions contains the optional parameters for the NetworkSecurityGroups.ListAll method. 10250type NetworkSecurityGroupsListAllOptions struct { 10251 // placeholder for future optional parameters 10252} 10253 10254// NetworkSecurityGroupsListOptions contains the optional parameters for the NetworkSecurityGroups.List method. 10255type NetworkSecurityGroupsListOptions struct { 10256 // placeholder for future optional parameters 10257} 10258 10259// NetworkSecurityGroupsUpdateTagsOptions contains the optional parameters for the NetworkSecurityGroups.UpdateTags method. 10260type NetworkSecurityGroupsUpdateTagsOptions struct { 10261 // placeholder for future optional parameters 10262} 10263 10264// Network security rules evaluation result. 10265type NetworkSecurityRulesEvaluationResult struct { 10266 // Value indicating whether destination is matched. 10267 DestinationMatched *bool `json:"destinationMatched,omitempty"` 10268 10269 // Value indicating whether destination port is matched. 10270 DestinationPortMatched *bool `json:"destinationPortMatched,omitempty"` 10271 10272 // Name of the network security rule. 10273 Name *string `json:"name,omitempty"` 10274 10275 // Value indicating whether protocol is matched. 10276 ProtocolMatched *bool `json:"protocolMatched,omitempty"` 10277 10278 // Value indicating whether source is matched. 10279 SourceMatched *bool `json:"sourceMatched,omitempty"` 10280 10281 // Value indicating whether source port is matched. 10282 SourcePortMatched *bool `json:"sourcePortMatched,omitempty"` 10283} 10284 10285// NetworkVirtualAppliance Resource. 10286type NetworkVirtualAppliance struct { 10287 Resource 10288 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10289 Etag *string `json:"etag,omitempty" azure:"ro"` 10290 10291 // The service principal that has read access to cloud-init and config blob. 10292 IDentity *ManagedServiceIDentity `json:"identity,omitempty"` 10293 10294 // Properties of the Network Virtual Appliance. 10295 Properties *NetworkVirtualAppliancePropertiesFormat `json:"properties,omitempty"` 10296} 10297 10298// Response for ListNetworkVirtualAppliances API service call. 10299type NetworkVirtualApplianceListResult struct { 10300 // URL to get the next set of results. 10301 NextLink *string `json:"nextLink,omitempty"` 10302 10303 // List of Network Virtual Appliances. 10304 Value *[]NetworkVirtualAppliance `json:"value,omitempty"` 10305} 10306 10307// NetworkVirtualApplianceListResultResponse is the response envelope for operations that return a NetworkVirtualApplianceListResult type. 10308type NetworkVirtualApplianceListResultResponse struct { 10309 // Response for ListNetworkVirtualAppliances API service call. 10310 NetworkVirtualApplianceListResult *NetworkVirtualApplianceListResult 10311 10312 // RawResponse contains the underlying HTTP response. 10313 RawResponse *http.Response 10314} 10315 10316// NetworkVirtualAppliancePollerResponse is the response envelope for operations that asynchronously return a NetworkVirtualAppliance type. 10317type NetworkVirtualAppliancePollerResponse struct { 10318 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 10319 PollUntilDone func(ctx context.Context, frequency time.Duration) (NetworkVirtualApplianceResponse, error) 10320 10321 // Poller contains an initialized poller. 10322 Poller NetworkVirtualAppliancePoller 10323 10324 // RawResponse contains the underlying HTTP response. 10325 RawResponse *http.Response 10326} 10327 10328// Network Virtual Appliance definition. 10329type NetworkVirtualAppliancePropertiesFormat struct { 10330 // READ-ONLY; Address Prefix. 10331 AddressPrefix *string `json:"addressPrefix,omitempty" azure:"ro"` 10332 10333 // BootStrapConfigurationBlobs storage URLs. 10334 BootStrapConfigurationBlobs *[]string `json:"bootStrapConfigurationBlobs,omitempty"` 10335 10336 // CloudInitConfiguration string in plain text. 10337 CloudInitConfiguration *string `json:"cloudInitConfiguration,omitempty"` 10338 10339 // CloudInitConfigurationBlob storage URLs. 10340 CloudInitConfigurationBlobs *[]string `json:"cloudInitConfigurationBlobs,omitempty"` 10341 10342 // READ-ONLY; List of references to InboundSecurityRules. 10343 InboundSecurityRules *[]SubResource `json:"inboundSecurityRules,omitempty" azure:"ro"` 10344 10345 // Network Virtual Appliance SKU. 10346 NvaSKU *VirtualApplianceSKUProperties `json:"nvaSku,omitempty"` 10347 10348 // READ-ONLY; The provisioning state of the resource. 10349 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10350 10351 // VirtualAppliance ASN. 10352 VirtualApplianceAsn *int64 `json:"virtualApplianceAsn,omitempty"` 10353 10354 // READ-ONLY; List of Virtual Appliance Network Interfaces. 10355 VirtualApplianceNics *[]VirtualApplianceNicProperties `json:"virtualApplianceNics,omitempty" azure:"ro"` 10356 10357 // READ-ONLY; List of references to VirtualApplianceSite. 10358 VirtualApplianceSites *[]SubResource `json:"virtualApplianceSites,omitempty" azure:"ro"` 10359 10360 // The Virtual Hub where Network Virtual Appliance is being deployed. 10361 VirtualHub *SubResource `json:"virtualHub,omitempty"` 10362} 10363 10364// NetworkVirtualApplianceResponse is the response envelope for operations that return a NetworkVirtualAppliance type. 10365type NetworkVirtualApplianceResponse struct { 10366 // NetworkVirtualAppliance Resource. 10367 NetworkVirtualAppliance *NetworkVirtualAppliance 10368 10369 // RawResponse contains the underlying HTTP response. 10370 RawResponse *http.Response 10371} 10372 10373// Definition of the NetworkVirtualApplianceSkus resource. 10374type NetworkVirtualApplianceSKU struct { 10375 Resource 10376 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10377 Etag *string `json:"etag,omitempty" azure:"ro"` 10378 10379 // NetworkVirtualApplianceSku properties. 10380 Properties *NetworkVirtualApplianceSKUPropertiesFormat `json:"properties,omitempty"` 10381} 10382 10383// List of available Sku and instances. 10384type NetworkVirtualApplianceSKUInstances struct { 10385 // READ-ONLY; Instance Count. 10386 InstanceCount *int32 `json:"instanceCount,omitempty" azure:"ro"` 10387 10388 // READ-ONLY; Scale Unit. 10389 ScaleUnit *string `json:"scaleUnit,omitempty" azure:"ro"` 10390} 10391 10392// Response for ListNetworkVirtualApplianceSkus API service call. 10393type NetworkVirtualApplianceSKUListResult struct { 10394 // URL to get the next set of results. 10395 NextLink *string `json:"nextLink,omitempty"` 10396 10397 // List of Network Virtual Appliance Skus that are available. 10398 Value *[]NetworkVirtualApplianceSKU `json:"value,omitempty"` 10399} 10400 10401// NetworkVirtualApplianceSKUListResultResponse is the response envelope for operations that return a NetworkVirtualApplianceSKUListResult type. 10402type NetworkVirtualApplianceSKUListResultResponse struct { 10403 // Response for ListNetworkVirtualApplianceSkus API service call. 10404 NetworkVirtualApplianceSKUListResult *NetworkVirtualApplianceSKUListResult 10405 10406 // RawResponse contains the underlying HTTP response. 10407 RawResponse *http.Response 10408} 10409 10410// Properties specific to NetworkVirtualApplianceSkus. 10411type NetworkVirtualApplianceSKUPropertiesFormat struct { 10412 // The list of scale units available. 10413 AvailableScaleUnits *[]NetworkVirtualApplianceSKUInstances `json:"availableScaleUnits,omitempty"` 10414 10415 // READ-ONLY; Available Network Virtual Appliance versions. 10416 AvailableVersions *[]string `json:"availableVersions,omitempty" azure:"ro"` 10417 10418 // READ-ONLY; Network Virtual Appliance Sku vendor. 10419 Vendor *string `json:"vendor,omitempty" azure:"ro"` 10420} 10421 10422// NetworkVirtualApplianceSKUResponse is the response envelope for operations that return a NetworkVirtualApplianceSKU type. 10423type NetworkVirtualApplianceSKUResponse struct { 10424 // Definition of the NetworkVirtualApplianceSkus resource. 10425 NetworkVirtualApplianceSKU *NetworkVirtualApplianceSKU 10426 10427 // RawResponse contains the underlying HTTP response. 10428 RawResponse *http.Response 10429} 10430 10431// Response for ListNetworkVirtualApplianceSites API service call. 10432type NetworkVirtualApplianceSiteListResult struct { 10433 // URL to get the next set of results. 10434 NextLink *string `json:"nextLink,omitempty"` 10435 10436 // List of Network Virtual Appliance sites. 10437 Value *[]VirtualApplianceSite `json:"value,omitempty"` 10438} 10439 10440// NetworkVirtualApplianceSiteListResultResponse is the response envelope for operations that return a NetworkVirtualApplianceSiteListResult type. 10441type NetworkVirtualApplianceSiteListResultResponse struct { 10442 // Response for ListNetworkVirtualApplianceSites API service call. 10443 NetworkVirtualApplianceSiteListResult *NetworkVirtualApplianceSiteListResult 10444 10445 // RawResponse contains the underlying HTTP response. 10446 RawResponse *http.Response 10447} 10448 10449// NetworkVirtualAppliancesBeginCreateOrUpdateOptions contains the optional parameters for the NetworkVirtualAppliances.BeginCreateOrUpdate method. 10450type NetworkVirtualAppliancesBeginCreateOrUpdateOptions struct { 10451 // placeholder for future optional parameters 10452} 10453 10454// NetworkVirtualAppliancesBeginDeleteOptions contains the optional parameters for the NetworkVirtualAppliances.BeginDelete method. 10455type NetworkVirtualAppliancesBeginDeleteOptions struct { 10456 // placeholder for future optional parameters 10457} 10458 10459// NetworkVirtualAppliancesGetOptions contains the optional parameters for the NetworkVirtualAppliances.Get method. 10460type NetworkVirtualAppliancesGetOptions struct { 10461 // Expands referenced resources. 10462 Expand *string 10463} 10464 10465// NetworkVirtualAppliancesListByResourceGroupOptions contains the optional parameters for the NetworkVirtualAppliances.ListByResourceGroup method. 10466type NetworkVirtualAppliancesListByResourceGroupOptions struct { 10467 // placeholder for future optional parameters 10468} 10469 10470// NetworkVirtualAppliancesListOptions contains the optional parameters for the NetworkVirtualAppliances.List method. 10471type NetworkVirtualAppliancesListOptions struct { 10472 // placeholder for future optional parameters 10473} 10474 10475// NetworkVirtualAppliancesUpdateTagsOptions contains the optional parameters for the NetworkVirtualAppliances.UpdateTags method. 10476type NetworkVirtualAppliancesUpdateTagsOptions struct { 10477 // placeholder for future optional parameters 10478} 10479 10480// Network watcher in a resource group. 10481type NetworkWatcher struct { 10482 Resource 10483 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10484 Etag *string `json:"etag,omitempty" azure:"ro"` 10485 10486 // Properties of the network watcher. 10487 Properties *NetworkWatcherPropertiesFormat `json:"properties,omitempty"` 10488} 10489 10490// Response for ListNetworkWatchers API service call. 10491type NetworkWatcherListResult struct { 10492 // List of network watcher resources. 10493 Value *[]NetworkWatcher `json:"value,omitempty"` 10494} 10495 10496// NetworkWatcherListResultResponse is the response envelope for operations that return a NetworkWatcherListResult type. 10497type NetworkWatcherListResultResponse struct { 10498 // Response for ListNetworkWatchers API service call. 10499 NetworkWatcherListResult *NetworkWatcherListResult 10500 10501 // RawResponse contains the underlying HTTP response. 10502 RawResponse *http.Response 10503} 10504 10505// The network watcher properties. 10506type NetworkWatcherPropertiesFormat struct { 10507 // READ-ONLY; The provisioning state of the network watcher resource. 10508 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10509} 10510 10511// NetworkWatcherResponse is the response envelope for operations that return a NetworkWatcher type. 10512type NetworkWatcherResponse struct { 10513 // Network watcher in a resource group. 10514 NetworkWatcher *NetworkWatcher 10515 10516 // RawResponse contains the underlying HTTP response. 10517 RawResponse *http.Response 10518} 10519 10520// NetworkWatchersBeginCheckConnectivityOptions contains the optional parameters for the NetworkWatchers.BeginCheckConnectivity method. 10521type NetworkWatchersBeginCheckConnectivityOptions struct { 10522 // placeholder for future optional parameters 10523} 10524 10525// NetworkWatchersBeginDeleteOptions contains the optional parameters for the NetworkWatchers.BeginDelete method. 10526type NetworkWatchersBeginDeleteOptions struct { 10527 // placeholder for future optional parameters 10528} 10529 10530// NetworkWatchersBeginGetAzureReachabilityReportOptions contains the optional parameters for the NetworkWatchers.BeginGetAzureReachabilityReport method. 10531type NetworkWatchersBeginGetAzureReachabilityReportOptions struct { 10532 // placeholder for future optional parameters 10533} 10534 10535// NetworkWatchersBeginGetFlowLogStatusOptions contains the optional parameters for the NetworkWatchers.BeginGetFlowLogStatus method. 10536type NetworkWatchersBeginGetFlowLogStatusOptions struct { 10537 // placeholder for future optional parameters 10538} 10539 10540// NetworkWatchersBeginGetNetworkConfigurationDiagnosticOptions contains the optional parameters for the NetworkWatchers.BeginGetNetworkConfigurationDiagnostic 10541// method. 10542type NetworkWatchersBeginGetNetworkConfigurationDiagnosticOptions struct { 10543 // placeholder for future optional parameters 10544} 10545 10546// NetworkWatchersBeginGetNextHopOptions contains the optional parameters for the NetworkWatchers.BeginGetNextHop method. 10547type NetworkWatchersBeginGetNextHopOptions struct { 10548 // placeholder for future optional parameters 10549} 10550 10551// NetworkWatchersBeginGetTroubleshootingOptions contains the optional parameters for the NetworkWatchers.BeginGetTroubleshooting method. 10552type NetworkWatchersBeginGetTroubleshootingOptions struct { 10553 // placeholder for future optional parameters 10554} 10555 10556// NetworkWatchersBeginGetTroubleshootingResultOptions contains the optional parameters for the NetworkWatchers.BeginGetTroubleshootingResult method. 10557type NetworkWatchersBeginGetTroubleshootingResultOptions struct { 10558 // placeholder for future optional parameters 10559} 10560 10561// NetworkWatchersBeginGetVMSecurityRulesOptions contains the optional parameters for the NetworkWatchers.BeginGetVMSecurityRules method. 10562type NetworkWatchersBeginGetVMSecurityRulesOptions struct { 10563 // placeholder for future optional parameters 10564} 10565 10566// NetworkWatchersBeginListAvailableProvidersOptions contains the optional parameters for the NetworkWatchers.BeginListAvailableProviders method. 10567type NetworkWatchersBeginListAvailableProvidersOptions struct { 10568 // placeholder for future optional parameters 10569} 10570 10571// NetworkWatchersBeginSetFlowLogConfigurationOptions contains the optional parameters for the NetworkWatchers.BeginSetFlowLogConfiguration method. 10572type NetworkWatchersBeginSetFlowLogConfigurationOptions struct { 10573 // placeholder for future optional parameters 10574} 10575 10576// NetworkWatchersBeginVerifyIPFlowOptions contains the optional parameters for the NetworkWatchers.BeginVerifyIPFlow method. 10577type NetworkWatchersBeginVerifyIPFlowOptions struct { 10578 // placeholder for future optional parameters 10579} 10580 10581// NetworkWatchersCreateOrUpdateOptions contains the optional parameters for the NetworkWatchers.CreateOrUpdate method. 10582type NetworkWatchersCreateOrUpdateOptions struct { 10583 // placeholder for future optional parameters 10584} 10585 10586// NetworkWatchersGetOptions contains the optional parameters for the NetworkWatchers.Get method. 10587type NetworkWatchersGetOptions struct { 10588 // placeholder for future optional parameters 10589} 10590 10591// NetworkWatchersGetTopologyOptions contains the optional parameters for the NetworkWatchers.GetTopology method. 10592type NetworkWatchersGetTopologyOptions struct { 10593 // placeholder for future optional parameters 10594} 10595 10596// NetworkWatchersListAllOptions contains the optional parameters for the NetworkWatchers.ListAll method. 10597type NetworkWatchersListAllOptions struct { 10598 // placeholder for future optional parameters 10599} 10600 10601// NetworkWatchersListOptions contains the optional parameters for the NetworkWatchers.List method. 10602type NetworkWatchersListOptions struct { 10603 // placeholder for future optional parameters 10604} 10605 10606// NetworkWatchersUpdateTagsOptions contains the optional parameters for the NetworkWatchers.UpdateTags method. 10607type NetworkWatchersUpdateTagsOptions struct { 10608 // placeholder for future optional parameters 10609} 10610 10611// Parameters that define the source and destination endpoint. 10612type NextHopParameters struct { 10613 // The destination IP address. 10614 DestinationIPAddress *string `json:"destinationIPAddress,omitempty"` 10615 10616 // The source IP address. 10617 SourceIPAddress *string `json:"sourceIPAddress,omitempty"` 10618 10619 // 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). 10620 TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` 10621 10622 // The resource identifier of the target resource against which the action is to be performed. 10623 TargetResourceID *string `json:"targetResourceId,omitempty"` 10624} 10625 10626// The information about next hop from the specified VM. 10627type NextHopResult struct { 10628 // Next hop IP Address. 10629 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 10630 10631 // Next hop type. 10632 NextHopType *NextHopType `json:"nextHopType,omitempty"` 10633 10634 // 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 10635 // routes then this field will be the string 10636 // 'System Route'. 10637 RouteTableID *string `json:"routeTableId,omitempty"` 10638} 10639 10640// NextHopResultPollerResponse is the response envelope for operations that asynchronously return a NextHopResult type. 10641type NextHopResultPollerResponse struct { 10642 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 10643 PollUntilDone func(ctx context.Context, frequency time.Duration) (NextHopResultResponse, error) 10644 10645 // Poller contains an initialized poller. 10646 Poller NextHopResultPoller 10647 10648 // RawResponse contains the underlying HTTP response. 10649 RawResponse *http.Response 10650} 10651 10652// NextHopResultResponse is the response envelope for operations that return a NextHopResult type. 10653type NextHopResultResponse struct { 10654 // The information about next hop from the specified VM. 10655 NextHopResult *NextHopResult 10656 10657 // RawResponse contains the underlying HTTP response. 10658 RawResponse *http.Response 10659} 10660 10661// Office365 breakout categories. 10662type O365BreakOutCategoryPolicies struct { 10663 // Flag to control allow category. 10664 Allow *bool `json:"allow,omitempty"` 10665 10666 // Flag to control default category. 10667 Default *bool `json:"default,omitempty"` 10668 10669 // Flag to control optimize category. 10670 Optimize *bool `json:"optimize,omitempty"` 10671} 10672 10673// The Office365 breakout policy. 10674type O365PolicyProperties struct { 10675 // Office365 breakout categories. 10676 BreakOutCategories *O365BreakOutCategoryPolicies `json:"breakOutCategories,omitempty"` 10677} 10678 10679// Network Virtual Appliance Sku Properties. 10680type Office365PolicyProperties struct { 10681 // Office 365 breakout categories. 10682 BreakOutCategories *BreakOutCategoryPolicies `json:"breakOutCategories,omitempty"` 10683} 10684 10685// Network REST API operation definition. 10686type Operation struct { 10687 // Display metadata associated with the operation. 10688 Display *OperationDisplay `json:"display,omitempty"` 10689 10690 // Operation name: {provider}/{resource}/{operation}. 10691 Name *string `json:"name,omitempty"` 10692 10693 // Origin of the operation. 10694 Origin *string `json:"origin,omitempty"` 10695 10696 // Operation properties format. 10697 Properties *OperationPropertiesFormat `json:"properties,omitempty"` 10698} 10699 10700// Display metadata associated with the operation. 10701type OperationDisplay struct { 10702 // Description of the operation. 10703 Description *string `json:"description,omitempty"` 10704 10705 // Type of the operation: get, read, delete, etc. 10706 Operation *string `json:"operation,omitempty"` 10707 10708 // Service provider: Microsoft Network. 10709 Provider *string `json:"provider,omitempty"` 10710 10711 // Resource on which the operation is performed. 10712 Resource *string `json:"resource,omitempty"` 10713} 10714 10715// 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. 10716type OperationListResult struct { 10717 // URL to get the next set of operation list results if there are any. 10718 NextLink *string `json:"nextLink,omitempty"` 10719 10720 // List of Network operations supported by the Network resource provider. 10721 Value *[]Operation `json:"value,omitempty"` 10722} 10723 10724// OperationListResultResponse is the response envelope for operations that return a OperationListResult type. 10725type OperationListResultResponse struct { 10726 // 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. 10727 OperationListResult *OperationListResult 10728 10729 // RawResponse contains the underlying HTTP response. 10730 RawResponse *http.Response 10731} 10732 10733// Description of operation properties format. 10734type OperationPropertiesFormat struct { 10735 // Specification of the service. 10736 ServiceSpecification *OperationPropertiesFormatServiceSpecification `json:"serviceSpecification,omitempty"` 10737} 10738 10739// Specification of the service. 10740type OperationPropertiesFormatServiceSpecification struct { 10741 // Operation log specification. 10742 LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` 10743 10744 // Operation service specification. 10745 MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` 10746} 10747 10748// OperationsListOptions contains the optional parameters for the Operations.List method. 10749type OperationsListOptions struct { 10750 // placeholder for future optional parameters 10751} 10752 10753// Outbound rule of the load balancer. 10754type OutboundRule struct { 10755 SubResource 10756 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10757 Etag *string `json:"etag,omitempty" azure:"ro"` 10758 10759 // 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. 10760 Name *string `json:"name,omitempty"` 10761 10762 // Properties of load balancer outbound rule. 10763 Properties *OutboundRulePropertiesFormat `json:"properties,omitempty"` 10764 10765 // READ-ONLY; Type of the resource. 10766 Type *string `json:"type,omitempty" azure:"ro"` 10767} 10768 10769// Outbound rule of the load balancer. 10770type OutboundRulePropertiesFormat struct { 10771 // The number of outbound ports to be used for NAT. 10772 AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` 10773 10774 // A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. 10775 BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` 10776 10777 // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to 10778 // TCP. 10779 EnableTCPReset *bool `json:"enableTcpReset,omitempty"` 10780 10781 // The Frontend IP addresses of the load balancer. 10782 FrontendIPConfigurations *[]SubResource `json:"frontendIPConfigurations,omitempty"` 10783 10784 // The timeout for the TCP idle connection. 10785 IDleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 10786 10787 // The protocol for the outbound rule in load balancer. 10788 Protocol *LoadBalancerOutboundRuleProtocol `json:"protocol,omitempty"` 10789 10790 // READ-ONLY; The provisioning state of the outbound rule resource. 10791 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10792} 10793 10794// OutboundRuleResponse is the response envelope for operations that return a OutboundRule type. 10795type OutboundRuleResponse struct { 10796 // Outbound rule of the load balancer. 10797 OutboundRule *OutboundRule 10798 10799 // RawResponse contains the underlying HTTP response. 10800 RawResponse *http.Response 10801} 10802 10803// Allow to exclude some variable satisfy the condition for the WAF check. 10804type OwaspCrsExclusionEntry struct { 10805 // The variable to be excluded. 10806 MatchVariable *OwaspCrsExclusionEntryMatchVariable `json:"matchVariable,omitempty"` 10807 10808 // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. 10809 Selector *string `json:"selector,omitempty"` 10810 10811 // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. 10812 SelectorMatchOperator *OwaspCrsExclusionEntrySelectorMatchOperator `json:"selectorMatchOperator,omitempty"` 10813} 10814 10815// P2SConnectionConfiguration Resource. 10816type P2SConnectionConfiguration struct { 10817 SubResource 10818 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10819 Etag *string `json:"etag,omitempty" azure:"ro"` 10820 10821 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 10822 Name *string `json:"name,omitempty"` 10823 10824 // Properties of the P2S connection configuration. 10825 Properties *P2SConnectionConfigurationProperties `json:"properties,omitempty"` 10826} 10827 10828// Parameters for P2SConnectionConfiguration. 10829type P2SConnectionConfigurationProperties struct { 10830 // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. 10831 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 10832 10833 // READ-ONLY; The provisioning state of the P2SConnectionConfiguration resource. 10834 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10835 10836 // The Routing Configuration indicating the associated and propagated route tables on this connection. 10837 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 10838 10839 // The reference to the address space resource which represents Address space for P2S VpnClient. 10840 VpnClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` 10841} 10842 10843// P2S Vpn connection detailed health written to sas url. 10844type P2SVpnConnectionHealth struct { 10845 // Returned sas url of the blob to which the p2s vpn connection detailed health will be written. 10846 SasURL *string `json:"sasUrl,omitempty"` 10847} 10848 10849// P2SVpnConnectionHealthPollerResponse is the response envelope for operations that asynchronously return a P2SVpnConnectionHealth type. 10850type P2SVpnConnectionHealthPollerResponse struct { 10851 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 10852 PollUntilDone func(ctx context.Context, frequency time.Duration) (P2SVpnConnectionHealthResponse, error) 10853 10854 // Poller contains an initialized poller. 10855 Poller P2SVpnConnectionHealthPoller 10856 10857 // RawResponse contains the underlying HTTP response. 10858 RawResponse *http.Response 10859} 10860 10861// List of P2S Vpn connection health request. 10862type P2SVpnConnectionHealthRequest struct { 10863 // The sas-url to download the P2S Vpn connection health detail. 10864 OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` 10865 10866 // The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for. 10867 VpnUserNamesFilter *[]string `json:"vpnUserNamesFilter,omitempty"` 10868} 10869 10870// P2SVpnConnectionHealthResponse is the response envelope for operations that return a P2SVpnConnectionHealth type. 10871type P2SVpnConnectionHealthResponse struct { 10872 // P2S Vpn connection detailed health written to sas url. 10873 P2SVpnConnectionHealth *P2SVpnConnectionHealth 10874 10875 // RawResponse contains the underlying HTTP response. 10876 RawResponse *http.Response 10877} 10878 10879// List of p2s vpn connections to be disconnected. 10880type P2SVpnConnectionRequest struct { 10881 // List of p2s vpn connection Ids. 10882 VpnConnectionIDs *[]string `json:"vpnConnectionIds,omitempty"` 10883} 10884 10885// P2SVpnGateway Resource. 10886type P2SVpnGateway struct { 10887 Resource 10888 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 10889 Etag *string `json:"etag,omitempty" azure:"ro"` 10890 10891 // Properties of the P2SVpnGateway. 10892 Properties *P2SVpnGatewayProperties `json:"properties,omitempty"` 10893} 10894 10895// P2SVpnGatewayPollerResponse is the response envelope for operations that asynchronously return a P2SVpnGateway type. 10896type P2SVpnGatewayPollerResponse struct { 10897 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 10898 PollUntilDone func(ctx context.Context, frequency time.Duration) (P2SVpnGatewayResponse, error) 10899 10900 // Poller contains an initialized poller. 10901 Poller P2SVpnGatewayPoller 10902 10903 // RawResponse contains the underlying HTTP response. 10904 RawResponse *http.Response 10905} 10906 10907// Parameters for P2SVpnGateway. 10908type P2SVpnGatewayProperties struct { 10909 // List of all customer specified DNS servers IP addresses. 10910 CustomDNSServers *[]string `json:"customDnsServers,omitempty"` 10911 10912 // Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. 10913 IsRoutingPreferenceInternet *bool `json:"isRoutingPreferenceInternet,omitempty"` 10914 10915 // List of all p2s connection configurations of the gateway. 10916 P2SConnectionConfigurations *[]P2SConnectionConfiguration `json:"p2SConnectionConfigurations,omitempty"` 10917 10918 // READ-ONLY; The provisioning state of the P2S VPN gateway resource. 10919 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 10920 10921 // The VirtualHub to which the gateway belongs. 10922 VirtualHub *SubResource `json:"virtualHub,omitempty"` 10923 10924 // READ-ONLY; All P2S VPN clients' connection health status. 10925 VpnClientConnectionHealth *VpnClientConnectionHealth `json:"vpnClientConnectionHealth,omitempty" azure:"ro"` 10926 10927 // The scale unit for this p2s vpn gateway. 10928 VpnGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` 10929 10930 // The VpnServerConfiguration to which the p2sVpnGateway is attached to. 10931 VpnServerConfiguration *SubResource `json:"vpnServerConfiguration,omitempty"` 10932} 10933 10934// P2SVpnGatewayResponse is the response envelope for operations that return a P2SVpnGateway type. 10935type P2SVpnGatewayResponse struct { 10936 // P2SVpnGateway Resource. 10937 P2SVpnGateway *P2SVpnGateway 10938 10939 // RawResponse contains the underlying HTTP response. 10940 RawResponse *http.Response 10941} 10942 10943// P2SVpnGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the P2SVpnGateways.BeginCreateOrUpdate method. 10944type P2SVpnGatewaysBeginCreateOrUpdateOptions struct { 10945 // placeholder for future optional parameters 10946} 10947 10948// P2SVpnGatewaysBeginDeleteOptions contains the optional parameters for the P2SVpnGateways.BeginDelete method. 10949type P2SVpnGatewaysBeginDeleteOptions struct { 10950 // placeholder for future optional parameters 10951} 10952 10953// P2SVpnGatewaysBeginDisconnectP2SVpnConnectionsOptions contains the optional parameters for the P2SVpnGateways.BeginDisconnectP2SVpnConnections method. 10954type P2SVpnGatewaysBeginDisconnectP2SVpnConnectionsOptions struct { 10955 // placeholder for future optional parameters 10956} 10957 10958// P2SVpnGatewaysBeginGenerateVpnProfileOptions contains the optional parameters for the P2SVpnGateways.BeginGenerateVpnProfile method. 10959type P2SVpnGatewaysBeginGenerateVpnProfileOptions struct { 10960 // placeholder for future optional parameters 10961} 10962 10963// P2SVpnGatewaysBeginGetP2SVpnConnectionHealthDetailedOptions contains the optional parameters for the P2SVpnGateways.BeginGetP2SVpnConnectionHealthDetailed 10964// method. 10965type P2SVpnGatewaysBeginGetP2SVpnConnectionHealthDetailedOptions struct { 10966 // placeholder for future optional parameters 10967} 10968 10969// P2SVpnGatewaysBeginGetP2SVpnConnectionHealthOptions contains the optional parameters for the P2SVpnGateways.BeginGetP2SVpnConnectionHealth method. 10970type P2SVpnGatewaysBeginGetP2SVpnConnectionHealthOptions struct { 10971 // placeholder for future optional parameters 10972} 10973 10974// P2SVpnGatewaysBeginResetOptions contains the optional parameters for the P2SVpnGateways.BeginReset method. 10975type P2SVpnGatewaysBeginResetOptions struct { 10976 // placeholder for future optional parameters 10977} 10978 10979// P2SVpnGatewaysBeginUpdateTagsOptions contains the optional parameters for the P2SVpnGateways.BeginUpdateTags method. 10980type P2SVpnGatewaysBeginUpdateTagsOptions struct { 10981 // placeholder for future optional parameters 10982} 10983 10984// P2SVpnGatewaysGetOptions contains the optional parameters for the P2SVpnGateways.Get method. 10985type P2SVpnGatewaysGetOptions struct { 10986 // placeholder for future optional parameters 10987} 10988 10989// P2SVpnGatewaysListByResourceGroupOptions contains the optional parameters for the P2SVpnGateways.ListByResourceGroup method. 10990type P2SVpnGatewaysListByResourceGroupOptions struct { 10991 // placeholder for future optional parameters 10992} 10993 10994// P2SVpnGatewaysListOptions contains the optional parameters for the P2SVpnGateways.List method. 10995type P2SVpnGatewaysListOptions struct { 10996 // placeholder for future optional parameters 10997} 10998 10999// Vpn Client Parameters for package generation. 11000type P2SVpnProfileParameters struct { 11001 // VPN client authentication method. 11002 AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` 11003} 11004 11005// Parameters that define the create packet capture operation. 11006type PacketCapture struct { 11007 // Properties of the packet capture. 11008 Properties *PacketCaptureParameters `json:"properties,omitempty"` 11009} 11010 11011// Filter that is applied to packet capture request. Multiple filters can be applied. 11012type PacketCaptureFilter struct { 11013 // 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 11014 // entries. Multiple ranges not currently 11015 // supported. Mixing ranges with multiple entries not currently supported. Default = null. 11016 LocalIPAddress *string `json:"localIPAddress,omitempty"` 11017 11018 // 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. 11019 // Mixing ranges with multiple entries not 11020 // currently supported. Default = null. 11021 LocalPort *string `json:"localPort,omitempty"` 11022 11023 // Protocol to be filtered on. 11024 Protocol *PcProtocol `json:"protocol,omitempty"` 11025 11026 // 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 11027 // entries. Multiple ranges not currently 11028 // supported. Mixing ranges with multiple entries not currently supported. Default = null. 11029 RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` 11030 11031 // 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 11032 // supported. Mixing ranges with multiple entries not 11033 // currently supported. Default = null. 11034 RemotePort *string `json:"remotePort,omitempty"` 11035} 11036 11037// List of packet capture sessions. 11038type PacketCaptureListResult struct { 11039 // Information about packet capture sessions. 11040 Value *[]PacketCaptureResult `json:"value,omitempty"` 11041} 11042 11043// PacketCaptureListResultResponse is the response envelope for operations that return a PacketCaptureListResult type. 11044type PacketCaptureListResultResponse struct { 11045 // List of packet capture sessions. 11046 PacketCaptureListResult *PacketCaptureListResult 11047 11048 // RawResponse contains the underlying HTTP response. 11049 RawResponse *http.Response 11050} 11051 11052// Parameters that define the create packet capture operation. 11053type PacketCaptureParameters struct { 11054 // Number of bytes captured per packet, the remaining bytes are truncated. 11055 BytesToCapturePerPacket *int64 `json:"bytesToCapturePerPacket,omitempty"` 11056 11057 // A list of packet capture filters. 11058 Filters *[]PacketCaptureFilter `json:"filters,omitempty"` 11059 11060 // The storage location for a packet capture session. 11061 StorageLocation *PacketCaptureStorageLocation `json:"storageLocation,omitempty"` 11062 11063 // The ID of the targeted resource, only VM is currently supported. 11064 Target *string `json:"target,omitempty"` 11065 11066 // Maximum duration of the capture session in seconds. 11067 TimeLimitInSeconds *int32 `json:"timeLimitInSeconds,omitempty"` 11068 11069 // Maximum size of the capture output. 11070 TotalBytesPerSession *int64 `json:"totalBytesPerSession,omitempty"` 11071} 11072 11073// Status of packet capture session. 11074type PacketCaptureQueryStatusResult struct { 11075 // The start time of the packet capture session. 11076 CaptureStartTime *time.Time `json:"captureStartTime,omitempty"` 11077 11078 // The ID of the packet capture resource. 11079 ID *string `json:"id,omitempty"` 11080 11081 // The name of the packet capture resource. 11082 Name *string `json:"name,omitempty"` 11083 11084 // List of errors of packet capture session. 11085 PacketCaptureError *[]PcError `json:"packetCaptureError,omitempty"` 11086 11087 // The status of the packet capture session. 11088 PacketCaptureStatus *PcStatus `json:"packetCaptureStatus,omitempty"` 11089 11090 // The reason the current packet capture session was stopped. 11091 StopReason *string `json:"stopReason,omitempty"` 11092} 11093 11094// MarshalJSON implements the json.Marshaller interface for type PacketCaptureQueryStatusResult. 11095func (p PacketCaptureQueryStatusResult) MarshalJSON() ([]byte, error) { 11096 objectMap := make(map[string]interface{}) 11097 if p.CaptureStartTime != nil { 11098 objectMap["captureStartTime"] = (*timeRFC3339)(p.CaptureStartTime) 11099 } 11100 if p.ID != nil { 11101 objectMap["id"] = p.ID 11102 } 11103 if p.Name != nil { 11104 objectMap["name"] = p.Name 11105 } 11106 if p.PacketCaptureError != nil { 11107 objectMap["packetCaptureError"] = p.PacketCaptureError 11108 } 11109 if p.PacketCaptureStatus != nil { 11110 objectMap["packetCaptureStatus"] = p.PacketCaptureStatus 11111 } 11112 if p.StopReason != nil { 11113 objectMap["stopReason"] = p.StopReason 11114 } 11115 return json.Marshal(objectMap) 11116} 11117 11118// UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureQueryStatusResult. 11119func (p *PacketCaptureQueryStatusResult) UnmarshalJSON(data []byte) error { 11120 var rawMsg map[string]*json.RawMessage 11121 if err := json.Unmarshal(data, &rawMsg); err != nil { 11122 return err 11123 } 11124 for key, val := range rawMsg { 11125 var err error 11126 switch key { 11127 case "captureStartTime": 11128 if val != nil { 11129 var aux timeRFC3339 11130 err = json.Unmarshal(*val, &aux) 11131 p.CaptureStartTime = (*time.Time)(&aux) 11132 } 11133 delete(rawMsg, key) 11134 case "id": 11135 if val != nil { 11136 err = json.Unmarshal(*val, &p.ID) 11137 } 11138 delete(rawMsg, key) 11139 case "name": 11140 if val != nil { 11141 err = json.Unmarshal(*val, &p.Name) 11142 } 11143 delete(rawMsg, key) 11144 case "packetCaptureError": 11145 if val != nil { 11146 err = json.Unmarshal(*val, &p.PacketCaptureError) 11147 } 11148 delete(rawMsg, key) 11149 case "packetCaptureStatus": 11150 if val != nil { 11151 err = json.Unmarshal(*val, &p.PacketCaptureStatus) 11152 } 11153 delete(rawMsg, key) 11154 case "stopReason": 11155 if val != nil { 11156 err = json.Unmarshal(*val, &p.StopReason) 11157 } 11158 delete(rawMsg, key) 11159 } 11160 if err != nil { 11161 return err 11162 } 11163 } 11164 return nil 11165} 11166 11167// PacketCaptureQueryStatusResultPollerResponse is the response envelope for operations that asynchronously return a PacketCaptureQueryStatusResult type. 11168type PacketCaptureQueryStatusResultPollerResponse struct { 11169 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 11170 PollUntilDone func(ctx context.Context, frequency time.Duration) (PacketCaptureQueryStatusResultResponse, error) 11171 11172 // Poller contains an initialized poller. 11173 Poller PacketCaptureQueryStatusResultPoller 11174 11175 // RawResponse contains the underlying HTTP response. 11176 RawResponse *http.Response 11177} 11178 11179// PacketCaptureQueryStatusResultResponse is the response envelope for operations that return a PacketCaptureQueryStatusResult type. 11180type PacketCaptureQueryStatusResultResponse struct { 11181 // Status of packet capture session. 11182 PacketCaptureQueryStatusResult *PacketCaptureQueryStatusResult 11183 11184 // RawResponse contains the underlying HTTP response. 11185 RawResponse *http.Response 11186} 11187 11188// Information about packet capture session. 11189type PacketCaptureResult struct { 11190 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11191 Etag *string `json:"etag,omitempty" azure:"ro"` 11192 11193 // READ-ONLY; ID of the packet capture operation. 11194 ID *string `json:"id,omitempty" azure:"ro"` 11195 11196 // READ-ONLY; Name of the packet capture session. 11197 Name *string `json:"name,omitempty" azure:"ro"` 11198 11199 // Properties of the packet capture result. 11200 Properties *PacketCaptureResultProperties `json:"properties,omitempty"` 11201} 11202 11203// PacketCaptureResultPollerResponse is the response envelope for operations that asynchronously return a PacketCaptureResult type. 11204type PacketCaptureResultPollerResponse struct { 11205 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 11206 PollUntilDone func(ctx context.Context, frequency time.Duration) (PacketCaptureResultResponse, error) 11207 11208 // Poller contains an initialized poller. 11209 Poller PacketCaptureResultPoller 11210 11211 // RawResponse contains the underlying HTTP response. 11212 RawResponse *http.Response 11213} 11214 11215// The properties of a packet capture session. 11216type PacketCaptureResultProperties struct { 11217 PacketCaptureParameters 11218 // READ-ONLY; The provisioning state of the packet capture session. 11219 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11220} 11221 11222// PacketCaptureResultResponse is the response envelope for operations that return a PacketCaptureResult type. 11223type PacketCaptureResultResponse struct { 11224 // Information about packet capture session. 11225 PacketCaptureResult *PacketCaptureResult 11226 11227 // RawResponse contains the underlying HTTP response. 11228 RawResponse *http.Response 11229} 11230 11231// The storage location for a packet capture session. 11232type PacketCaptureStorageLocation struct { 11233 // 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. 11234 // Required if no storage ID is provided, otherwise 11235 // optional. 11236 FilePath *string `json:"filePath,omitempty"` 11237 11238 // The ID of the storage account to save the packet capture session. Required if no local file path is provided. 11239 StorageID *string `json:"storageId,omitempty"` 11240 11241 // 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. 11242 StoragePath *string `json:"storagePath,omitempty"` 11243} 11244 11245// PacketCapturesBeginCreateOptions contains the optional parameters for the PacketCaptures.BeginCreate method. 11246type PacketCapturesBeginCreateOptions struct { 11247 // placeholder for future optional parameters 11248} 11249 11250// PacketCapturesBeginDeleteOptions contains the optional parameters for the PacketCaptures.BeginDelete method. 11251type PacketCapturesBeginDeleteOptions struct { 11252 // placeholder for future optional parameters 11253} 11254 11255// PacketCapturesBeginGetStatusOptions contains the optional parameters for the PacketCaptures.BeginGetStatus method. 11256type PacketCapturesBeginGetStatusOptions struct { 11257 // placeholder for future optional parameters 11258} 11259 11260// PacketCapturesBeginStopOptions contains the optional parameters for the PacketCaptures.BeginStop method. 11261type PacketCapturesBeginStopOptions struct { 11262 // placeholder for future optional parameters 11263} 11264 11265// PacketCapturesGetOptions contains the optional parameters for the PacketCaptures.Get method. 11266type PacketCapturesGetOptions struct { 11267 // placeholder for future optional parameters 11268} 11269 11270// PacketCapturesListOptions contains the optional parameters for the PacketCaptures.List method. 11271type PacketCapturesListOptions struct { 11272 // placeholder for future optional parameters 11273} 11274 11275// Route Filter Resource. 11276type PatchRouteFilter struct { 11277 SubResource 11278 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11279 Etag *string `json:"etag,omitempty" azure:"ro"` 11280 11281 // READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. 11282 Name *string `json:"name,omitempty" azure:"ro"` 11283 11284 // Properties of the route filter. 11285 Properties *RouteFilterPropertiesFormat `json:"properties,omitempty"` 11286 11287 // Resource tags. 11288 Tags *map[string]string `json:"tags,omitempty"` 11289 11290 // READ-ONLY; Resource type. 11291 Type *string `json:"type,omitempty" azure:"ro"` 11292} 11293 11294// Route Filter Rule Resource. 11295type PatchRouteFilterRule struct { 11296 SubResource 11297 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11298 Etag *string `json:"etag,omitempty" azure:"ro"` 11299 11300 // READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. 11301 Name *string `json:"name,omitempty" azure:"ro"` 11302 11303 // Properties of the route filter rule. 11304 Properties *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` 11305} 11306 11307// Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 11308type PeerExpressRouteCircuitConnection struct { 11309 SubResource 11310 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11311 Etag *string `json:"etag,omitempty" azure:"ro"` 11312 11313 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 11314 Name *string `json:"name,omitempty"` 11315 11316 // Properties of the peer express route circuit connection. 11317 Properties *PeerExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` 11318 11319 // READ-ONLY; Type of the resource. 11320 Type *string `json:"type,omitempty" azure:"ro"` 11321} 11322 11323// Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit. 11324type PeerExpressRouteCircuitConnectionListResult struct { 11325 // The URL to get the next set of results. 11326 NextLink *string `json:"nextLink,omitempty"` 11327 11328 // The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit. 11329 Value *[]PeerExpressRouteCircuitConnection `json:"value,omitempty"` 11330} 11331 11332// PeerExpressRouteCircuitConnectionListResultResponse is the response envelope for operations that return a PeerExpressRouteCircuitConnectionListResult 11333// type. 11334type PeerExpressRouteCircuitConnectionListResultResponse struct { 11335 // Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit. 11336 PeerExpressRouteCircuitConnectionListResult *PeerExpressRouteCircuitConnectionListResult 11337 11338 // RawResponse contains the underlying HTTP response. 11339 RawResponse *http.Response 11340} 11341 11342// Properties of the peer express route circuit connection. 11343type PeerExpressRouteCircuitConnectionPropertiesFormat struct { 11344 // /29 IP address space to carve out Customer addresses for tunnels. 11345 AddressPrefix *string `json:"addressPrefix,omitempty"` 11346 11347 // The resource guid of the authorization used for the express route circuit connection. 11348 AuthResourceGUID *string `json:"authResourceGuid,omitempty"` 11349 11350 // READ-ONLY; Express Route Circuit connection state. 11351 CircuitConnectionStatus *CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty" azure:"ro"` 11352 11353 // The name of the express route circuit connection resource. 11354 ConnectionName *string `json:"connectionName,omitempty"` 11355 11356 // Reference to Express Route Circuit Private Peering Resource of the circuit. 11357 ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` 11358 11359 // Reference to Express Route Circuit Private Peering Resource of the peered circuit. 11360 PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` 11361 11362 // READ-ONLY; The provisioning state of the peer express route circuit connection resource. 11363 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11364} 11365 11366// PeerExpressRouteCircuitConnectionResponse is the response envelope for operations that return a PeerExpressRouteCircuitConnection type. 11367type PeerExpressRouteCircuitConnectionResponse struct { 11368 // Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 11369 PeerExpressRouteCircuitConnection *PeerExpressRouteCircuitConnection 11370 11371 // RawResponse contains the underlying HTTP response. 11372 RawResponse *http.Response 11373} 11374 11375// PeerExpressRouteCircuitConnectionsGetOptions contains the optional parameters for the PeerExpressRouteCircuitConnections.Get method. 11376type PeerExpressRouteCircuitConnectionsGetOptions struct { 11377 // placeholder for future optional parameters 11378} 11379 11380// PeerExpressRouteCircuitConnectionsListOptions contains the optional parameters for the PeerExpressRouteCircuitConnections.List method. 11381type PeerExpressRouteCircuitConnectionsListOptions struct { 11382 // placeholder for future optional parameters 11383} 11384 11385// Peer routing details. 11386type PeerRoute struct { 11387 // READ-ONLY; The route's AS path sequence. 11388 AsPath *string `json:"asPath,omitempty" azure:"ro"` 11389 11390 // READ-ONLY; The peer's local address. 11391 LocalAddress *string `json:"localAddress,omitempty" azure:"ro"` 11392 11393 // READ-ONLY; The route's network prefix. 11394 Network *string `json:"network,omitempty" azure:"ro"` 11395 11396 // READ-ONLY; The route's next hop. 11397 NextHop *string `json:"nextHop,omitempty" azure:"ro"` 11398 11399 // READ-ONLY; The source this route was learned from. 11400 Origin *string `json:"origin,omitempty" azure:"ro"` 11401 11402 // READ-ONLY; The peer this route was learned from. 11403 SourcePeer *string `json:"sourcePeer,omitempty" azure:"ro"` 11404 11405 // READ-ONLY; The route's weight. 11406 Weight *int32 `json:"weight,omitempty" azure:"ro"` 11407} 11408 11409// List of virtual router peer routes. 11410type PeerRouteList struct { 11411 // List of peer routes. 11412 Value *[]PeerRoute `json:"value,omitempty"` 11413} 11414 11415// PeerRouteListPollerResponse is the response envelope for operations that asynchronously return a PeerRouteList type. 11416type PeerRouteListPollerResponse struct { 11417 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 11418 PollUntilDone func(ctx context.Context, frequency time.Duration) (PeerRouteListResponse, error) 11419 11420 // Poller contains an initialized poller. 11421 Poller PeerRouteListPoller 11422 11423 // RawResponse contains the underlying HTTP response. 11424 RawResponse *http.Response 11425} 11426 11427// PeerRouteListResponse is the response envelope for operations that return a PeerRouteList type. 11428type PeerRouteListResponse struct { 11429 // List of virtual router peer routes. 11430 PeerRouteList *PeerRouteList 11431 11432 // RawResponse contains the underlying HTTP response. 11433 RawResponse *http.Response 11434} 11435 11436// Defines contents of a web application firewall global configuration. 11437type PolicySettings struct { 11438 // Maximum file upload size in Mb for WAF. 11439 FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` 11440 11441 // Maximum request body size in Kb for WAF. 11442 MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` 11443 11444 // The mode of the policy. 11445 Mode *WebApplicationFirewallMode `json:"mode,omitempty"` 11446 11447 // Whether to allow WAF to check request Body. 11448 RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` 11449 11450 // The state of the policy. 11451 State *WebApplicationFirewallEnabledState `json:"state,omitempty"` 11452} 11453 11454// Details of PrepareNetworkPolicies for Subnet. 11455type PrepareNetworkPoliciesRequest struct { 11456 // A list of NetworkIntentPolicyConfiguration. 11457 NetworkIntentPolicyConfigurations *[]NetworkIntentPolicyConfiguration `json:"networkIntentPolicyConfigurations,omitempty"` 11458 11459 // The name of the service for which subnet is being prepared for. 11460 ServiceName *string `json:"serviceName,omitempty"` 11461} 11462 11463// PrivateDnsZoneConfig resource. 11464type PrivateDNSZoneConfig struct { 11465 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 11466 Name *string `json:"name,omitempty"` 11467 11468 // Properties of the private dns zone configuration. 11469 Properties *PrivateDNSZonePropertiesFormat `json:"properties,omitempty"` 11470} 11471 11472// Private dns zone group resource. 11473type PrivateDNSZoneGroup struct { 11474 SubResource 11475 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11476 Etag *string `json:"etag,omitempty" azure:"ro"` 11477 11478 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 11479 Name *string `json:"name,omitempty"` 11480 11481 // Properties of the private dns zone group. 11482 Properties *PrivateDNSZoneGroupPropertiesFormat `json:"properties,omitempty"` 11483} 11484 11485// Response for the ListPrivateDnsZoneGroups API service call. 11486type PrivateDNSZoneGroupListResult struct { 11487 // READ-ONLY; The URL to get the next set of results. 11488 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 11489 11490 // A list of private dns zone group resources in a private endpoint. 11491 Value *[]PrivateDNSZoneGroup `json:"value,omitempty"` 11492} 11493 11494// PrivateDNSZoneGroupListResultResponse is the response envelope for operations that return a PrivateDNSZoneGroupListResult type. 11495type PrivateDNSZoneGroupListResultResponse struct { 11496 // Response for the ListPrivateDnsZoneGroups API service call. 11497 PrivateDNSZoneGroupListResult *PrivateDNSZoneGroupListResult 11498 11499 // RawResponse contains the underlying HTTP response. 11500 RawResponse *http.Response 11501} 11502 11503// PrivateDNSZoneGroupPollerResponse is the response envelope for operations that asynchronously return a PrivateDNSZoneGroup type. 11504type PrivateDNSZoneGroupPollerResponse struct { 11505 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 11506 PollUntilDone func(ctx context.Context, frequency time.Duration) (PrivateDNSZoneGroupResponse, error) 11507 11508 // Poller contains an initialized poller. 11509 Poller PrivateDNSZoneGroupPoller 11510 11511 // RawResponse contains the underlying HTTP response. 11512 RawResponse *http.Response 11513} 11514 11515// Properties of the private dns zone group. 11516type PrivateDNSZoneGroupPropertiesFormat struct { 11517 // A collection of private dns zone configurations of the private dns zone group. 11518 PrivateDNSZoneConfigs *[]PrivateDNSZoneConfig `json:"privateDnsZoneConfigs,omitempty"` 11519 11520 // READ-ONLY; The provisioning state of the private dns zone group resource. 11521 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11522} 11523 11524// PrivateDNSZoneGroupResponse is the response envelope for operations that return a PrivateDNSZoneGroup type. 11525type PrivateDNSZoneGroupResponse struct { 11526 // Private dns zone group resource. 11527 PrivateDNSZoneGroup *PrivateDNSZoneGroup 11528 11529 // RawResponse contains the underlying HTTP response. 11530 RawResponse *http.Response 11531} 11532 11533// PrivateDNSZoneGroupsBeginCreateOrUpdateOptions contains the optional parameters for the PrivateDNSZoneGroups.BeginCreateOrUpdate method. 11534type PrivateDNSZoneGroupsBeginCreateOrUpdateOptions struct { 11535 // placeholder for future optional parameters 11536} 11537 11538// PrivateDNSZoneGroupsBeginDeleteOptions contains the optional parameters for the PrivateDNSZoneGroups.BeginDelete method. 11539type PrivateDNSZoneGroupsBeginDeleteOptions struct { 11540 // placeholder for future optional parameters 11541} 11542 11543// PrivateDNSZoneGroupsGetOptions contains the optional parameters for the PrivateDNSZoneGroups.Get method. 11544type PrivateDNSZoneGroupsGetOptions struct { 11545 // placeholder for future optional parameters 11546} 11547 11548// PrivateDNSZoneGroupsListOptions contains the optional parameters for the PrivateDNSZoneGroups.List method. 11549type PrivateDNSZoneGroupsListOptions struct { 11550 // placeholder for future optional parameters 11551} 11552 11553// Properties of the private dns zone configuration resource. 11554type PrivateDNSZonePropertiesFormat struct { 11555 // The resource id of the private dns zone. 11556 PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty"` 11557 11558 // READ-ONLY; A collection of information regarding a recordSet, holding information to identify private resources. 11559 RecordSets *[]RecordSet `json:"recordSets,omitempty" azure:"ro"` 11560} 11561 11562// Private endpoint resource. 11563type PrivateEndpoint struct { 11564 Resource 11565 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11566 Etag *string `json:"etag,omitempty" azure:"ro"` 11567 11568 // Properties of the private endpoint. 11569 Properties *PrivateEndpointProperties `json:"properties,omitempty"` 11570} 11571 11572// PrivateEndpointConnection resource. 11573type PrivateEndpointConnection struct { 11574 SubResource 11575 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11576 Etag *string `json:"etag,omitempty" azure:"ro"` 11577 11578 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 11579 Name *string `json:"name,omitempty"` 11580 11581 // Properties of the private end point connection. 11582 Properties *PrivateEndpointConnectionProperties `json:"properties,omitempty"` 11583 11584 // READ-ONLY; The resource type. 11585 Type *string `json:"type,omitempty" azure:"ro"` 11586} 11587 11588// Response for the ListPrivateEndpointConnection API service call. 11589type PrivateEndpointConnectionListResult struct { 11590 // READ-ONLY; The URL to get the next set of results. 11591 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 11592 11593 // A list of PrivateEndpointConnection resources for a specific private link service. 11594 Value *[]PrivateEndpointConnection `json:"value,omitempty"` 11595} 11596 11597// PrivateEndpointConnectionListResultResponse is the response envelope for operations that return a PrivateEndpointConnectionListResult type. 11598type PrivateEndpointConnectionListResultResponse struct { 11599 // Response for the ListPrivateEndpointConnection API service call. 11600 PrivateEndpointConnectionListResult *PrivateEndpointConnectionListResult 11601 11602 // RawResponse contains the underlying HTTP response. 11603 RawResponse *http.Response 11604} 11605 11606// Properties of the PrivateEndpointConnectProperties. 11607type PrivateEndpointConnectionProperties struct { 11608 // READ-ONLY; The consumer link id. 11609 LinkIDentifier *string `json:"linkIdentifier,omitempty" azure:"ro"` 11610 11611 // READ-ONLY; The resource of private end point. 11612 PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty" azure:"ro"` 11613 11614 // A collection of information about the state of the connection between service consumer and provider. 11615 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` 11616 11617 // READ-ONLY; The provisioning state of the private endpoint connection resource. 11618 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11619} 11620 11621// PrivateEndpointConnectionResponse is the response envelope for operations that return a PrivateEndpointConnection type. 11622type PrivateEndpointConnectionResponse struct { 11623 // PrivateEndpointConnection resource. 11624 PrivateEndpointConnection *PrivateEndpointConnection 11625 11626 // RawResponse contains the underlying HTTP response. 11627 RawResponse *http.Response 11628} 11629 11630// Response for the ListPrivateEndpoints API service call. 11631type PrivateEndpointListResult struct { 11632 // READ-ONLY; The URL to get the next set of results. 11633 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 11634 11635 // A list of private endpoint resources in a resource group. 11636 Value *[]PrivateEndpoint `json:"value,omitempty"` 11637} 11638 11639// PrivateEndpointListResultResponse is the response envelope for operations that return a PrivateEndpointListResult type. 11640type PrivateEndpointListResultResponse struct { 11641 // Response for the ListPrivateEndpoints API service call. 11642 PrivateEndpointListResult *PrivateEndpointListResult 11643 11644 // RawResponse contains the underlying HTTP response. 11645 RawResponse *http.Response 11646} 11647 11648// PrivateEndpointPollerResponse is the response envelope for operations that asynchronously return a PrivateEndpoint type. 11649type PrivateEndpointPollerResponse struct { 11650 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 11651 PollUntilDone func(ctx context.Context, frequency time.Duration) (PrivateEndpointResponse, error) 11652 11653 // Poller contains an initialized poller. 11654 Poller PrivateEndpointPoller 11655 11656 // RawResponse contains the underlying HTTP response. 11657 RawResponse *http.Response 11658} 11659 11660// Properties of the private endpoint. 11661type PrivateEndpointProperties struct { 11662 // An array of custom dns configurations. 11663 CustomDNSConfigs *[]CustomDNSConfigPropertiesFormat `json:"customDnsConfigs,omitempty"` 11664 11665 // 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 11666 // remote resource. 11667 ManualPrivateLinkServiceConnections *[]PrivateLinkServiceConnection `json:"manualPrivateLinkServiceConnections,omitempty"` 11668 11669 // READ-ONLY; An array of references to the network interfaces created for this private endpoint. 11670 NetworkInterfaces *[]NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` 11671 11672 // A grouping of information about the connection to the remote resource. 11673 PrivateLinkServiceConnections *[]PrivateLinkServiceConnection `json:"privateLinkServiceConnections,omitempty"` 11674 11675 // READ-ONLY; The provisioning state of the private endpoint resource. 11676 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11677 11678 // The ID of the subnet from which the private IP will be allocated. 11679 Subnet *Subnet `json:"subnet,omitempty"` 11680} 11681 11682// PrivateEndpointResponse is the response envelope for operations that return a PrivateEndpoint type. 11683type PrivateEndpointResponse struct { 11684 // Private endpoint resource. 11685 PrivateEndpoint *PrivateEndpoint 11686 11687 // RawResponse contains the underlying HTTP response. 11688 RawResponse *http.Response 11689} 11690 11691// PrivateEndpointsBeginCreateOrUpdateOptions contains the optional parameters for the PrivateEndpoints.BeginCreateOrUpdate method. 11692type PrivateEndpointsBeginCreateOrUpdateOptions struct { 11693 // placeholder for future optional parameters 11694} 11695 11696// PrivateEndpointsBeginDeleteOptions contains the optional parameters for the PrivateEndpoints.BeginDelete method. 11697type PrivateEndpointsBeginDeleteOptions struct { 11698 // placeholder for future optional parameters 11699} 11700 11701// PrivateEndpointsGetOptions contains the optional parameters for the PrivateEndpoints.Get method. 11702type PrivateEndpointsGetOptions struct { 11703 // Expands referenced resources. 11704 Expand *string 11705} 11706 11707// PrivateEndpointsListBySubscriptionOptions contains the optional parameters for the PrivateEndpoints.ListBySubscription method. 11708type PrivateEndpointsListBySubscriptionOptions struct { 11709 // placeholder for future optional parameters 11710} 11711 11712// PrivateEndpointsListOptions contains the optional parameters for the PrivateEndpoints.List method. 11713type PrivateEndpointsListOptions struct { 11714 // placeholder for future optional parameters 11715} 11716 11717// Private link service resource. 11718type PrivateLinkService struct { 11719 Resource 11720 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11721 Etag *string `json:"etag,omitempty" azure:"ro"` 11722 11723 // Properties of the private link service. 11724 Properties *PrivateLinkServiceProperties `json:"properties,omitempty"` 11725} 11726 11727// PrivateLinkServiceConnection resource. 11728type PrivateLinkServiceConnection struct { 11729 SubResource 11730 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11731 Etag *string `json:"etag,omitempty" azure:"ro"` 11732 11733 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 11734 Name *string `json:"name,omitempty"` 11735 11736 // Properties of the private link service connection. 11737 Properties *PrivateLinkServiceConnectionProperties `json:"properties,omitempty"` 11738 11739 // READ-ONLY; The resource type. 11740 Type *string `json:"type,omitempty" azure:"ro"` 11741} 11742 11743// Properties of the PrivateLinkServiceConnection. 11744type PrivateLinkServiceConnectionProperties struct { 11745 // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. 11746 GroupIDs *[]string `json:"groupIds,omitempty"` 11747 11748 // A collection of read-only information about the state of the connection to the remote resource. 11749 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` 11750 11751 // The resource id of private link service. 11752 PrivateLinkServiceID *string `json:"privateLinkServiceId,omitempty"` 11753 11754 // READ-ONLY; The provisioning state of the private link service connection resource. 11755 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11756 11757 // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. 11758 RequestMessage *string `json:"requestMessage,omitempty"` 11759} 11760 11761// A collection of information about the state of the connection between service consumer and provider. 11762type PrivateLinkServiceConnectionState struct { 11763 // A message indicating if changes on the service provider require any updates on the consumer. 11764 ActionsRequired *string `json:"actionsRequired,omitempty"` 11765 11766 // The reason for approval/rejection of the connection. 11767 Description *string `json:"description,omitempty"` 11768 11769 // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. 11770 Status *string `json:"status,omitempty"` 11771} 11772 11773// The private link service ip configuration. 11774type PrivateLinkServiceIPConfiguration struct { 11775 SubResource 11776 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11777 Etag *string `json:"etag,omitempty" azure:"ro"` 11778 11779 // The name of private link service ip configuration. 11780 Name *string `json:"name,omitempty"` 11781 11782 // Properties of the private link service ip configuration. 11783 Properties *PrivateLinkServiceIPConfigurationProperties `json:"properties,omitempty"` 11784 11785 // READ-ONLY; The resource type. 11786 Type *string `json:"type,omitempty" azure:"ro"` 11787} 11788 11789// Properties of private link service IP configuration. 11790type PrivateLinkServiceIPConfigurationProperties struct { 11791 // Whether the ip configuration is primary or not. 11792 Primary *bool `json:"primary,omitempty"` 11793 11794 // The private IP address of the IP configuration. 11795 PrivateIPAddress *string `json:"privateIPAddress,omitempty"` 11796 11797 // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. 11798 PrivateIPAddressVersion *IPVersion `json:"privateIPAddressVersion,omitempty"` 11799 11800 // The private IP address allocation method. 11801 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 11802 11803 // READ-ONLY; The provisioning state of the private link service IP configuration resource. 11804 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11805 11806 // The reference to the subnet resource. 11807 Subnet *Subnet `json:"subnet,omitempty"` 11808} 11809 11810// Response for the ListPrivateLinkService API service call. 11811type PrivateLinkServiceListResult struct { 11812 // READ-ONLY; The URL to get the next set of results. 11813 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 11814 11815 // A list of PrivateLinkService resources in a resource group. 11816 Value *[]PrivateLinkService `json:"value,omitempty"` 11817} 11818 11819// PrivateLinkServiceListResultResponse is the response envelope for operations that return a PrivateLinkServiceListResult type. 11820type PrivateLinkServiceListResultResponse struct { 11821 // Response for the ListPrivateLinkService API service call. 11822 PrivateLinkServiceListResult *PrivateLinkServiceListResult 11823 11824 // RawResponse contains the underlying HTTP response. 11825 RawResponse *http.Response 11826} 11827 11828// PrivateLinkServicePollerResponse is the response envelope for operations that asynchronously return a PrivateLinkService type. 11829type PrivateLinkServicePollerResponse struct { 11830 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 11831 PollUntilDone func(ctx context.Context, frequency time.Duration) (PrivateLinkServiceResponse, error) 11832 11833 // Poller contains an initialized poller. 11834 Poller PrivateLinkServicePoller 11835 11836 // RawResponse contains the underlying HTTP response. 11837 RawResponse *http.Response 11838} 11839 11840// Properties of the private link service. 11841type PrivateLinkServiceProperties struct { 11842 // READ-ONLY; The alias of the private link service. 11843 Alias *string `json:"alias,omitempty" azure:"ro"` 11844 11845 // The auto-approval list of the private link service. 11846 AutoApproval *ResourceSet `json:"autoApproval,omitempty"` 11847 11848 // Whether the private link service is enabled for proxy protocol or not. 11849 EnableProxyProtocol *bool `json:"enableProxyProtocol,omitempty"` 11850 11851 // The list of Fqdn. 11852 Fqdns *[]string `json:"fqdns,omitempty"` 11853 11854 // An array of private link service IP configurations. 11855 IPConfigurations *[]PrivateLinkServiceIPConfiguration `json:"ipConfigurations,omitempty"` 11856 11857 // An array of references to the load balancer IP configurations. 11858 LoadBalancerFrontendIPConfigurations *[]FrontendIPConfiguration `json:"loadBalancerFrontendIpConfigurations,omitempty"` 11859 11860 // READ-ONLY; An array of references to the network interfaces created for this private link service. 11861 NetworkInterfaces *[]NetworkInterface `json:"networkInterfaces,omitempty" azure:"ro"` 11862 11863 // READ-ONLY; An array of list about connections to the private endpoint. 11864 PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty" azure:"ro"` 11865 11866 // READ-ONLY; The provisioning state of the private link service resource. 11867 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 11868 11869 // The visibility list of the private link service. 11870 Visibility *ResourceSet `json:"visibility,omitempty"` 11871} 11872 11873// The auto-approval list of the private link service. 11874type PrivateLinkServicePropertiesAutoApproval struct { 11875 ResourceSet 11876} 11877 11878// The visibility list of the private link service. 11879type PrivateLinkServicePropertiesVisibility struct { 11880 ResourceSet 11881} 11882 11883// PrivateLinkServiceResponse is the response envelope for operations that return a PrivateLinkService type. 11884type PrivateLinkServiceResponse struct { 11885 // Private link service resource. 11886 PrivateLinkService *PrivateLinkService 11887 11888 // RawResponse contains the underlying HTTP response. 11889 RawResponse *http.Response 11890} 11891 11892// Response for the CheckPrivateLinkServiceVisibility API service call. 11893type PrivateLinkServiceVisibility struct { 11894 // Private Link Service Visibility (True/False). 11895 Visible *bool `json:"visible,omitempty"` 11896} 11897 11898// PrivateLinkServiceVisibilityPollerResponse is the response envelope for operations that asynchronously return a PrivateLinkServiceVisibility type. 11899type PrivateLinkServiceVisibilityPollerResponse struct { 11900 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 11901 PollUntilDone func(ctx context.Context, frequency time.Duration) (PrivateLinkServiceVisibilityResponse, error) 11902 11903 // Poller contains an initialized poller. 11904 Poller PrivateLinkServiceVisibilityPoller 11905 11906 // RawResponse contains the underlying HTTP response. 11907 RawResponse *http.Response 11908} 11909 11910// PrivateLinkServiceVisibilityResponse is the response envelope for operations that return a PrivateLinkServiceVisibility type. 11911type PrivateLinkServiceVisibilityResponse struct { 11912 // Response for the CheckPrivateLinkServiceVisibility API service call. 11913 PrivateLinkServiceVisibility *PrivateLinkServiceVisibility 11914 11915 // RawResponse contains the underlying HTTP response. 11916 RawResponse *http.Response 11917} 11918 11919// PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityByResourceGroupOptions contains the optional parameters for the PrivateLinkServices.BeginCheckPrivateLinkServiceVisibilityByResourceGroup 11920// method. 11921type PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityByResourceGroupOptions struct { 11922 // placeholder for future optional parameters 11923} 11924 11925// PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityOptions contains the optional parameters for the PrivateLinkServices.BeginCheckPrivateLinkServiceVisibility 11926// method. 11927type PrivateLinkServicesBeginCheckPrivateLinkServiceVisibilityOptions struct { 11928 // placeholder for future optional parameters 11929} 11930 11931// PrivateLinkServicesBeginCreateOrUpdateOptions contains the optional parameters for the PrivateLinkServices.BeginCreateOrUpdate method. 11932type PrivateLinkServicesBeginCreateOrUpdateOptions struct { 11933 // placeholder for future optional parameters 11934} 11935 11936// PrivateLinkServicesBeginDeleteOptions contains the optional parameters for the PrivateLinkServices.BeginDelete method. 11937type PrivateLinkServicesBeginDeleteOptions struct { 11938 // placeholder for future optional parameters 11939} 11940 11941// PrivateLinkServicesBeginDeletePrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.BeginDeletePrivateEndpointConnection 11942// method. 11943type PrivateLinkServicesBeginDeletePrivateEndpointConnectionOptions struct { 11944 // placeholder for future optional parameters 11945} 11946 11947// PrivateLinkServicesGetOptions contains the optional parameters for the PrivateLinkServices.Get method. 11948type PrivateLinkServicesGetOptions struct { 11949 // Expands referenced resources. 11950 Expand *string 11951} 11952 11953// PrivateLinkServicesGetPrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.GetPrivateEndpointConnection method. 11954type PrivateLinkServicesGetPrivateEndpointConnectionOptions struct { 11955 // Expands referenced resources. 11956 Expand *string 11957} 11958 11959// PrivateLinkServicesListAutoApprovedPrivateLinkServicesByResourceGroupOptions contains the optional parameters for the PrivateLinkServices.ListAutoApprovedPrivateLinkServicesByResourceGroup 11960// method. 11961type PrivateLinkServicesListAutoApprovedPrivateLinkServicesByResourceGroupOptions struct { 11962 // placeholder for future optional parameters 11963} 11964 11965// PrivateLinkServicesListAutoApprovedPrivateLinkServicesOptions contains the optional parameters for the PrivateLinkServices.ListAutoApprovedPrivateLinkServices 11966// method. 11967type PrivateLinkServicesListAutoApprovedPrivateLinkServicesOptions struct { 11968 // placeholder for future optional parameters 11969} 11970 11971// PrivateLinkServicesListBySubscriptionOptions contains the optional parameters for the PrivateLinkServices.ListBySubscription method. 11972type PrivateLinkServicesListBySubscriptionOptions struct { 11973 // placeholder for future optional parameters 11974} 11975 11976// PrivateLinkServicesListOptions contains the optional parameters for the PrivateLinkServices.List method. 11977type PrivateLinkServicesListOptions struct { 11978 // placeholder for future optional parameters 11979} 11980 11981// PrivateLinkServicesListPrivateEndpointConnectionsOptions contains the optional parameters for the PrivateLinkServices.ListPrivateEndpointConnections 11982// method. 11983type PrivateLinkServicesListPrivateEndpointConnectionsOptions struct { 11984 // placeholder for future optional parameters 11985} 11986 11987// PrivateLinkServicesUpdatePrivateEndpointConnectionOptions contains the optional parameters for the PrivateLinkServices.UpdatePrivateEndpointConnection 11988// method. 11989type PrivateLinkServicesUpdatePrivateEndpointConnectionOptions struct { 11990 // placeholder for future optional parameters 11991} 11992 11993// A load balancer probe. 11994type Probe struct { 11995 SubResource 11996 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 11997 Etag *string `json:"etag,omitempty" azure:"ro"` 11998 11999 // 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. 12000 Name *string `json:"name,omitempty"` 12001 12002 // Properties of load balancer probe. 12003 Properties *ProbePropertiesFormat `json:"properties,omitempty"` 12004 12005 // READ-ONLY; Type of the resource. 12006 Type *string `json:"type,omitempty" azure:"ro"` 12007} 12008 12009// Load balancer probe resource. 12010type ProbePropertiesFormat struct { 12011 // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated 12012 // timeout period (in seconds) which allows two full 12013 // probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. 12014 IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` 12015 12016 // READ-ONLY; The load balancer rules that use this probe. 12017 LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty" azure:"ro"` 12018 12019 // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints 12020 // to be taken out of rotation faster or slower than 12021 // the typical times used in Azure. 12022 NumberOfProbes *int32 `json:"numberOfProbes,omitempty"` 12023 12024 // The port for communicating the probe. Possible values range from 1 to 65535, inclusive. 12025 Port *int32 `json:"port,omitempty"` 12026 12027 // The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 12028 // 200 OK response from the specifies URI is required 12029 // for the probe to be successful. 12030 Protocol *ProbeProtocol `json:"protocol,omitempty"` 12031 12032 // READ-ONLY; The provisioning state of the probe resource. 12033 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12034 12035 // 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 12036 // value. 12037 RequestPath *string `json:"requestPath,omitempty"` 12038} 12039 12040// ProbeResponse is the response envelope for operations that return a Probe type. 12041type ProbeResponse struct { 12042 // A load balancer probe. 12043 Probe *Probe 12044 12045 // RawResponse contains the underlying HTTP response. 12046 RawResponse *http.Response 12047} 12048 12049// The list of RouteTables to advertise the routes to. 12050type PropagatedRouteTable struct { 12051 // The list of resource ids of all the RouteTables. 12052 IDs *[]SubResource `json:"ids,omitempty"` 12053 12054 // The list of labels. 12055 Labels *[]string `json:"labels,omitempty"` 12056} 12057 12058// Configuration of the protocol. 12059type ProtocolConfiguration struct { 12060 // HTTP configuration of the connectivity check. 12061 HTTPConfiguration *HTTPConfiguration `json:"HTTPConfiguration,omitempty"` 12062} 12063 12064// DDoS custom policy properties. 12065type ProtocolCustomSettingsFormat struct { 12066 // The protocol for which the DDoS protection policy is being customized. 12067 Protocol *DdosCustomPolicyProtocol `json:"protocol,omitempty"` 12068 12069 // The customized DDoS protection source rate. 12070 SourceRateOverride *string `json:"sourceRateOverride,omitempty"` 12071 12072 // The customized DDoS protection trigger rate. 12073 TriggerRateOverride *string `json:"triggerRateOverride,omitempty"` 12074 12075 // The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger 12076 // rate set with moderate sensitivity w.r.t. normal 12077 // 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. 12078 TriggerSensitivityOverride *DdosCustomPolicyTriggerSensitivityOverride `json:"triggerSensitivityOverride,omitempty"` 12079} 12080 12081// Public IP address resource. 12082type PublicIPAddress struct { 12083 Resource 12084 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12085 Etag *string `json:"etag,omitempty" azure:"ro"` 12086 12087 // The extended location of the public ip address. 12088 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 12089 12090 // Public IP address properties. 12091 Properties *PublicIPAddressPropertiesFormat `json:"properties,omitempty"` 12092 12093 // The public IP address SKU. 12094 SKU *PublicIPAddressSKU `json:"sku,omitempty"` 12095 12096 // A list of availability zones denoting the IP allocated for the resource needs to come from. 12097 Zones *[]string `json:"zones,omitempty"` 12098} 12099 12100// Contains FQDN of the DNS record associated with the public IP address. 12101type PublicIPAddressDNSSettings struct { 12102 // 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 12103 // the public IP address. If a domain name label is 12104 // specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. 12105 DomainNameLabel *string `json:"domainNameLabel,omitempty"` 12106 12107 // 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 12108 // DNS zone. 12109 Fqdn *string `json:"fqdn,omitempty"` 12110 12111 // 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 12112 // record is created pointing from the IP address in 12113 // the in-addr.arpa domain to the reverse FQDN. 12114 ReverseFqdn *string `json:"reverseFqdn,omitempty"` 12115} 12116 12117// Response for ListPublicIpAddresses API service call. 12118type PublicIPAddressListResult struct { 12119 // The URL to get the next set of results. 12120 NextLink *string `json:"nextLink,omitempty"` 12121 12122 // A list of public IP addresses that exists in a resource group. 12123 Value *[]PublicIPAddress `json:"value,omitempty"` 12124} 12125 12126// PublicIPAddressListResultResponse is the response envelope for operations that return a PublicIPAddressListResult type. 12127type PublicIPAddressListResultResponse struct { 12128 // Response for ListPublicIpAddresses API service call. 12129 PublicIPAddressListResult *PublicIPAddressListResult 12130 12131 // RawResponse contains the underlying HTTP response. 12132 RawResponse *http.Response 12133} 12134 12135// PublicIPAddressPollerResponse is the response envelope for operations that asynchronously return a PublicIPAddress type. 12136type PublicIPAddressPollerResponse struct { 12137 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12138 PollUntilDone func(ctx context.Context, frequency time.Duration) (PublicIPAddressResponse, error) 12139 12140 // Poller contains an initialized poller. 12141 Poller PublicIPAddressPoller 12142 12143 // RawResponse contains the underlying HTTP response. 12144 RawResponse *http.Response 12145} 12146 12147// Public IP address properties. 12148type PublicIPAddressPropertiesFormat struct { 12149 // The FQDN of the DNS record associated with the public IP address. 12150 DNSSettings *PublicIPAddressDNSSettings `json:"dnsSettings,omitempty"` 12151 12152 // The DDoS protection custom policy associated with the public IP address. 12153 DdosSettings *DdosSettings `json:"ddosSettings,omitempty"` 12154 12155 // The idle timeout of the public IP address. 12156 IDleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` 12157 12158 // The IP address associated with the public IP address resource. 12159 IPAddress *string `json:"ipAddress,omitempty"` 12160 12161 // READ-ONLY; The IP configuration associated with the public IP address. 12162 IPConfiguration *IPConfiguration `json:"ipConfiguration,omitempty" azure:"ro"` 12163 12164 // The list of tags associated with the public IP address. 12165 IPTags *[]IPTag `json:"ipTags,omitempty"` 12166 12167 // READ-ONLY; The provisioning state of the public IP address resource. 12168 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12169 12170 // The public IP address version. 12171 PublicIPAddressVersion *IPVersion `json:"publicIPAddressVersion,omitempty"` 12172 12173 // The public IP address allocation method. 12174 PublicIPAllocationMethod *IPAllocationMethod `json:"publicIPAllocationMethod,omitempty"` 12175 12176 // The Public IP Prefix this Public IP Address should be allocated from. 12177 PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` 12178 12179 // READ-ONLY; The resource GUID property of the public IP address resource. 12180 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 12181} 12182 12183// PublicIPAddressResponse is the response envelope for operations that return a PublicIPAddress type. 12184type PublicIPAddressResponse struct { 12185 // Public IP address resource. 12186 PublicIPAddress *PublicIPAddress 12187 12188 // RawResponse contains the underlying HTTP response. 12189 RawResponse *http.Response 12190} 12191 12192// SKU of a public IP address. 12193type PublicIPAddressSKU struct { 12194 // Name of a public IP address SKU. 12195 Name *PublicIPAddressSKUName `json:"name,omitempty"` 12196 12197 // Tier of a public IP address SKU. 12198 Tier *PublicIPAddressSKUTier `json:"tier,omitempty"` 12199} 12200 12201// PublicIPAddressesBeginCreateOrUpdateOptions contains the optional parameters for the PublicIPAddresses.BeginCreateOrUpdate method. 12202type PublicIPAddressesBeginCreateOrUpdateOptions struct { 12203 // placeholder for future optional parameters 12204} 12205 12206// PublicIPAddressesBeginDeleteOptions contains the optional parameters for the PublicIPAddresses.BeginDelete method. 12207type PublicIPAddressesBeginDeleteOptions struct { 12208 // placeholder for future optional parameters 12209} 12210 12211// PublicIPAddressesGetCloudServicePublicIPAddressOptions contains the optional parameters for the PublicIPAddresses.GetCloudServicePublicIPAddress method. 12212type PublicIPAddressesGetCloudServicePublicIPAddressOptions struct { 12213 // Expands referenced resources. 12214 Expand *string 12215} 12216 12217// PublicIPAddressesGetOptions contains the optional parameters for the PublicIPAddresses.Get method. 12218type PublicIPAddressesGetOptions struct { 12219 // Expands referenced resources. 12220 Expand *string 12221} 12222 12223// PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptions contains the optional parameters for the PublicIPAddresses.GetVirtualMachineScaleSetPublicIPAddress 12224// method. 12225type PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptions struct { 12226 // Expands referenced resources. 12227 Expand *string 12228} 12229 12230// PublicIPAddressesListAllOptions contains the optional parameters for the PublicIPAddresses.ListAll method. 12231type PublicIPAddressesListAllOptions struct { 12232 // placeholder for future optional parameters 12233} 12234 12235// PublicIPAddressesListCloudServicePublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListCloudServicePublicIPAddresses 12236// method. 12237type PublicIPAddressesListCloudServicePublicIPAddressesOptions struct { 12238 // placeholder for future optional parameters 12239} 12240 12241// PublicIPAddressesListCloudServiceRoleInstancePublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListCloudServiceRoleInstancePublicIPAddresses 12242// method. 12243type PublicIPAddressesListCloudServiceRoleInstancePublicIPAddressesOptions struct { 12244 // placeholder for future optional parameters 12245} 12246 12247// PublicIPAddressesListOptions contains the optional parameters for the PublicIPAddresses.List method. 12248type PublicIPAddressesListOptions struct { 12249 // placeholder for future optional parameters 12250} 12251 12252// PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesOptions contains the optional parameters for the PublicIPAddresses.ListVirtualMachineScaleSetPublicIPAddresses 12253// method. 12254type PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesOptions struct { 12255 // placeholder for future optional parameters 12256} 12257 12258// PublicIPAddressesListVirtualMachineScaleSetVMPublicIPaddressesOptions contains the optional parameters for the PublicIPAddresses.ListVirtualMachineScaleSetVMPublicIPaddresses 12259// method. 12260type PublicIPAddressesListVirtualMachineScaleSetVMPublicIPaddressesOptions struct { 12261 // placeholder for future optional parameters 12262} 12263 12264// PublicIPAddressesUpdateTagsOptions contains the optional parameters for the PublicIPAddresses.UpdateTags method. 12265type PublicIPAddressesUpdateTagsOptions struct { 12266 // placeholder for future optional parameters 12267} 12268 12269// Public IP prefix resource. 12270type PublicIPPrefix struct { 12271 Resource 12272 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12273 Etag *string `json:"etag,omitempty" azure:"ro"` 12274 12275 // The extended location of the public ip address. 12276 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 12277 12278 // Public IP prefix properties. 12279 Properties *PublicIPPrefixPropertiesFormat `json:"properties,omitempty"` 12280 12281 // The public IP prefix SKU. 12282 SKU *PublicIPPrefixSKU `json:"sku,omitempty"` 12283 12284 // A list of availability zones denoting the IP allocated for the resource needs to come from. 12285 Zones *[]string `json:"zones,omitempty"` 12286} 12287 12288// Response for ListPublicIpPrefixes API service call. 12289type PublicIPPrefixListResult struct { 12290 // The URL to get the next set of results. 12291 NextLink *string `json:"nextLink,omitempty"` 12292 12293 // A list of public IP prefixes that exists in a resource group. 12294 Value *[]PublicIPPrefix `json:"value,omitempty"` 12295} 12296 12297// PublicIPPrefixListResultResponse is the response envelope for operations that return a PublicIPPrefixListResult type. 12298type PublicIPPrefixListResultResponse struct { 12299 // Response for ListPublicIpPrefixes API service call. 12300 PublicIPPrefixListResult *PublicIPPrefixListResult 12301 12302 // RawResponse contains the underlying HTTP response. 12303 RawResponse *http.Response 12304} 12305 12306// PublicIPPrefixPollerResponse is the response envelope for operations that asynchronously return a PublicIPPrefix type. 12307type PublicIPPrefixPollerResponse struct { 12308 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12309 PollUntilDone func(ctx context.Context, frequency time.Duration) (PublicIPPrefixResponse, error) 12310 12311 // Poller contains an initialized poller. 12312 Poller PublicIPPrefixPoller 12313 12314 // RawResponse contains the underlying HTTP response. 12315 RawResponse *http.Response 12316} 12317 12318// Public IP prefix properties. 12319type PublicIPPrefixPropertiesFormat struct { 12320 // The customIpPrefix that this prefix is associated with. 12321 CustomIPPrefix *SubResource `json:"customIPPrefix,omitempty"` 12322 12323 // READ-ONLY; The allocated Prefix. 12324 IPPrefix *string `json:"ipPrefix,omitempty" azure:"ro"` 12325 12326 // The list of tags associated with the public IP prefix. 12327 IPTags *[]IPTag `json:"ipTags,omitempty"` 12328 12329 // READ-ONLY; The reference to load balancer frontend IP configuration associated with the public IP prefix. 12330 LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIpConfiguration,omitempty" azure:"ro"` 12331 12332 // The Length of the Public IP Prefix. 12333 PrefixLength *int32 `json:"prefixLength,omitempty"` 12334 12335 // READ-ONLY; The provisioning state of the public IP prefix resource. 12336 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12337 12338 // The public IP address version. 12339 PublicIPAddressVersion *IPVersion `json:"publicIPAddressVersion,omitempty"` 12340 12341 // READ-ONLY; The list of all referenced PublicIPAddresses. 12342 PublicIPAddresses *[]ReferencedPublicIPAddress `json:"publicIPAddresses,omitempty" azure:"ro"` 12343 12344 // READ-ONLY; The resource GUID property of the public IP prefix resource. 12345 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 12346} 12347 12348// PublicIPPrefixResponse is the response envelope for operations that return a PublicIPPrefix type. 12349type PublicIPPrefixResponse struct { 12350 // Public IP prefix resource. 12351 PublicIPPrefix *PublicIPPrefix 12352 12353 // RawResponse contains the underlying HTTP response. 12354 RawResponse *http.Response 12355} 12356 12357// SKU of a public IP prefix. 12358type PublicIPPrefixSKU struct { 12359 // Name of a public IP prefix SKU. 12360 Name *PublicIPPrefixSKUName `json:"name,omitempty"` 12361 12362 // Tier of a public IP prefix SKU. 12363 Tier *PublicIPPrefixSKUTier `json:"tier,omitempty"` 12364} 12365 12366// PublicIPPrefixesBeginCreateOrUpdateOptions contains the optional parameters for the PublicIPPrefixes.BeginCreateOrUpdate method. 12367type PublicIPPrefixesBeginCreateOrUpdateOptions struct { 12368 // placeholder for future optional parameters 12369} 12370 12371// PublicIPPrefixesBeginDeleteOptions contains the optional parameters for the PublicIPPrefixes.BeginDelete method. 12372type PublicIPPrefixesBeginDeleteOptions struct { 12373 // placeholder for future optional parameters 12374} 12375 12376// PublicIPPrefixesGetOptions contains the optional parameters for the PublicIPPrefixes.Get method. 12377type PublicIPPrefixesGetOptions struct { 12378 // Expands referenced resources. 12379 Expand *string 12380} 12381 12382// PublicIPPrefixesListAllOptions contains the optional parameters for the PublicIPPrefixes.ListAll method. 12383type PublicIPPrefixesListAllOptions struct { 12384 // placeholder for future optional parameters 12385} 12386 12387// PublicIPPrefixesListOptions contains the optional parameters for the PublicIPPrefixes.List method. 12388type PublicIPPrefixesListOptions struct { 12389 // placeholder for future optional parameters 12390} 12391 12392// PublicIPPrefixesUpdateTagsOptions contains the optional parameters for the PublicIPPrefixes.UpdateTags method. 12393type PublicIPPrefixesUpdateTagsOptions struct { 12394 // placeholder for future optional parameters 12395} 12396 12397// Qos Traffic Profiler IP Range properties. 12398type QosIPRange struct { 12399 // End IP Address. 12400 EndIP *string `json:"endIP,omitempty"` 12401 12402 // Start IP Address. 12403 StartIP *string `json:"startIP,omitempty"` 12404} 12405 12406// Qos Traffic Profiler Port range properties. 12407type QosPortRange struct { 12408 // Qos Port Range end. 12409 End *int32 `json:"end,omitempty"` 12410 12411 // Qos Port Range start. 12412 Start *int32 `json:"start,omitempty"` 12413} 12414 12415// Parameters that define the resource to query the troubleshooting result. 12416type QueryTroubleshootingParameters struct { 12417 // The target resource ID to query the troubleshooting result. 12418 TargetResourceID *string `json:"targetResourceId,omitempty"` 12419} 12420 12421// Radius Server Settings. 12422type RadiusServer struct { 12423 // The address of this radius server. 12424 RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` 12425 12426 // The initial score assigned to this radius server. 12427 RadiusServerScore *int64 `json:"radiusServerScore,omitempty"` 12428 12429 // The secret used for this radius server. 12430 RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` 12431} 12432 12433// A collective group of information about the record set information. 12434type RecordSet struct { 12435 // Fqdn that resolves to private endpoint ip address. 12436 Fqdn *string `json:"fqdn,omitempty"` 12437 12438 // The private ip address of the private endpoint. 12439 IPAddresses *[]string `json:"ipAddresses,omitempty"` 12440 12441 // READ-ONLY; The provisioning state of the recordset. 12442 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12443 12444 // Recordset name. 12445 RecordSetName *string `json:"recordSetName,omitempty"` 12446 12447 // Resource record type. 12448 RecordType *string `json:"recordType,omitempty"` 12449 12450 // Recordset time to live. 12451 TTL *int32 `json:"ttl,omitempty"` 12452} 12453 12454// Reference to a public IP address. 12455type ReferencedPublicIPAddress struct { 12456 // The PublicIPAddress Reference. 12457 ID *string `json:"id,omitempty"` 12458} 12459 12460// Common resource representation. 12461type Resource struct { 12462 // Resource ID. 12463 ID *string `json:"id,omitempty"` 12464 12465 // Resource location. 12466 Location *string `json:"location,omitempty"` 12467 12468 // READ-ONLY; Resource name. 12469 Name *string `json:"name,omitempty" azure:"ro"` 12470 12471 // Resource tags. 12472 Tags *map[string]string `json:"tags,omitempty"` 12473 12474 // READ-ONLY; Resource type. 12475 Type *string `json:"type,omitempty" azure:"ro"` 12476} 12477 12478// ResourceNavigationLink resource. 12479type ResourceNavigationLink struct { 12480 SubResource 12481 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12482 Etag *string `json:"etag,omitempty" azure:"ro"` 12483 12484 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 12485 Name *string `json:"name,omitempty"` 12486 12487 // Resource navigation link properties format. 12488 Properties *ResourceNavigationLinkFormat `json:"properties,omitempty"` 12489 12490 // READ-ONLY; Resource type. 12491 Type *string `json:"type,omitempty" azure:"ro"` 12492} 12493 12494// Properties of ResourceNavigationLink. 12495type ResourceNavigationLinkFormat struct { 12496 // Link to the external resource. 12497 Link *string `json:"link,omitempty"` 12498 12499 // Resource type of the linked resource. 12500 LinkedResourceType *string `json:"linkedResourceType,omitempty"` 12501 12502 // READ-ONLY; The provisioning state of the resource navigation link resource. 12503 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12504} 12505 12506// ResourceNavigationLinksListOptions contains the optional parameters for the ResourceNavigationLinks.List method. 12507type ResourceNavigationLinksListOptions struct { 12508 // placeholder for future optional parameters 12509} 12510 12511// Response for ResourceNavigationLinks_List operation. 12512type ResourceNavigationLinksListResult struct { 12513 // READ-ONLY; The URL to get the next set of results. 12514 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 12515 12516 // The resource navigation links in a subnet. 12517 Value *[]ResourceNavigationLink `json:"value,omitempty"` 12518} 12519 12520// ResourceNavigationLinksListResultResponse is the response envelope for operations that return a ResourceNavigationLinksListResult type. 12521type ResourceNavigationLinksListResultResponse struct { 12522 // RawResponse contains the underlying HTTP response. 12523 RawResponse *http.Response 12524 12525 // Response for ResourceNavigationLinks_List operation. 12526 ResourceNavigationLinksListResult *ResourceNavigationLinksListResult 12527} 12528 12529// The base resource set for visibility and auto-approval. 12530type ResourceSet struct { 12531 // The list of subscriptions. 12532 Subscriptions *[]string `json:"subscriptions,omitempty"` 12533} 12534 12535// Parameters that define the retention policy for flow log. 12536type RetentionPolicyParameters struct { 12537 // Number of days to retain flow log records. 12538 Days *int32 `json:"days,omitempty"` 12539 12540 // Flag to enable/disable retention. 12541 Enabled *bool `json:"enabled,omitempty"` 12542} 12543 12544// Route resource. 12545type Route struct { 12546 SubResource 12547 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12548 Etag *string `json:"etag,omitempty" azure:"ro"` 12549 12550 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 12551 Name *string `json:"name,omitempty"` 12552 12553 // Properties of the route. 12554 Properties *RoutePropertiesFormat `json:"properties,omitempty"` 12555} 12556 12557// Route Filter Resource. 12558type RouteFilter struct { 12559 Resource 12560 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12561 Etag *string `json:"etag,omitempty" azure:"ro"` 12562 12563 // Properties of the route filter. 12564 Properties *RouteFilterPropertiesFormat `json:"properties,omitempty"` 12565} 12566 12567// Response for the ListRouteFilters API service call. 12568type RouteFilterListResult struct { 12569 // The URL to get the next set of results. 12570 NextLink *string `json:"nextLink,omitempty"` 12571 12572 // A list of route filters in a resource group. 12573 Value *[]RouteFilter `json:"value,omitempty"` 12574} 12575 12576// RouteFilterListResultResponse is the response envelope for operations that return a RouteFilterListResult type. 12577type RouteFilterListResultResponse struct { 12578 // RawResponse contains the underlying HTTP response. 12579 RawResponse *http.Response 12580 12581 // Response for the ListRouteFilters API service call. 12582 RouteFilterListResult *RouteFilterListResult 12583} 12584 12585// RouteFilterPollerResponse is the response envelope for operations that asynchronously return a RouteFilter type. 12586type RouteFilterPollerResponse struct { 12587 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12588 PollUntilDone func(ctx context.Context, frequency time.Duration) (RouteFilterResponse, error) 12589 12590 // Poller contains an initialized poller. 12591 Poller RouteFilterPoller 12592 12593 // RawResponse contains the underlying HTTP response. 12594 RawResponse *http.Response 12595} 12596 12597// Route Filter Resource. 12598type RouteFilterPropertiesFormat struct { 12599 // READ-ONLY; A collection of references to express route circuit ipv6 peerings. 12600 IPv6Peerings *[]ExpressRouteCircuitPeering `json:"ipv6Peerings,omitempty" azure:"ro"` 12601 12602 // READ-ONLY; A collection of references to express route circuit peerings. 12603 Peerings *[]ExpressRouteCircuitPeering `json:"peerings,omitempty" azure:"ro"` 12604 12605 // READ-ONLY; The provisioning state of the route filter resource. 12606 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12607 12608 // Collection of RouteFilterRules contained within a route filter. 12609 Rules *[]RouteFilterRule `json:"rules,omitempty"` 12610} 12611 12612// RouteFilterResponse is the response envelope for operations that return a RouteFilter type. 12613type RouteFilterResponse struct { 12614 // RawResponse contains the underlying HTTP response. 12615 RawResponse *http.Response 12616 12617 // Route Filter Resource. 12618 RouteFilter *RouteFilter 12619} 12620 12621// Route Filter Rule Resource. 12622type RouteFilterRule struct { 12623 SubResource 12624 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12625 Etag *string `json:"etag,omitempty" azure:"ro"` 12626 12627 // Resource location. 12628 Location *string `json:"location,omitempty"` 12629 12630 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 12631 Name *string `json:"name,omitempty"` 12632 12633 // Properties of the route filter rule. 12634 Properties *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` 12635} 12636 12637// Response for the ListRouteFilterRules API service call. 12638type RouteFilterRuleListResult struct { 12639 // The URL to get the next set of results. 12640 NextLink *string `json:"nextLink,omitempty"` 12641 12642 // A list of RouteFilterRules in a resource group. 12643 Value *[]RouteFilterRule `json:"value,omitempty"` 12644} 12645 12646// RouteFilterRuleListResultResponse is the response envelope for operations that return a RouteFilterRuleListResult type. 12647type RouteFilterRuleListResultResponse struct { 12648 // RawResponse contains the underlying HTTP response. 12649 RawResponse *http.Response 12650 12651 // Response for the ListRouteFilterRules API service call. 12652 RouteFilterRuleListResult *RouteFilterRuleListResult 12653} 12654 12655// RouteFilterRulePollerResponse is the response envelope for operations that asynchronously return a RouteFilterRule type. 12656type RouteFilterRulePollerResponse struct { 12657 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12658 PollUntilDone func(ctx context.Context, frequency time.Duration) (RouteFilterRuleResponse, error) 12659 12660 // Poller contains an initialized poller. 12661 Poller RouteFilterRulePoller 12662 12663 // RawResponse contains the underlying HTTP response. 12664 RawResponse *http.Response 12665} 12666 12667// Route Filter Rule Resource. 12668type RouteFilterRulePropertiesFormat struct { 12669 // The access type of the rule. 12670 Access *Access `json:"access,omitempty"` 12671 12672 // The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. 12673 Communities *[]string `json:"communities,omitempty"` 12674 12675 // READ-ONLY; The provisioning state of the route filter rule resource. 12676 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12677 12678 // The rule type of the rule. 12679 RouteFilterRuleType *RouteFilterRuleType `json:"routeFilterRuleType,omitempty"` 12680} 12681 12682// RouteFilterRuleResponse is the response envelope for operations that return a RouteFilterRule type. 12683type RouteFilterRuleResponse struct { 12684 // RawResponse contains the underlying HTTP response. 12685 RawResponse *http.Response 12686 12687 // Route Filter Rule Resource. 12688 RouteFilterRule *RouteFilterRule 12689} 12690 12691// RouteFilterRulesBeginCreateOrUpdateOptions contains the optional parameters for the RouteFilterRules.BeginCreateOrUpdate method. 12692type RouteFilterRulesBeginCreateOrUpdateOptions struct { 12693 // placeholder for future optional parameters 12694} 12695 12696// RouteFilterRulesBeginDeleteOptions contains the optional parameters for the RouteFilterRules.BeginDelete method. 12697type RouteFilterRulesBeginDeleteOptions struct { 12698 // placeholder for future optional parameters 12699} 12700 12701// RouteFilterRulesGetOptions contains the optional parameters for the RouteFilterRules.Get method. 12702type RouteFilterRulesGetOptions struct { 12703 // placeholder for future optional parameters 12704} 12705 12706// RouteFilterRulesListByRouteFilterOptions contains the optional parameters for the RouteFilterRules.ListByRouteFilter method. 12707type RouteFilterRulesListByRouteFilterOptions struct { 12708 // placeholder for future optional parameters 12709} 12710 12711// RouteFiltersBeginCreateOrUpdateOptions contains the optional parameters for the RouteFilters.BeginCreateOrUpdate method. 12712type RouteFiltersBeginCreateOrUpdateOptions struct { 12713 // placeholder for future optional parameters 12714} 12715 12716// RouteFiltersBeginDeleteOptions contains the optional parameters for the RouteFilters.BeginDelete method. 12717type RouteFiltersBeginDeleteOptions struct { 12718 // placeholder for future optional parameters 12719} 12720 12721// RouteFiltersGetOptions contains the optional parameters for the RouteFilters.Get method. 12722type RouteFiltersGetOptions struct { 12723 // Expands referenced express route bgp peering resources. 12724 Expand *string 12725} 12726 12727// RouteFiltersListByResourceGroupOptions contains the optional parameters for the RouteFilters.ListByResourceGroup method. 12728type RouteFiltersListByResourceGroupOptions struct { 12729 // placeholder for future optional parameters 12730} 12731 12732// RouteFiltersListOptions contains the optional parameters for the RouteFilters.List method. 12733type RouteFiltersListOptions struct { 12734 // placeholder for future optional parameters 12735} 12736 12737// RouteFiltersUpdateTagsOptions contains the optional parameters for the RouteFilters.UpdateTags method. 12738type RouteFiltersUpdateTagsOptions struct { 12739 // placeholder for future optional parameters 12740} 12741 12742// Response for the ListRoute API service call. 12743type RouteListResult struct { 12744 // The URL to get the next set of results. 12745 NextLink *string `json:"nextLink,omitempty"` 12746 12747 // A list of routes in a resource group. 12748 Value *[]Route `json:"value,omitempty"` 12749} 12750 12751// RouteListResultResponse is the response envelope for operations that return a RouteListResult type. 12752type RouteListResultResponse struct { 12753 // RawResponse contains the underlying HTTP response. 12754 RawResponse *http.Response 12755 12756 // Response for the ListRoute API service call. 12757 RouteListResult *RouteListResult 12758} 12759 12760// RoutePollerResponse is the response envelope for operations that asynchronously return a Route type. 12761type RoutePollerResponse struct { 12762 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12763 PollUntilDone func(ctx context.Context, frequency time.Duration) (RouteResponse, error) 12764 12765 // Poller contains an initialized poller. 12766 Poller RoutePoller 12767 12768 // RawResponse contains the underlying HTTP response. 12769 RawResponse *http.Response 12770} 12771 12772// Route resource. 12773type RoutePropertiesFormat struct { 12774 // The destination CIDR to which the route applies. 12775 AddressPrefix *string `json:"addressPrefix,omitempty"` 12776 12777 // The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. 12778 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 12779 12780 // The type of Azure hop the packet should be sent to. 12781 NextHopType *RouteNextHopType `json:"nextHopType,omitempty"` 12782 12783 // READ-ONLY; The provisioning state of the route resource. 12784 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12785} 12786 12787// RouteResponse is the response envelope for operations that return a Route type. 12788type RouteResponse struct { 12789 // RawResponse contains the underlying HTTP response. 12790 RawResponse *http.Response 12791 12792 // Route resource. 12793 Route *Route 12794} 12795 12796// Route table resource. 12797type RouteTable struct { 12798 Resource 12799 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12800 Etag *string `json:"etag,omitempty" azure:"ro"` 12801 12802 // Properties of the route table. 12803 Properties *RouteTablePropertiesFormat `json:"properties,omitempty"` 12804} 12805 12806// Response for the ListRouteTable API service call. 12807type RouteTableListResult struct { 12808 // The URL to get the next set of results. 12809 NextLink *string `json:"nextLink,omitempty"` 12810 12811 // A list of route tables in a resource group. 12812 Value *[]RouteTable `json:"value,omitempty"` 12813} 12814 12815// RouteTableListResultResponse is the response envelope for operations that return a RouteTableListResult type. 12816type RouteTableListResultResponse struct { 12817 // RawResponse contains the underlying HTTP response. 12818 RawResponse *http.Response 12819 12820 // Response for the ListRouteTable API service call. 12821 RouteTableListResult *RouteTableListResult 12822} 12823 12824// RouteTablePollerResponse is the response envelope for operations that asynchronously return a RouteTable type. 12825type RouteTablePollerResponse struct { 12826 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12827 PollUntilDone func(ctx context.Context, frequency time.Duration) (RouteTableResponse, error) 12828 12829 // Poller contains an initialized poller. 12830 Poller RouteTablePoller 12831 12832 // RawResponse contains the underlying HTTP response. 12833 RawResponse *http.Response 12834} 12835 12836// Route Table resource. 12837type RouteTablePropertiesFormat struct { 12838 // Whether to disable the routes learned by BGP on that route table. True means disable. 12839 DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` 12840 12841 // READ-ONLY; The provisioning state of the route table resource. 12842 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 12843 12844 // Collection of routes contained within a route table. 12845 Routes *[]Route `json:"routes,omitempty"` 12846 12847 // READ-ONLY; A collection of references to subnets. 12848 Subnets *[]Subnet `json:"subnets,omitempty" azure:"ro"` 12849} 12850 12851// RouteTableResponse is the response envelope for operations that return a RouteTable type. 12852type RouteTableResponse struct { 12853 // RawResponse contains the underlying HTTP response. 12854 RawResponse *http.Response 12855 12856 // Route table resource. 12857 RouteTable *RouteTable 12858} 12859 12860// RouteTablesBeginCreateOrUpdateOptions contains the optional parameters for the RouteTables.BeginCreateOrUpdate method. 12861type RouteTablesBeginCreateOrUpdateOptions struct { 12862 // placeholder for future optional parameters 12863} 12864 12865// RouteTablesBeginDeleteOptions contains the optional parameters for the RouteTables.BeginDelete method. 12866type RouteTablesBeginDeleteOptions struct { 12867 // placeholder for future optional parameters 12868} 12869 12870// RouteTablesGetOptions contains the optional parameters for the RouteTables.Get method. 12871type RouteTablesGetOptions struct { 12872 // Expands referenced resources. 12873 Expand *string 12874} 12875 12876// RouteTablesListAllOptions contains the optional parameters for the RouteTables.ListAll method. 12877type RouteTablesListAllOptions struct { 12878 // placeholder for future optional parameters 12879} 12880 12881// RouteTablesListOptions contains the optional parameters for the RouteTables.List method. 12882type RouteTablesListOptions struct { 12883 // placeholder for future optional parameters 12884} 12885 12886// RouteTablesUpdateTagsOptions contains the optional parameters for the RouteTables.UpdateTags method. 12887type RouteTablesUpdateTagsOptions struct { 12888 // placeholder for future optional parameters 12889} 12890 12891// RoutesBeginCreateOrUpdateOptions contains the optional parameters for the Routes.BeginCreateOrUpdate method. 12892type RoutesBeginCreateOrUpdateOptions struct { 12893 // placeholder for future optional parameters 12894} 12895 12896// RoutesBeginDeleteOptions contains the optional parameters for the Routes.BeginDelete method. 12897type RoutesBeginDeleteOptions struct { 12898 // placeholder for future optional parameters 12899} 12900 12901// RoutesGetOptions contains the optional parameters for the Routes.Get method. 12902type RoutesGetOptions struct { 12903 // placeholder for future optional parameters 12904} 12905 12906// RoutesListOptions contains the optional parameters for the Routes.List method. 12907type RoutesListOptions struct { 12908 // placeholder for future optional parameters 12909} 12910 12911// Routing Configuration indicating the associated and propagated route tables for this connection. 12912type RoutingConfiguration struct { 12913 // The resource id RouteTable associated with this RoutingConfiguration. 12914 AssociatedRouteTable *SubResource `json:"associatedRouteTable,omitempty"` 12915 12916 // The list of RouteTables to advertise the routes to. 12917 PropagatedRouteTables *PropagatedRouteTable `json:"propagatedRouteTables,omitempty"` 12918 12919 // List of routes that control routing from VirtualHub into a virtual network connection. 12920 VnetRoutes *VnetRoute `json:"vnetRoutes,omitempty"` 12921} 12922 12923// Network interface and all its associated security rules. 12924type SecurityGroupNetworkInterface struct { 12925 // ID of the network interface. 12926 ID *string `json:"id,omitempty"` 12927 12928 // All security rules associated with the network interface. 12929 SecurityRuleAssociations *SecurityRuleAssociations `json:"securityRuleAssociations,omitempty"` 12930} 12931 12932// Parameters that define the VM to check security groups for. 12933type SecurityGroupViewParameters struct { 12934 // ID of the target VM. 12935 TargetResourceID *string `json:"targetResourceId,omitempty"` 12936} 12937 12938// The information about security rules applied to the specified VM. 12939type SecurityGroupViewResult struct { 12940 // List of network interfaces on the specified VM. 12941 NetworkInterfaces *[]SecurityGroupNetworkInterface `json:"networkInterfaces,omitempty"` 12942} 12943 12944// SecurityGroupViewResultPollerResponse is the response envelope for operations that asynchronously return a SecurityGroupViewResult type. 12945type SecurityGroupViewResultPollerResponse struct { 12946 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12947 PollUntilDone func(ctx context.Context, frequency time.Duration) (SecurityGroupViewResultResponse, error) 12948 12949 // Poller contains an initialized poller. 12950 Poller SecurityGroupViewResultPoller 12951 12952 // RawResponse contains the underlying HTTP response. 12953 RawResponse *http.Response 12954} 12955 12956// SecurityGroupViewResultResponse is the response envelope for operations that return a SecurityGroupViewResult type. 12957type SecurityGroupViewResultResponse struct { 12958 // RawResponse contains the underlying HTTP response. 12959 RawResponse *http.Response 12960 12961 // The information about security rules applied to the specified VM. 12962 SecurityGroupViewResult *SecurityGroupViewResult 12963} 12964 12965// Security Partner Provider resource. 12966type SecurityPartnerProvider struct { 12967 Resource 12968 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 12969 Etag *string `json:"etag,omitempty" azure:"ro"` 12970 12971 // Properties of the Security Partner Provider. 12972 Properties *SecurityPartnerProviderPropertiesFormat `json:"properties,omitempty"` 12973} 12974 12975// Response for ListSecurityPartnerProviders API service call. 12976type SecurityPartnerProviderListResult struct { 12977 // URL to get the next set of results. 12978 NextLink *string `json:"nextLink,omitempty"` 12979 12980 // List of Security Partner Providers in a resource group. 12981 Value *[]SecurityPartnerProvider `json:"value,omitempty"` 12982} 12983 12984// SecurityPartnerProviderListResultResponse is the response envelope for operations that return a SecurityPartnerProviderListResult type. 12985type SecurityPartnerProviderListResultResponse struct { 12986 // RawResponse contains the underlying HTTP response. 12987 RawResponse *http.Response 12988 12989 // Response for ListSecurityPartnerProviders API service call. 12990 SecurityPartnerProviderListResult *SecurityPartnerProviderListResult 12991} 12992 12993// SecurityPartnerProviderPollerResponse is the response envelope for operations that asynchronously return a SecurityPartnerProvider type. 12994type SecurityPartnerProviderPollerResponse struct { 12995 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 12996 PollUntilDone func(ctx context.Context, frequency time.Duration) (SecurityPartnerProviderResponse, error) 12997 12998 // Poller contains an initialized poller. 12999 Poller SecurityPartnerProviderPoller 13000 13001 // RawResponse contains the underlying HTTP response. 13002 RawResponse *http.Response 13003} 13004 13005// Properties of the Security Partner Provider. 13006type SecurityPartnerProviderPropertiesFormat struct { 13007 // READ-ONLY; The connection status with the Security Partner Provider. 13008 ConnectionStatus *SecurityPartnerProviderConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 13009 13010 // READ-ONLY; The provisioning state of the Security Partner Provider resource. 13011 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13012 13013 // The security provider name. 13014 SecurityProviderName *SecurityProviderName `json:"securityProviderName,omitempty"` 13015 13016 // The virtualHub to which the Security Partner Provider belongs. 13017 VirtualHub *SubResource `json:"virtualHub,omitempty"` 13018} 13019 13020// SecurityPartnerProviderResponse is the response envelope for operations that return a SecurityPartnerProvider type. 13021type SecurityPartnerProviderResponse struct { 13022 // RawResponse contains the underlying HTTP response. 13023 RawResponse *http.Response 13024 13025 // Security Partner Provider resource. 13026 SecurityPartnerProvider *SecurityPartnerProvider 13027} 13028 13029// SecurityPartnerProvidersBeginCreateOrUpdateOptions contains the optional parameters for the SecurityPartnerProviders.BeginCreateOrUpdate method. 13030type SecurityPartnerProvidersBeginCreateOrUpdateOptions struct { 13031 // placeholder for future optional parameters 13032} 13033 13034// SecurityPartnerProvidersBeginDeleteOptions contains the optional parameters for the SecurityPartnerProviders.BeginDelete method. 13035type SecurityPartnerProvidersBeginDeleteOptions struct { 13036 // placeholder for future optional parameters 13037} 13038 13039// SecurityPartnerProvidersGetOptions contains the optional parameters for the SecurityPartnerProviders.Get method. 13040type SecurityPartnerProvidersGetOptions struct { 13041 // placeholder for future optional parameters 13042} 13043 13044// SecurityPartnerProvidersListByResourceGroupOptions contains the optional parameters for the SecurityPartnerProviders.ListByResourceGroup method. 13045type SecurityPartnerProvidersListByResourceGroupOptions struct { 13046 // placeholder for future optional parameters 13047} 13048 13049// SecurityPartnerProvidersListOptions contains the optional parameters for the SecurityPartnerProviders.List method. 13050type SecurityPartnerProvidersListOptions struct { 13051 // placeholder for future optional parameters 13052} 13053 13054// SecurityPartnerProvidersUpdateTagsOptions contains the optional parameters for the SecurityPartnerProviders.UpdateTags method. 13055type SecurityPartnerProvidersUpdateTagsOptions struct { 13056 // placeholder for future optional parameters 13057} 13058 13059// Network security rule. 13060type SecurityRule struct { 13061 SubResource 13062 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13063 Etag *string `json:"etag,omitempty" azure:"ro"` 13064 13065 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 13066 Name *string `json:"name,omitempty"` 13067 13068 // Properties of the security rule. 13069 Properties *SecurityRulePropertiesFormat `json:"properties,omitempty"` 13070} 13071 13072// All security rules associated with the network interface. 13073type SecurityRuleAssociations struct { 13074 // Collection of default security rules of the network security group. 13075 DefaultSecurityRules *[]SecurityRule `json:"defaultSecurityRules,omitempty"` 13076 13077 // Collection of effective security rules. 13078 EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` 13079 13080 // Network interface and it's custom security rules. 13081 NetworkInterfaceAssociation *NetworkInterfaceAssociation `json:"networkInterfaceAssociation,omitempty"` 13082 13083 // Subnet and it's custom security rules. 13084 SubnetAssociation *SubnetAssociation `json:"subnetAssociation,omitempty"` 13085} 13086 13087// Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 13088type SecurityRuleListResult struct { 13089 // The URL to get the next set of results. 13090 NextLink *string `json:"nextLink,omitempty"` 13091 13092 // The security rules in a network security group. 13093 Value *[]SecurityRule `json:"value,omitempty"` 13094} 13095 13096// SecurityRuleListResultResponse is the response envelope for operations that return a SecurityRuleListResult type. 13097type SecurityRuleListResultResponse struct { 13098 // RawResponse contains the underlying HTTP response. 13099 RawResponse *http.Response 13100 13101 // Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 13102 SecurityRuleListResult *SecurityRuleListResult 13103} 13104 13105// SecurityRulePollerResponse is the response envelope for operations that asynchronously return a SecurityRule type. 13106type SecurityRulePollerResponse struct { 13107 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 13108 PollUntilDone func(ctx context.Context, frequency time.Duration) (SecurityRuleResponse, error) 13109 13110 // Poller contains an initialized poller. 13111 Poller SecurityRulePoller 13112 13113 // RawResponse contains the underlying HTTP response. 13114 RawResponse *http.Response 13115} 13116 13117// Security rule resource. 13118type SecurityRulePropertiesFormat struct { 13119 // The network traffic is allowed or denied. 13120 Access *SecurityRuleAccess `json:"access,omitempty"` 13121 13122 // A description for this rule. Restricted to 140 chars. 13123 Description *string `json:"description,omitempty"` 13124 13125 // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 13126 // 'AzureLoadBalancer' and 'Internet' can also 13127 // be used. 13128 DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` 13129 13130 // The destination address prefixes. CIDR or destination IP ranges. 13131 DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` 13132 13133 // The application security group specified as destination. 13134 DestinationApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"destinationApplicationSecurityGroups,omitempty"` 13135 13136 // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. 13137 DestinationPortRange *string `json:"destinationPortRange,omitempty"` 13138 13139 // The destination port ranges. 13140 DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` 13141 13142 // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. 13143 Direction *SecurityRuleDirection `json:"direction,omitempty"` 13144 13145 // 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 13146 // number, the higher the priority of the rule. 13147 Priority *int32 `json:"priority,omitempty"` 13148 13149 // Network protocol this rule applies to. 13150 Protocol *SecurityRuleProtocol `json:"protocol,omitempty"` 13151 13152 // READ-ONLY; The provisioning state of the security rule resource. 13153 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13154 13155 // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 13156 // can also be used. If this is an ingress 13157 // rule, specifies where network traffic originates from. 13158 SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` 13159 13160 // The CIDR or source IP ranges. 13161 SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` 13162 13163 // The application security group specified as source. 13164 SourceApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"sourceApplicationSecurityGroups,omitempty"` 13165 13166 // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. 13167 SourcePortRange *string `json:"sourcePortRange,omitempty"` 13168 13169 // The source port ranges. 13170 SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` 13171} 13172 13173// SecurityRuleResponse is the response envelope for operations that return a SecurityRule type. 13174type SecurityRuleResponse struct { 13175 // RawResponse contains the underlying HTTP response. 13176 RawResponse *http.Response 13177 13178 // Network security rule. 13179 SecurityRule *SecurityRule 13180} 13181 13182// SecurityRulesBeginCreateOrUpdateOptions contains the optional parameters for the SecurityRules.BeginCreateOrUpdate method. 13183type SecurityRulesBeginCreateOrUpdateOptions struct { 13184 // placeholder for future optional parameters 13185} 13186 13187// SecurityRulesBeginDeleteOptions contains the optional parameters for the SecurityRules.BeginDelete method. 13188type SecurityRulesBeginDeleteOptions struct { 13189 // placeholder for future optional parameters 13190} 13191 13192// SecurityRulesGetOptions contains the optional parameters for the SecurityRules.Get method. 13193type SecurityRulesGetOptions struct { 13194 // placeholder for future optional parameters 13195} 13196 13197// SecurityRulesListOptions contains the optional parameters for the SecurityRules.List method. 13198type SecurityRulesListOptions struct { 13199 // placeholder for future optional parameters 13200} 13201 13202// ServiceAssociationLink resource. 13203type ServiceAssociationLink struct { 13204 SubResource 13205 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13206 Etag *string `json:"etag,omitempty" azure:"ro"` 13207 13208 // Name of the resource that is unique within a resource group. This name can be used to access the resource. 13209 Name *string `json:"name,omitempty"` 13210 13211 // Resource navigation link properties format. 13212 Properties *ServiceAssociationLinkPropertiesFormat `json:"properties,omitempty"` 13213 13214 // READ-ONLY; Resource type. 13215 Type *string `json:"type,omitempty" azure:"ro"` 13216} 13217 13218// Properties of ServiceAssociationLink. 13219type ServiceAssociationLinkPropertiesFormat struct { 13220 // If true, the resource can be deleted. 13221 AllowDelete *bool `json:"allowDelete,omitempty"` 13222 13223 // Link to the external resource. 13224 Link *string `json:"link,omitempty"` 13225 13226 // Resource type of the linked resource. 13227 LinkedResourceType *string `json:"linkedResourceType,omitempty"` 13228 13229 // A list of locations. 13230 Locations *[]string `json:"locations,omitempty"` 13231 13232 // READ-ONLY; The provisioning state of the service association link resource. 13233 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13234} 13235 13236// ServiceAssociationLinksListOptions contains the optional parameters for the ServiceAssociationLinks.List method. 13237type ServiceAssociationLinksListOptions struct { 13238 // placeholder for future optional parameters 13239} 13240 13241// Response for ServiceAssociationLinks_List operation. 13242type ServiceAssociationLinksListResult struct { 13243 // READ-ONLY; The URL to get the next set of results. 13244 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 13245 13246 // The service association links in a subnet. 13247 Value *[]ServiceAssociationLink `json:"value,omitempty"` 13248} 13249 13250// ServiceAssociationLinksListResultResponse is the response envelope for operations that return a ServiceAssociationLinksListResult type. 13251type ServiceAssociationLinksListResultResponse struct { 13252 // RawResponse contains the underlying HTTP response. 13253 RawResponse *http.Response 13254 13255 // Response for ServiceAssociationLinks_List operation. 13256 ServiceAssociationLinksListResult *ServiceAssociationLinksListResult 13257} 13258 13259// Properties of a service delegation. 13260type ServiceDelegationPropertiesFormat struct { 13261 // READ-ONLY; The actions permitted to the service upon delegation. 13262 Actions *[]string `json:"actions,omitempty" azure:"ro"` 13263 13264 // READ-ONLY; The provisioning state of the service delegation resource. 13265 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13266 13267 // The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). 13268 ServiceName *string `json:"serviceName,omitempty"` 13269} 13270 13271// ServiceEndpointPoliciesBeginCreateOrUpdateOptions contains the optional parameters for the ServiceEndpointPolicies.BeginCreateOrUpdate method. 13272type ServiceEndpointPoliciesBeginCreateOrUpdateOptions struct { 13273 // placeholder for future optional parameters 13274} 13275 13276// ServiceEndpointPoliciesBeginDeleteOptions contains the optional parameters for the ServiceEndpointPolicies.BeginDelete method. 13277type ServiceEndpointPoliciesBeginDeleteOptions struct { 13278 // placeholder for future optional parameters 13279} 13280 13281// ServiceEndpointPoliciesGetOptions contains the optional parameters for the ServiceEndpointPolicies.Get method. 13282type ServiceEndpointPoliciesGetOptions struct { 13283 // Expands referenced resources. 13284 Expand *string 13285} 13286 13287// ServiceEndpointPoliciesListByResourceGroupOptions contains the optional parameters for the ServiceEndpointPolicies.ListByResourceGroup method. 13288type ServiceEndpointPoliciesListByResourceGroupOptions struct { 13289 // placeholder for future optional parameters 13290} 13291 13292// ServiceEndpointPoliciesListOptions contains the optional parameters for the ServiceEndpointPolicies.List method. 13293type ServiceEndpointPoliciesListOptions struct { 13294 // placeholder for future optional parameters 13295} 13296 13297// ServiceEndpointPoliciesUpdateTagsOptions contains the optional parameters for the ServiceEndpointPolicies.UpdateTags method. 13298type ServiceEndpointPoliciesUpdateTagsOptions struct { 13299 // placeholder for future optional parameters 13300} 13301 13302// Service End point policy resource. 13303type ServiceEndpointPolicy struct { 13304 Resource 13305 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13306 Etag *string `json:"etag,omitempty" azure:"ro"` 13307 13308 // Properties of the service end point policy. 13309 Properties *ServiceEndpointPolicyPropertiesFormat `json:"properties,omitempty"` 13310} 13311 13312// Service Endpoint policy definitions. 13313type ServiceEndpointPolicyDefinition struct { 13314 SubResource 13315 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13316 Etag *string `json:"etag,omitempty" azure:"ro"` 13317 13318 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 13319 Name *string `json:"name,omitempty"` 13320 13321 // Properties of the service endpoint policy definition. 13322 Properties *ServiceEndpointPolicyDefinitionPropertiesFormat `json:"properties,omitempty"` 13323} 13324 13325// Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint 13326// policy. 13327type ServiceEndpointPolicyDefinitionListResult struct { 13328 // The URL to get the next set of results. 13329 NextLink *string `json:"nextLink,omitempty"` 13330 13331 // The service endpoint policy definition in a service endpoint policy. 13332 Value *[]ServiceEndpointPolicyDefinition `json:"value,omitempty"` 13333} 13334 13335// ServiceEndpointPolicyDefinitionListResultResponse is the response envelope for operations that return a ServiceEndpointPolicyDefinitionListResult type. 13336type ServiceEndpointPolicyDefinitionListResultResponse struct { 13337 // RawResponse contains the underlying HTTP response. 13338 RawResponse *http.Response 13339 13340 // Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint 13341 // policy. 13342 ServiceEndpointPolicyDefinitionListResult *ServiceEndpointPolicyDefinitionListResult 13343} 13344 13345// ServiceEndpointPolicyDefinitionPollerResponse is the response envelope for operations that asynchronously return a ServiceEndpointPolicyDefinition type. 13346type ServiceEndpointPolicyDefinitionPollerResponse struct { 13347 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 13348 PollUntilDone func(ctx context.Context, frequency time.Duration) (ServiceEndpointPolicyDefinitionResponse, error) 13349 13350 // Poller contains an initialized poller. 13351 Poller ServiceEndpointPolicyDefinitionPoller 13352 13353 // RawResponse contains the underlying HTTP response. 13354 RawResponse *http.Response 13355} 13356 13357// Service Endpoint policy definition resource. 13358type ServiceEndpointPolicyDefinitionPropertiesFormat struct { 13359 // A description for this rule. Restricted to 140 chars. 13360 Description *string `json:"description,omitempty"` 13361 13362 // READ-ONLY; The provisioning state of the service endpoint policy definition resource. 13363 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13364 13365 // Service endpoint name. 13366 Service *string `json:"service,omitempty"` 13367 13368 // A list of service resources. 13369 ServiceResources *[]string `json:"serviceResources,omitempty"` 13370} 13371 13372// ServiceEndpointPolicyDefinitionResponse is the response envelope for operations that return a ServiceEndpointPolicyDefinition type. 13373type ServiceEndpointPolicyDefinitionResponse struct { 13374 // RawResponse contains the underlying HTTP response. 13375 RawResponse *http.Response 13376 13377 // Service Endpoint policy definitions. 13378 ServiceEndpointPolicyDefinition *ServiceEndpointPolicyDefinition 13379} 13380 13381// ServiceEndpointPolicyDefinitionsBeginCreateOrUpdateOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.BeginCreateOrUpdate 13382// method. 13383type ServiceEndpointPolicyDefinitionsBeginCreateOrUpdateOptions struct { 13384 // placeholder for future optional parameters 13385} 13386 13387// ServiceEndpointPolicyDefinitionsBeginDeleteOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.BeginDelete method. 13388type ServiceEndpointPolicyDefinitionsBeginDeleteOptions struct { 13389 // placeholder for future optional parameters 13390} 13391 13392// ServiceEndpointPolicyDefinitionsGetOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.Get method. 13393type ServiceEndpointPolicyDefinitionsGetOptions struct { 13394 // placeholder for future optional parameters 13395} 13396 13397// ServiceEndpointPolicyDefinitionsListByResourceGroupOptions contains the optional parameters for the ServiceEndpointPolicyDefinitions.ListByResourceGroup 13398// method. 13399type ServiceEndpointPolicyDefinitionsListByResourceGroupOptions struct { 13400 // placeholder for future optional parameters 13401} 13402 13403// Response for ListServiceEndpointPolicies API service call. 13404type ServiceEndpointPolicyListResult struct { 13405 // READ-ONLY; The URL to get the next set of results. 13406 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 13407 13408 // A list of ServiceEndpointPolicy resources. 13409 Value *[]ServiceEndpointPolicy `json:"value,omitempty"` 13410} 13411 13412// ServiceEndpointPolicyListResultResponse is the response envelope for operations that return a ServiceEndpointPolicyListResult type. 13413type ServiceEndpointPolicyListResultResponse struct { 13414 // RawResponse contains the underlying HTTP response. 13415 RawResponse *http.Response 13416 13417 // Response for ListServiceEndpointPolicies API service call. 13418 ServiceEndpointPolicyListResult *ServiceEndpointPolicyListResult 13419} 13420 13421// ServiceEndpointPolicyPollerResponse is the response envelope for operations that asynchronously return a ServiceEndpointPolicy type. 13422type ServiceEndpointPolicyPollerResponse struct { 13423 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 13424 PollUntilDone func(ctx context.Context, frequency time.Duration) (ServiceEndpointPolicyResponse, error) 13425 13426 // Poller contains an initialized poller. 13427 Poller ServiceEndpointPolicyPoller 13428 13429 // RawResponse contains the underlying HTTP response. 13430 RawResponse *http.Response 13431} 13432 13433// Service Endpoint Policy resource. 13434type ServiceEndpointPolicyPropertiesFormat struct { 13435 // READ-ONLY; The provisioning state of the service endpoint policy resource. 13436 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13437 13438 // READ-ONLY; The resource GUID property of the service endpoint policy resource. 13439 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 13440 13441 // A collection of service endpoint policy definitions of the service endpoint policy. 13442 ServiceEndpointPolicyDefinitions *[]ServiceEndpointPolicyDefinition `json:"serviceEndpointPolicyDefinitions,omitempty"` 13443 13444 // READ-ONLY; A collection of references to subnets. 13445 Subnets *[]Subnet `json:"subnets,omitempty" azure:"ro"` 13446} 13447 13448// ServiceEndpointPolicyResponse is the response envelope for operations that return a ServiceEndpointPolicy type. 13449type ServiceEndpointPolicyResponse struct { 13450 // RawResponse contains the underlying HTTP response. 13451 RawResponse *http.Response 13452 13453 // Service End point policy resource. 13454 ServiceEndpointPolicy *ServiceEndpointPolicy 13455} 13456 13457// The service endpoint properties. 13458type ServiceEndpointPropertiesFormat struct { 13459 // A list of locations. 13460 Locations *[]string `json:"locations,omitempty"` 13461 13462 // READ-ONLY; The provisioning state of the service endpoint resource. 13463 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13464 13465 // The type of the endpoint service. 13466 Service *string `json:"service,omitempty"` 13467} 13468 13469// The service tag information. 13470type ServiceTagInformation struct { 13471 // READ-ONLY; The ID of service tag. 13472 ID *string `json:"id,omitempty" azure:"ro"` 13473 13474 // READ-ONLY; The name of service tag. 13475 Name *string `json:"name,omitempty" azure:"ro"` 13476 13477 // READ-ONLY; Properties of the service tag information. 13478 Properties *ServiceTagInformationPropertiesFormat `json:"properties,omitempty" azure:"ro"` 13479} 13480 13481// Properties of the service tag information. 13482type ServiceTagInformationPropertiesFormat struct { 13483 // READ-ONLY; The list of IP address prefixes. 13484 AddressPrefixes *[]string `json:"addressPrefixes,omitempty" azure:"ro"` 13485 13486 // READ-ONLY; The iteration number of service tag. 13487 ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` 13488 13489 // READ-ONLY; The region of service tag. 13490 Region *string `json:"region,omitempty" azure:"ro"` 13491 13492 // READ-ONLY; The name of system service. 13493 SystemService *string `json:"systemService,omitempty" azure:"ro"` 13494} 13495 13496// ServiceTagsListOptions contains the optional parameters for the ServiceTags.List method. 13497type ServiceTagsListOptions struct { 13498 // placeholder for future optional parameters 13499} 13500 13501// Response for the ListServiceTags API service call. 13502type ServiceTagsListResult struct { 13503 // READ-ONLY; The iteration number. 13504 ChangeNumber *string `json:"changeNumber,omitempty" azure:"ro"` 13505 13506 // READ-ONLY; The name of the cloud. 13507 Cloud *string `json:"cloud,omitempty" azure:"ro"` 13508 13509 // READ-ONLY; The ID of the cloud. 13510 ID *string `json:"id,omitempty" azure:"ro"` 13511 13512 // READ-ONLY; The name of the cloud. 13513 Name *string `json:"name,omitempty" azure:"ro"` 13514 13515 // READ-ONLY; The URL to get next page of service tag information resources. 13516 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 13517 13518 // READ-ONLY; The azure resource type. 13519 Type *string `json:"type,omitempty" azure:"ro"` 13520 13521 // READ-ONLY; The list of service tag information resources. 13522 Values *[]ServiceTagInformation `json:"values,omitempty" azure:"ro"` 13523} 13524 13525// ServiceTagsListResultResponse is the response envelope for operations that return a ServiceTagsListResult type. 13526type ServiceTagsListResultResponse struct { 13527 // RawResponse contains the underlying HTTP response. 13528 RawResponse *http.Response 13529 13530 // Response for the ListServiceTags API service call. 13531 ServiceTagsListResult *ServiceTagsListResult 13532} 13533 13534// List of session IDs. 13535type SessionIDs struct { 13536 // List of session IDs. 13537 SessionIDs *[]string `json:"sessionIds,omitempty"` 13538} 13539 13540// List of all Static Routes. 13541type StaticRoute struct { 13542 // List of all address prefixes. 13543 AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` 13544 13545 // The name of the StaticRoute that is unique within a VnetRoute. 13546 Name *string `json:"name,omitempty"` 13547 13548 // The ip address of the next hop. 13549 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 13550} 13551 13552// StringArrayResponse is the response envelope for operations that return a []string type. 13553type StringArrayResponse struct { 13554 // RawResponse contains the underlying HTTP response. 13555 RawResponse *http.Response 13556 13557 // Response for ApplicationGatewayAvailableServerVariables API service call. 13558 StringArray *[]string 13559} 13560 13561// StringPollerResponse is the response envelope for operations that asynchronously return a string type. 13562type StringPollerResponse struct { 13563 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 13564 PollUntilDone func(ctx context.Context, frequency time.Duration) (StringResponse, error) 13565 13566 // Poller contains an initialized poller. 13567 Poller StringPoller 13568 13569 // RawResponse contains the underlying HTTP response. 13570 RawResponse *http.Response 13571} 13572 13573// StringResponse is the response envelope for operations that return a string type. 13574type StringResponse struct { 13575 // RawResponse contains the underlying HTTP response. 13576 RawResponse *http.Response 13577 Value *string 13578} 13579 13580// Reference to another subresource. 13581type SubResource struct { 13582 // Resource ID. 13583 ID *string `json:"id,omitempty"` 13584} 13585 13586// Subnet in a virtual network resource. 13587type Subnet struct { 13588 SubResource 13589 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 13590 Etag *string `json:"etag,omitempty" azure:"ro"` 13591 13592 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 13593 Name *string `json:"name,omitempty"` 13594 13595 // Properties of the subnet. 13596 Properties *SubnetPropertiesFormat `json:"properties,omitempty"` 13597} 13598 13599// Subnet and it's custom security rules. 13600type SubnetAssociation struct { 13601 // READ-ONLY; Subnet ID. 13602 ID *string `json:"id,omitempty" azure:"ro"` 13603 13604 // Collection of custom security rules. 13605 SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` 13606} 13607 13608// Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 13609type SubnetListResult struct { 13610 // The URL to get the next set of results. 13611 NextLink *string `json:"nextLink,omitempty"` 13612 13613 // The subnets in a virtual network. 13614 Value *[]Subnet `json:"value,omitempty"` 13615} 13616 13617// SubnetListResultResponse is the response envelope for operations that return a SubnetListResult type. 13618type SubnetListResultResponse struct { 13619 // RawResponse contains the underlying HTTP response. 13620 RawResponse *http.Response 13621 13622 // Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 13623 SubnetListResult *SubnetListResult 13624} 13625 13626// SubnetPollerResponse is the response envelope for operations that asynchronously return a Subnet type. 13627type SubnetPollerResponse struct { 13628 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 13629 PollUntilDone func(ctx context.Context, frequency time.Duration) (SubnetResponse, error) 13630 13631 // Poller contains an initialized poller. 13632 Poller SubnetPoller 13633 13634 // RawResponse contains the underlying HTTP response. 13635 RawResponse *http.Response 13636} 13637 13638// Properties of the subnet. 13639type SubnetPropertiesFormat struct { 13640 // The address prefix for the subnet. 13641 AddressPrefix *string `json:"addressPrefix,omitempty"` 13642 13643 // List of address prefixes for the subnet. 13644 AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` 13645 13646 // An array of references to the delegations on the subnet. 13647 Delegations *[]Delegation `json:"delegations,omitempty"` 13648 13649 // Array of IpAllocation which reference this subnet. 13650 IPAllocations *[]SubResource `json:"ipAllocations,omitempty"` 13651 13652 // READ-ONLY; Array of IP configuration profiles which reference this subnet. 13653 IPConfigurationProfiles *[]IPConfigurationProfile `json:"ipConfigurationProfiles,omitempty" azure:"ro"` 13654 13655 // READ-ONLY; An array of references to the network interface IP configurations using subnet. 13656 IPConfigurations *[]IPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` 13657 13658 // Nat gateway associated with this subnet. 13659 NatGateway *SubResource `json:"natGateway,omitempty"` 13660 13661 // The reference to the NetworkSecurityGroup resource. 13662 NetworkSecurityGroup *NetworkSecurityGroup `json:"networkSecurityGroup,omitempty"` 13663 13664 // Enable or Disable apply network policies on private end point in the subnet. 13665 PrivateEndpointNetworkPolicies *string `json:"privateEndpointNetworkPolicies,omitempty"` 13666 13667 // READ-ONLY; An array of references to private endpoints. 13668 PrivateEndpoints *[]PrivateEndpoint `json:"privateEndpoints,omitempty" azure:"ro"` 13669 13670 // Enable or Disable apply network policies on private link service in the subnet. 13671 PrivateLinkServiceNetworkPolicies *string `json:"privateLinkServiceNetworkPolicies,omitempty"` 13672 13673 // READ-ONLY; The provisioning state of the subnet resource. 13674 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 13675 13676 // READ-ONLY; A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. 13677 Purpose *string `json:"purpose,omitempty" azure:"ro"` 13678 13679 // READ-ONLY; An array of references to the external resources using subnet. 13680 ResourceNavigationLinks *[]ResourceNavigationLink `json:"resourceNavigationLinks,omitempty" azure:"ro"` 13681 13682 // The reference to the RouteTable resource. 13683 RouteTable *RouteTable `json:"routeTable,omitempty"` 13684 13685 // READ-ONLY; An array of references to services injecting into this subnet. 13686 ServiceAssociationLinks *[]ServiceAssociationLink `json:"serviceAssociationLinks,omitempty" azure:"ro"` 13687 13688 // An array of service endpoint policies. 13689 ServiceEndpointPolicies *[]ServiceEndpointPolicy `json:"serviceEndpointPolicies,omitempty"` 13690 13691 // An array of service endpoints. 13692 ServiceEndpoints *[]ServiceEndpointPropertiesFormat `json:"serviceEndpoints,omitempty"` 13693} 13694 13695// SubnetResponse is the response envelope for operations that return a Subnet type. 13696type SubnetResponse struct { 13697 // RawResponse contains the underlying HTTP response. 13698 RawResponse *http.Response 13699 13700 // Subnet in a virtual network resource. 13701 Subnet *Subnet 13702} 13703 13704// SubnetsBeginCreateOrUpdateOptions contains the optional parameters for the Subnets.BeginCreateOrUpdate method. 13705type SubnetsBeginCreateOrUpdateOptions struct { 13706 // placeholder for future optional parameters 13707} 13708 13709// SubnetsBeginDeleteOptions contains the optional parameters for the Subnets.BeginDelete method. 13710type SubnetsBeginDeleteOptions struct { 13711 // placeholder for future optional parameters 13712} 13713 13714// SubnetsBeginPrepareNetworkPoliciesOptions contains the optional parameters for the Subnets.BeginPrepareNetworkPolicies method. 13715type SubnetsBeginPrepareNetworkPoliciesOptions struct { 13716 // placeholder for future optional parameters 13717} 13718 13719// SubnetsBeginUnprepareNetworkPoliciesOptions contains the optional parameters for the Subnets.BeginUnprepareNetworkPolicies method. 13720type SubnetsBeginUnprepareNetworkPoliciesOptions struct { 13721 // placeholder for future optional parameters 13722} 13723 13724// SubnetsGetOptions contains the optional parameters for the Subnets.Get method. 13725type SubnetsGetOptions struct { 13726 // Expands referenced resources. 13727 Expand *string 13728} 13729 13730// SubnetsListOptions contains the optional parameters for the Subnets.List method. 13731type SubnetsListOptions struct { 13732 // placeholder for future optional parameters 13733} 13734 13735// Tags object for patch operations. 13736type TagsObject struct { 13737 // Resource tags. 13738 Tags *map[string]string `json:"tags,omitempty"` 13739} 13740 13741// Topology of the specified resource group. 13742type Topology struct { 13743 // READ-ONLY; The datetime when the topology was initially created for the resource group. 13744 CreatedDateTime *time.Time `json:"createdDateTime,omitempty" azure:"ro"` 13745 13746 // READ-ONLY; GUID representing the operation id. 13747 ID *string `json:"id,omitempty" azure:"ro"` 13748 13749 // READ-ONLY; The datetime when the topology was last modified. 13750 LastModified *time.Time `json:"lastModified,omitempty" azure:"ro"` 13751 13752 // A list of topology resources. 13753 Resources *[]TopologyResource `json:"resources,omitempty"` 13754} 13755 13756// MarshalJSON implements the json.Marshaller interface for type Topology. 13757func (t Topology) MarshalJSON() ([]byte, error) { 13758 objectMap := make(map[string]interface{}) 13759 if t.CreatedDateTime != nil { 13760 objectMap["createdDateTime"] = (*timeRFC3339)(t.CreatedDateTime) 13761 } 13762 if t.ID != nil { 13763 objectMap["id"] = t.ID 13764 } 13765 if t.LastModified != nil { 13766 objectMap["lastModified"] = (*timeRFC3339)(t.LastModified) 13767 } 13768 if t.Resources != nil { 13769 objectMap["resources"] = t.Resources 13770 } 13771 return json.Marshal(objectMap) 13772} 13773 13774// UnmarshalJSON implements the json.Unmarshaller interface for type Topology. 13775func (t *Topology) UnmarshalJSON(data []byte) error { 13776 var rawMsg map[string]*json.RawMessage 13777 if err := json.Unmarshal(data, &rawMsg); err != nil { 13778 return err 13779 } 13780 for key, val := range rawMsg { 13781 var err error 13782 switch key { 13783 case "createdDateTime": 13784 if val != nil { 13785 var aux timeRFC3339 13786 err = json.Unmarshal(*val, &aux) 13787 t.CreatedDateTime = (*time.Time)(&aux) 13788 } 13789 delete(rawMsg, key) 13790 case "id": 13791 if val != nil { 13792 err = json.Unmarshal(*val, &t.ID) 13793 } 13794 delete(rawMsg, key) 13795 case "lastModified": 13796 if val != nil { 13797 var aux timeRFC3339 13798 err = json.Unmarshal(*val, &aux) 13799 t.LastModified = (*time.Time)(&aux) 13800 } 13801 delete(rawMsg, key) 13802 case "resources": 13803 if val != nil { 13804 err = json.Unmarshal(*val, &t.Resources) 13805 } 13806 delete(rawMsg, key) 13807 } 13808 if err != nil { 13809 return err 13810 } 13811 } 13812 return nil 13813} 13814 13815// Resources that have an association with the parent resource. 13816type TopologyAssociation struct { 13817 // The association type of the child resource to the parent resource. 13818 AssociationType *AssociationType `json:"associationType,omitempty"` 13819 13820 // The name of the resource that is associated with the parent resource. 13821 Name *string `json:"name,omitempty"` 13822 13823 // The ID of the resource that is associated with the parent resource. 13824 ResourceID *string `json:"resourceId,omitempty"` 13825} 13826 13827// Parameters that define the representation of topology. 13828type TopologyParameters struct { 13829 // The name of the target resource group to perform topology on. 13830 TargetResourceGroupName *string `json:"targetResourceGroupName,omitempty"` 13831 13832 // The reference to the Subnet resource. 13833 TargetSubnet *SubResource `json:"targetSubnet,omitempty"` 13834 13835 // The reference to the Virtual Network resource. 13836 TargetVirtualNetwork *SubResource `json:"targetVirtualNetwork,omitempty"` 13837} 13838 13839// The network resource topology information for the given resource group. 13840type TopologyResource struct { 13841 // Holds the associations the resource has with other resources in the resource group. 13842 Associations *[]TopologyAssociation `json:"associations,omitempty"` 13843 13844 // ID of the resource. 13845 ID *string `json:"id,omitempty"` 13846 13847 // Resource location. 13848 Location *string `json:"location,omitempty"` 13849 13850 // Name of the resource. 13851 Name *string `json:"name,omitempty"` 13852} 13853 13854// TopologyResponse is the response envelope for operations that return a Topology type. 13855type TopologyResponse struct { 13856 // RawResponse contains the underlying HTTP response. 13857 RawResponse *http.Response 13858 13859 // Topology of the specified resource group. 13860 Topology *Topology 13861} 13862 13863// Parameters that define the configuration of traffic analytics. 13864type TrafficAnalyticsConfigurationProperties struct { 13865 // Flag to enable/disable traffic analytics. 13866 Enabled *bool `json:"enabled,omitempty"` 13867 13868 // The interval in minutes which would decide how frequently TA service should do flow analytics. 13869 TrafficAnalyticsInterval *int32 `json:"trafficAnalyticsInterval,omitempty"` 13870 13871 // The resource guid of the attached workspace. 13872 WorkspaceID *string `json:"workspaceId,omitempty"` 13873 13874 // The location of the attached workspace. 13875 WorkspaceRegion *string `json:"workspaceRegion,omitempty"` 13876 13877 // Resource Id of the attached workspace. 13878 WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` 13879} 13880 13881// Parameters that define the configuration of traffic analytics. 13882type TrafficAnalyticsProperties struct { 13883 // Parameters that define the configuration of traffic analytics. 13884 NetworkWatcherFlowAnalyticsConfiguration *TrafficAnalyticsConfigurationProperties `json:"networkWatcherFlowAnalyticsConfiguration,omitempty"` 13885} 13886 13887// An traffic selector policy for a virtual network gateway connection. 13888type TrafficSelectorPolicy struct { 13889 // A collection of local address spaces in CIDR format. 13890 LocalAddressRanges *[]string `json:"localAddressRanges,omitempty"` 13891 13892 // A collection of remote address spaces in CIDR format. 13893 RemoteAddressRanges *[]string `json:"remoteAddressRanges,omitempty"` 13894} 13895 13896// Information gained from troubleshooting of specified resource. 13897type TroubleshootingDetails struct { 13898 // Details on troubleshooting results. 13899 Detail *string `json:"detail,omitempty"` 13900 13901 // The id of the get troubleshoot operation. 13902 ID *string `json:"id,omitempty"` 13903 13904 // Reason type of failure. 13905 ReasonType *string `json:"reasonType,omitempty"` 13906 13907 // List of recommended actions. 13908 RecommendedActions *[]TroubleshootingRecommendedActions `json:"recommendedActions,omitempty"` 13909 13910 // A summary of troubleshooting. 13911 Summary *string `json:"summary,omitempty"` 13912} 13913 13914// Parameters that define the resource to troubleshoot. 13915type TroubleshootingParameters struct { 13916 // Properties of the troubleshooting resource. 13917 Properties *TroubleshootingProperties `json:"properties,omitempty"` 13918 13919 // The target resource to troubleshoot. 13920 TargetResourceID *string `json:"targetResourceId,omitempty"` 13921} 13922 13923// Storage location provided for troubleshoot. 13924type TroubleshootingProperties struct { 13925 // The ID for the storage account to save the troubleshoot result. 13926 StorageID *string `json:"storageId,omitempty"` 13927 13928 // The path to the blob to save the troubleshoot result in. 13929 StoragePath *string `json:"storagePath,omitempty"` 13930} 13931 13932// Recommended actions based on discovered issues. 13933type TroubleshootingRecommendedActions struct { 13934 // ID of the recommended action. 13935 ActionID *string `json:"actionId,omitempty"` 13936 13937 // Description of recommended actions. 13938 ActionText *string `json:"actionText,omitempty"` 13939 13940 // The uri linking to a documentation for the recommended troubleshooting actions. 13941 ActionURI *string `json:"actionUri,omitempty"` 13942 13943 // The information from the URI for the recommended troubleshooting actions. 13944 ActionURIText *string `json:"actionUriText,omitempty"` 13945} 13946 13947// Troubleshooting information gained from specified resource. 13948type TroubleshootingResult struct { 13949 // The result code of the troubleshooting. 13950 Code *string `json:"code,omitempty"` 13951 13952 // The end time of the troubleshooting. 13953 EndTime *time.Time `json:"endTime,omitempty"` 13954 13955 // Information from troubleshooting. 13956 Results *[]TroubleshootingDetails `json:"results,omitempty"` 13957 13958 // The start time of the troubleshooting. 13959 StartTime *time.Time `json:"startTime,omitempty"` 13960} 13961 13962// MarshalJSON implements the json.Marshaller interface for type TroubleshootingResult. 13963func (t TroubleshootingResult) MarshalJSON() ([]byte, error) { 13964 objectMap := make(map[string]interface{}) 13965 if t.Code != nil { 13966 objectMap["code"] = t.Code 13967 } 13968 if t.EndTime != nil { 13969 objectMap["endTime"] = (*timeRFC3339)(t.EndTime) 13970 } 13971 if t.Results != nil { 13972 objectMap["results"] = t.Results 13973 } 13974 if t.StartTime != nil { 13975 objectMap["startTime"] = (*timeRFC3339)(t.StartTime) 13976 } 13977 return json.Marshal(objectMap) 13978} 13979 13980// UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingResult. 13981func (t *TroubleshootingResult) UnmarshalJSON(data []byte) error { 13982 var rawMsg map[string]*json.RawMessage 13983 if err := json.Unmarshal(data, &rawMsg); err != nil { 13984 return err 13985 } 13986 for key, val := range rawMsg { 13987 var err error 13988 switch key { 13989 case "code": 13990 if val != nil { 13991 err = json.Unmarshal(*val, &t.Code) 13992 } 13993 delete(rawMsg, key) 13994 case "endTime": 13995 if val != nil { 13996 var aux timeRFC3339 13997 err = json.Unmarshal(*val, &aux) 13998 t.EndTime = (*time.Time)(&aux) 13999 } 14000 delete(rawMsg, key) 14001 case "results": 14002 if val != nil { 14003 err = json.Unmarshal(*val, &t.Results) 14004 } 14005 delete(rawMsg, key) 14006 case "startTime": 14007 if val != nil { 14008 var aux timeRFC3339 14009 err = json.Unmarshal(*val, &aux) 14010 t.StartTime = (*time.Time)(&aux) 14011 } 14012 delete(rawMsg, key) 14013 } 14014 if err != nil { 14015 return err 14016 } 14017 } 14018 return nil 14019} 14020 14021// TroubleshootingResultPollerResponse is the response envelope for operations that asynchronously return a TroubleshootingResult type. 14022type TroubleshootingResultPollerResponse struct { 14023 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 14024 PollUntilDone func(ctx context.Context, frequency time.Duration) (TroubleshootingResultResponse, error) 14025 14026 // Poller contains an initialized poller. 14027 Poller TroubleshootingResultPoller 14028 14029 // RawResponse contains the underlying HTTP response. 14030 RawResponse *http.Response 14031} 14032 14033// TroubleshootingResultResponse is the response envelope for operations that return a TroubleshootingResult type. 14034type TroubleshootingResultResponse struct { 14035 // RawResponse contains the underlying HTTP response. 14036 RawResponse *http.Response 14037 14038 // Troubleshooting information gained from specified resource. 14039 TroubleshootingResult *TroubleshootingResult 14040} 14041 14042// VirtualNetworkGatewayConnection properties. 14043type TunnelConnectionHealth struct { 14044 // READ-ONLY; Virtual Network Gateway connection status. 14045 ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 14046 14047 // READ-ONLY; The Egress Bytes Transferred in this connection. 14048 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 14049 14050 // READ-ONLY; The Ingress Bytes Transferred in this connection. 14051 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 14052 14053 // READ-ONLY; The time at which connection was established in Utc format. 14054 LastConnectionEstablishedUTCTime *string `json:"lastConnectionEstablishedUtcTime,omitempty" azure:"ro"` 14055 14056 // READ-ONLY; Tunnel name. 14057 Tunnel *string `json:"tunnel,omitempty" azure:"ro"` 14058} 14059 14060// Details of UnprepareNetworkPolicies for Subnet. 14061type UnprepareNetworkPoliciesRequest struct { 14062 // The name of the service for which subnet is being unprepared for. 14063 ServiceName *string `json:"serviceName,omitempty"` 14064} 14065 14066// The network resource usage. 14067type Usage struct { 14068 // The current value of the usage. 14069 CurrentValue *int64 `json:"currentValue,omitempty"` 14070 14071 // READ-ONLY; Resource identifier. 14072 ID *string `json:"id,omitempty" azure:"ro"` 14073 14074 // The limit of usage. 14075 Limit *int64 `json:"limit,omitempty"` 14076 14077 // The name of the type of usage. 14078 Name *UsageName `json:"name,omitempty"` 14079 14080 // An enum describing the unit of measurement. 14081 Unit *UsageUnit `json:"unit,omitempty"` 14082} 14083 14084// The usage names. 14085type UsageName struct { 14086 // A localized string describing the resource name. 14087 LocalizedValue *string `json:"localizedValue,omitempty"` 14088 14089 // A string describing the resource name. 14090 Value *string `json:"value,omitempty"` 14091} 14092 14093// UsagesListOptions contains the optional parameters for the Usages.List method. 14094type UsagesListOptions struct { 14095 // placeholder for future optional parameters 14096} 14097 14098// The list usages operation response. 14099type UsagesListResult struct { 14100 // URL to get the next set of results. 14101 NextLink *string `json:"nextLink,omitempty"` 14102 14103 // The list network resource usages. 14104 Value *[]Usage `json:"value,omitempty"` 14105} 14106 14107// UsagesListResultResponse is the response envelope for operations that return a UsagesListResult type. 14108type UsagesListResultResponse struct { 14109 // RawResponse contains the underlying HTTP response. 14110 RawResponse *http.Response 14111 14112 // The list usages operation response. 14113 UsagesListResult *UsagesListResult 14114} 14115 14116// Describes a Virtual Machine. 14117type VM struct { 14118 Resource 14119} 14120 14121// Parameters that define the IP flow to be verified. 14122type VerificationIPFlowParameters struct { 14123 // The direction of the packet represented as a 5-tuple. 14124 Direction *Direction `json:"direction,omitempty"` 14125 14126 // The local IP address. Acceptable values are valid IPv4 addresses. 14127 LocalIPAddress *string `json:"localIPAddress,omitempty"` 14128 14129 // 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. 14130 LocalPort *string `json:"localPort,omitempty"` 14131 14132 // Protocol to be verified on. 14133 Protocol *IPFlowProtocol `json:"protocol,omitempty"` 14134 14135 // The remote IP address. Acceptable values are valid IPv4 addresses. 14136 RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` 14137 14138 // 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. 14139 RemotePort *string `json:"remotePort,omitempty"` 14140 14141 // 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). 14142 TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` 14143 14144 // The ID of the target resource to perform next-hop on. 14145 TargetResourceID *string `json:"targetResourceId,omitempty"` 14146} 14147 14148// Results of IP flow verification on the target resource. 14149type VerificationIPFlowResult struct { 14150 // Indicates whether the traffic is allowed or denied. 14151 Access *Access `json:"access,omitempty"` 14152 14153 // Name of the rule. If input is not matched against any security rule, it is not displayed. 14154 RuleName *string `json:"ruleName,omitempty"` 14155} 14156 14157// VerificationIPFlowResultPollerResponse is the response envelope for operations that asynchronously return a VerificationIPFlowResult type. 14158type VerificationIPFlowResultPollerResponse struct { 14159 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 14160 PollUntilDone func(ctx context.Context, frequency time.Duration) (VerificationIPFlowResultResponse, error) 14161 14162 // Poller contains an initialized poller. 14163 Poller VerificationIPFlowResultPoller 14164 14165 // RawResponse contains the underlying HTTP response. 14166 RawResponse *http.Response 14167} 14168 14169// VerificationIPFlowResultResponse is the response envelope for operations that return a VerificationIPFlowResult type. 14170type VerificationIPFlowResultResponse struct { 14171 // RawResponse contains the underlying HTTP response. 14172 RawResponse *http.Response 14173 14174 // Results of IP flow verification on the target resource. 14175 VerificationIPFlowResult *VerificationIPFlowResult 14176} 14177 14178// Network Virtual Appliance NIC properties. 14179type VirtualApplianceNicProperties struct { 14180 // READ-ONLY; NIC name. 14181 Name *string `json:"name,omitempty" azure:"ro"` 14182 14183 // READ-ONLY; Private IP address. 14184 PrivateIPAddress *string `json:"privateIpAddress,omitempty" azure:"ro"` 14185 14186 // READ-ONLY; Public IP address. 14187 PublicIPAddress *string `json:"publicIpAddress,omitempty" azure:"ro"` 14188} 14189 14190// Network Virtual Appliance Sku Properties. 14191type VirtualApplianceSKUProperties struct { 14192 // Virtual Appliance Scale Unit. 14193 BundledScaleUnit *string `json:"bundledScaleUnit,omitempty"` 14194 14195 // Virtual Appliance Version. 14196 MarketPlaceVersion *string `json:"marketPlaceVersion,omitempty"` 14197 14198 // Virtual Appliance Vendor. 14199 Vendor *string `json:"vendor,omitempty"` 14200} 14201 14202// VirtualApplianceSKUsGetOptions contains the optional parameters for the VirtualApplianceSKUs.Get method. 14203type VirtualApplianceSKUsGetOptions struct { 14204 // placeholder for future optional parameters 14205} 14206 14207// VirtualApplianceSKUsListOptions contains the optional parameters for the VirtualApplianceSKUs.List method. 14208type VirtualApplianceSKUsListOptions struct { 14209 // placeholder for future optional parameters 14210} 14211 14212// Virtual Appliance Site resource. 14213type VirtualApplianceSite struct { 14214 SubResource 14215 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14216 Etag *string `json:"etag,omitempty" azure:"ro"` 14217 14218 // Name of the virtual appliance site. 14219 Name *string `json:"name,omitempty"` 14220 14221 // The properties of the Virtual Appliance Sites. 14222 Properties *VirtualApplianceSiteProperties `json:"properties,omitempty"` 14223 14224 // READ-ONLY; Site type. 14225 Type *string `json:"type,omitempty" azure:"ro"` 14226} 14227 14228// VirtualApplianceSitePollerResponse is the response envelope for operations that asynchronously return a VirtualApplianceSite type. 14229type VirtualApplianceSitePollerResponse struct { 14230 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 14231 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualApplianceSiteResponse, error) 14232 14233 // Poller contains an initialized poller. 14234 Poller VirtualApplianceSitePoller 14235 14236 // RawResponse contains the underlying HTTP response. 14237 RawResponse *http.Response 14238} 14239 14240// Properties of the rule group. 14241type VirtualApplianceSiteProperties struct { 14242 // Address Prefix. 14243 AddressPrefix *string `json:"addressPrefix,omitempty"` 14244 14245 // Office 365 Policy. 14246 O365Policy *Office365PolicyProperties `json:"o365Policy,omitempty"` 14247 14248 // READ-ONLY; The provisioning state of the resource. 14249 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14250} 14251 14252// VirtualApplianceSiteResponse is the response envelope for operations that return a VirtualApplianceSite type. 14253type VirtualApplianceSiteResponse struct { 14254 // RawResponse contains the underlying HTTP response. 14255 RawResponse *http.Response 14256 14257 // Virtual Appliance Site resource. 14258 VirtualApplianceSite *VirtualApplianceSite 14259} 14260 14261// VirtualApplianceSitesBeginCreateOrUpdateOptions contains the optional parameters for the VirtualApplianceSites.BeginCreateOrUpdate method. 14262type VirtualApplianceSitesBeginCreateOrUpdateOptions struct { 14263 // placeholder for future optional parameters 14264} 14265 14266// VirtualApplianceSitesBeginDeleteOptions contains the optional parameters for the VirtualApplianceSites.BeginDelete method. 14267type VirtualApplianceSitesBeginDeleteOptions struct { 14268 // placeholder for future optional parameters 14269} 14270 14271// VirtualApplianceSitesGetOptions contains the optional parameters for the VirtualApplianceSites.Get method. 14272type VirtualApplianceSitesGetOptions struct { 14273 // placeholder for future optional parameters 14274} 14275 14276// VirtualApplianceSitesListOptions contains the optional parameters for the VirtualApplianceSites.List method. 14277type VirtualApplianceSitesListOptions struct { 14278 // placeholder for future optional parameters 14279} 14280 14281// VirtualHub Resource. 14282type VirtualHub struct { 14283 Resource 14284 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14285 Etag *string `json:"etag,omitempty" azure:"ro"` 14286 14287 // Properties of the virtual hub. 14288 Properties *VirtualHubProperties `json:"properties,omitempty"` 14289} 14290 14291// VirtualHubBgpConnectionBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubBgpConnection.BeginCreateOrUpdate method. 14292type VirtualHubBgpConnectionBeginCreateOrUpdateOptions struct { 14293 // placeholder for future optional parameters 14294} 14295 14296// VirtualHubBgpConnectionBeginDeleteOptions contains the optional parameters for the VirtualHubBgpConnection.BeginDelete method. 14297type VirtualHubBgpConnectionBeginDeleteOptions struct { 14298 // placeholder for future optional parameters 14299} 14300 14301// VirtualHubBgpConnectionGetOptions contains the optional parameters for the VirtualHubBgpConnection.Get method. 14302type VirtualHubBgpConnectionGetOptions struct { 14303 // placeholder for future optional parameters 14304} 14305 14306// VirtualHubBgpConnectionsBeginListAdvertisedRoutesOptions contains the optional parameters for the VirtualHubBgpConnections.BeginListAdvertisedRoutes 14307// method. 14308type VirtualHubBgpConnectionsBeginListAdvertisedRoutesOptions struct { 14309 // placeholder for future optional parameters 14310} 14311 14312// VirtualHubBgpConnectionsBeginListLearnedRoutesOptions contains the optional parameters for the VirtualHubBgpConnections.BeginListLearnedRoutes method. 14313type VirtualHubBgpConnectionsBeginListLearnedRoutesOptions struct { 14314 // placeholder for future optional parameters 14315} 14316 14317// VirtualHubBgpConnectionsListOptions contains the optional parameters for the VirtualHubBgpConnections.List method. 14318type VirtualHubBgpConnectionsListOptions struct { 14319 // placeholder for future optional parameters 14320} 14321 14322// The effective route configured on the virtual hub or specified resource. 14323type VirtualHubEffectiveRoute struct { 14324 // The list of address prefixes. 14325 AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` 14326 14327 // The ASPath of this route. 14328 AsPath *string `json:"asPath,omitempty"` 14329 14330 // The type of the next hop. 14331 NextHopType *string `json:"nextHopType,omitempty"` 14332 14333 // The list of next hops. 14334 NextHops *[]string `json:"nextHops,omitempty"` 14335 14336 // The origin of this route. 14337 RouteOrigin *string `json:"routeOrigin,omitempty"` 14338} 14339 14340// EffectiveRoutes List. 14341type VirtualHubEffectiveRouteList struct { 14342 // The list of effective routes configured on the virtual hub or the specified resource. 14343 Value *[]VirtualHubEffectiveRoute `json:"value,omitempty"` 14344} 14345 14346// Virtual Hub identifier. 14347type VirtualHubID struct { 14348 // 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 14349 // reside in the same subscription. 14350 ID *string `json:"id,omitempty"` 14351} 14352 14353// VirtualHubIPConfigurationBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubIPConfiguration.BeginCreateOrUpdate method. 14354type VirtualHubIPConfigurationBeginCreateOrUpdateOptions struct { 14355 // placeholder for future optional parameters 14356} 14357 14358// VirtualHubIPConfigurationBeginDeleteOptions contains the optional parameters for the VirtualHubIPConfiguration.BeginDelete method. 14359type VirtualHubIPConfigurationBeginDeleteOptions struct { 14360 // placeholder for future optional parameters 14361} 14362 14363// VirtualHubIPConfigurationGetOptions contains the optional parameters for the VirtualHubIPConfiguration.Get method. 14364type VirtualHubIPConfigurationGetOptions struct { 14365 // placeholder for future optional parameters 14366} 14367 14368// VirtualHubIPConfigurationListOptions contains the optional parameters for the VirtualHubIPConfiguration.List method. 14369type VirtualHubIPConfigurationListOptions struct { 14370 // placeholder for future optional parameters 14371} 14372 14373// VirtualHubPollerResponse is the response envelope for operations that asynchronously return a VirtualHub type. 14374type VirtualHubPollerResponse struct { 14375 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 14376 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualHubResponse, error) 14377 14378 // Poller contains an initialized poller. 14379 Poller VirtualHubPoller 14380 14381 // RawResponse contains the underlying HTTP response. 14382 RawResponse *http.Response 14383} 14384 14385// Parameters for VirtualHub. 14386type VirtualHubProperties struct { 14387 // Address-prefix for this VirtualHub. 14388 AddressPrefix *string `json:"addressPrefix,omitempty"` 14389 14390 // Flag to control transit for VirtualRouter hub. 14391 AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` 14392 14393 // The azureFirewall associated with this VirtualHub. 14394 AzureFirewall *SubResource `json:"azureFirewall,omitempty"` 14395 14396 // READ-ONLY; List of references to Bgp Connections. 14397 BgpConnections *[]SubResource `json:"bgpConnections,omitempty" azure:"ro"` 14398 14399 // The expressRouteGateway associated with this VirtualHub. 14400 ExpressRouteGateway *SubResource `json:"expressRouteGateway,omitempty"` 14401 14402 // READ-ONLY; List of references to IpConfigurations. 14403 IPConfigurations *[]SubResource `json:"ipConfigurations,omitempty" azure:"ro"` 14404 14405 // The P2SVpnGateway associated with this VirtualHub. 14406 P2SVpnGateway *SubResource `json:"p2SVpnGateway,omitempty"` 14407 14408 // READ-ONLY; The provisioning state of the virtual hub resource. 14409 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14410 14411 // The routeTable associated with this virtual hub. 14412 RouteTable *VirtualHubRouteTable `json:"routeTable,omitempty"` 14413 14414 // READ-ONLY; The routing state. 14415 RoutingState *RoutingState `json:"routingState,omitempty" azure:"ro"` 14416 14417 // The sku of this VirtualHub. 14418 SKU *string `json:"sku,omitempty"` 14419 14420 // The securityPartnerProvider associated with this VirtualHub. 14421 SecurityPartnerProvider *SubResource `json:"securityPartnerProvider,omitempty"` 14422 14423 // The Security Provider name. 14424 SecurityProviderName *string `json:"securityProviderName,omitempty"` 14425 14426 // List of all virtual hub route table v2s associated with this VirtualHub. 14427 VirtualHubRouteTableV2S *[]VirtualHubRouteTableV2 `json:"virtualHubRouteTableV2s,omitempty"` 14428 14429 // VirtualRouter ASN. 14430 VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` 14431 14432 // VirtualRouter IPs. 14433 VirtualRouterIPs *[]string `json:"virtualRouterIps,omitempty"` 14434 14435 // The VirtualWAN to which the VirtualHub belongs. 14436 VirtualWan *SubResource `json:"virtualWan,omitempty"` 14437 14438 // The VpnGateway associated with this VirtualHub. 14439 VpnGateway *SubResource `json:"vpnGateway,omitempty"` 14440} 14441 14442// VirtualHubResponse is the response envelope for operations that return a VirtualHub type. 14443type VirtualHubResponse struct { 14444 // RawResponse contains the underlying HTTP response. 14445 RawResponse *http.Response 14446 14447 // VirtualHub Resource. 14448 VirtualHub *VirtualHub 14449} 14450 14451// VirtualHub route. 14452type VirtualHubRoute struct { 14453 // List of all addressPrefixes. 14454 AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` 14455 14456 // NextHop ip address. 14457 NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` 14458} 14459 14460// VirtualHub route table. 14461type VirtualHubRouteTable struct { 14462 // List of all routes. 14463 Routes *[]VirtualHubRoute `json:"routes,omitempty"` 14464} 14465 14466// VirtualHubRouteTableV2 Resource. 14467type VirtualHubRouteTableV2 struct { 14468 SubResource 14469 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14470 Etag *string `json:"etag,omitempty" azure:"ro"` 14471 14472 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 14473 Name *string `json:"name,omitempty"` 14474 14475 // Properties of the virtual hub route table v2. 14476 Properties *VirtualHubRouteTableV2Properties `json:"properties,omitempty"` 14477} 14478 14479// VirtualHubRouteTableV2PollerResponse is the response envelope for operations that asynchronously return a VirtualHubRouteTableV2 type. 14480type VirtualHubRouteTableV2PollerResponse struct { 14481 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 14482 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualHubRouteTableV2Response, error) 14483 14484 // Poller contains an initialized poller. 14485 Poller VirtualHubRouteTableV2Poller 14486 14487 // RawResponse contains the underlying HTTP response. 14488 RawResponse *http.Response 14489} 14490 14491// Parameters for VirtualHubRouteTableV2. 14492type VirtualHubRouteTableV2Properties struct { 14493 // List of all connections attached to this route table v2. 14494 AttachedConnections *[]string `json:"attachedConnections,omitempty"` 14495 14496 // READ-ONLY; The provisioning state of the virtual hub route table v2 resource. 14497 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14498 14499 // List of all routes. 14500 Routes *[]VirtualHubRouteV2 `json:"routes,omitempty"` 14501} 14502 14503// VirtualHubRouteTableV2Response is the response envelope for operations that return a VirtualHubRouteTableV2 type. 14504type VirtualHubRouteTableV2Response struct { 14505 // RawResponse contains the underlying HTTP response. 14506 RawResponse *http.Response 14507 14508 // VirtualHubRouteTableV2 Resource. 14509 VirtualHubRouteTableV2 *VirtualHubRouteTableV2 14510} 14511 14512// VirtualHubRouteTableV2SBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubRouteTableV2S.BeginCreateOrUpdate method. 14513type VirtualHubRouteTableV2SBeginCreateOrUpdateOptions struct { 14514 // placeholder for future optional parameters 14515} 14516 14517// VirtualHubRouteTableV2SBeginDeleteOptions contains the optional parameters for the VirtualHubRouteTableV2S.BeginDelete method. 14518type VirtualHubRouteTableV2SBeginDeleteOptions struct { 14519 // placeholder for future optional parameters 14520} 14521 14522// VirtualHubRouteTableV2SGetOptions contains the optional parameters for the VirtualHubRouteTableV2S.Get method. 14523type VirtualHubRouteTableV2SGetOptions struct { 14524 // placeholder for future optional parameters 14525} 14526 14527// VirtualHubRouteTableV2SListOptions contains the optional parameters for the VirtualHubRouteTableV2S.List method. 14528type VirtualHubRouteTableV2SListOptions struct { 14529 // placeholder for future optional parameters 14530} 14531 14532// VirtualHubRouteTableV2 route. 14533type VirtualHubRouteV2 struct { 14534 // The type of destinations. 14535 DestinationType *string `json:"destinationType,omitempty"` 14536 14537 // List of all destinations. 14538 Destinations *[]string `json:"destinations,omitempty"` 14539 14540 // The type of next hops. 14541 NextHopType *string `json:"nextHopType,omitempty"` 14542 14543 // NextHops ip address. 14544 NextHops *[]string `json:"nextHops,omitempty"` 14545} 14546 14547// VirtualHubsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualHubs.BeginCreateOrUpdate method. 14548type VirtualHubsBeginCreateOrUpdateOptions struct { 14549 // placeholder for future optional parameters 14550} 14551 14552// VirtualHubsBeginDeleteOptions contains the optional parameters for the VirtualHubs.BeginDelete method. 14553type VirtualHubsBeginDeleteOptions struct { 14554 // placeholder for future optional parameters 14555} 14556 14557// VirtualHubsBeginGetEffectiveVirtualHubRoutesOptions contains the optional parameters for the VirtualHubs.BeginGetEffectiveVirtualHubRoutes method. 14558type VirtualHubsBeginGetEffectiveVirtualHubRoutesOptions struct { 14559 // Parameters supplied to get the effective routes for a specific resource. 14560 EffectiveRoutesParameters *EffectiveRoutesParameters 14561} 14562 14563// VirtualHubsGetOptions contains the optional parameters for the VirtualHubs.Get method. 14564type VirtualHubsGetOptions struct { 14565 // placeholder for future optional parameters 14566} 14567 14568// VirtualHubsListByResourceGroupOptions contains the optional parameters for the VirtualHubs.ListByResourceGroup method. 14569type VirtualHubsListByResourceGroupOptions struct { 14570 // placeholder for future optional parameters 14571} 14572 14573// VirtualHubsListOptions contains the optional parameters for the VirtualHubs.List method. 14574type VirtualHubsListOptions struct { 14575 // placeholder for future optional parameters 14576} 14577 14578// VirtualHubsUpdateTagsOptions contains the optional parameters for the VirtualHubs.UpdateTags method. 14579type VirtualHubsUpdateTagsOptions struct { 14580 // placeholder for future optional parameters 14581} 14582 14583// Virtual Network resource. 14584type VirtualNetwork struct { 14585 Resource 14586 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14587 Etag *string `json:"etag,omitempty" azure:"ro"` 14588 14589 // The extended location of the virtual network. 14590 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 14591 14592 // Properties of the virtual network. 14593 Properties *VirtualNetworkPropertiesFormat `json:"properties,omitempty"` 14594} 14595 14596// Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. 14597type VirtualNetworkBgpCommunities struct { 14598 // READ-ONLY; The BGP community associated with the region of the virtual network. 14599 RegionalCommunity *string `json:"regionalCommunity,omitempty" azure:"ro"` 14600 14601 // The BGP community associated with the virtual network. 14602 VirtualNetworkCommunity *string `json:"virtualNetworkCommunity,omitempty"` 14603} 14604 14605// A reference to VirtualNetworkGateway or LocalNetworkGateway resource. 14606type VirtualNetworkConnectionGatewayReference struct { 14607 // The ID of VirtualNetworkGateway or LocalNetworkGateway resource. 14608 ID *string `json:"id,omitempty"` 14609} 14610 14611// A common class for general resource information. 14612type VirtualNetworkGateway struct { 14613 Resource 14614 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14615 Etag *string `json:"etag,omitempty" azure:"ro"` 14616 14617 // Properties of the virtual network gateway. 14618 Properties *VirtualNetworkGatewayPropertiesFormat `json:"properties,omitempty"` 14619} 14620 14621// A common class for general resource information. 14622type VirtualNetworkGatewayConnection struct { 14623 Resource 14624 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14625 Etag *string `json:"etag,omitempty" azure:"ro"` 14626 14627 // Properties of the virtual network gateway connection. 14628 Properties *VirtualNetworkGatewayConnectionPropertiesFormat `json:"properties,omitempty"` 14629} 14630 14631// A common class for general resource information. 14632type VirtualNetworkGatewayConnectionListEntity struct { 14633 Resource 14634 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14635 Etag *string `json:"etag,omitempty" azure:"ro"` 14636 14637 // Properties of the virtual network gateway connection. 14638 Properties *VirtualNetworkGatewayConnectionListEntityPropertiesFormat `json:"properties,omitempty"` 14639} 14640 14641// VirtualNetworkGatewayConnection properties. 14642type VirtualNetworkGatewayConnectionListEntityPropertiesFormat struct { 14643 // The authorizationKey. 14644 AuthorizationKey *string `json:"authorizationKey,omitempty"` 14645 14646 // The connection mode for this connection. 14647 ConnectionMode *VirtualNetworkGatewayConnectionMode `json:"connectionMode,omitempty"` 14648 14649 // Connection protocol used for this connection. 14650 ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` 14651 14652 // READ-ONLY; Virtual Network Gateway connection status. 14653 ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 14654 14655 // Gateway connection type. 14656 ConnectionType *VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` 14657 14658 // READ-ONLY; The egress bytes transferred in this connection. 14659 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 14660 14661 // EnableBgp flag. 14662 EnableBgp *bool `json:"enableBgp,omitempty"` 14663 14664 // Bypass ExpressRoute Gateway for data forwarding. 14665 ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` 14666 14667 // The IPSec Policies to be considered by this connection. 14668 IPsecPolicies *[]IPsecPolicy `json:"ipsecPolicies,omitempty"` 14669 14670 // READ-ONLY; The ingress bytes transferred in this connection. 14671 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 14672 14673 // The reference to local network gateway resource. 14674 LocalNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"localNetworkGateway2,omitempty"` 14675 14676 // The reference to peerings resource. 14677 Peer *SubResource `json:"peer,omitempty"` 14678 14679 // READ-ONLY; The provisioning state of the virtual network gateway connection resource. 14680 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14681 14682 // READ-ONLY; The resource GUID property of the virtual network gateway connection resource. 14683 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 14684 14685 // The routing weight. 14686 RoutingWeight *int32 `json:"routingWeight,omitempty"` 14687 14688 // The IPSec shared key. 14689 SharedKey *string `json:"sharedKey,omitempty"` 14690 14691 // The Traffic Selector Policies to be considered by this connection. 14692 TrafficSelectorPolicies *[]TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` 14693 14694 // READ-ONLY; Collection of all tunnels' connection health status. 14695 TunnelConnectionStatus *[]TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty" azure:"ro"` 14696 14697 // Enable policy-based traffic selectors. 14698 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 14699 14700 // The reference to virtual network gateway resource. 14701 VirtualNetworkGateway1 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway1,omitempty"` 14702 14703 // The reference to virtual network gateway resource. 14704 VirtualNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway2,omitempty"` 14705} 14706 14707// Response for the ListVirtualNetworkGatewayConnections API service call. 14708type VirtualNetworkGatewayConnectionListResult struct { 14709 // READ-ONLY; The URL to get the next set of results. 14710 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 14711 14712 // A list of VirtualNetworkGatewayConnection resources that exists in a resource group. 14713 Value *[]VirtualNetworkGatewayConnection `json:"value,omitempty"` 14714} 14715 14716// VirtualNetworkGatewayConnectionListResultResponse is the response envelope for operations that return a VirtualNetworkGatewayConnectionListResult type. 14717type VirtualNetworkGatewayConnectionListResultResponse struct { 14718 // RawResponse contains the underlying HTTP response. 14719 RawResponse *http.Response 14720 14721 // Response for the ListVirtualNetworkGatewayConnections API service call. 14722 VirtualNetworkGatewayConnectionListResult *VirtualNetworkGatewayConnectionListResult 14723} 14724 14725// VirtualNetworkGatewayConnectionPollerResponse is the response envelope for operations that asynchronously return a VirtualNetworkGatewayConnection type. 14726type VirtualNetworkGatewayConnectionPollerResponse struct { 14727 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 14728 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualNetworkGatewayConnectionResponse, error) 14729 14730 // Poller contains an initialized poller. 14731 Poller VirtualNetworkGatewayConnectionPoller 14732 14733 // RawResponse contains the underlying HTTP response. 14734 RawResponse *http.Response 14735} 14736 14737// VirtualNetworkGatewayConnection properties. 14738type VirtualNetworkGatewayConnectionPropertiesFormat struct { 14739 // The authorizationKey. 14740 AuthorizationKey *string `json:"authorizationKey,omitempty"` 14741 14742 // The connection mode for this connection. 14743 ConnectionMode *VirtualNetworkGatewayConnectionMode `json:"connectionMode,omitempty"` 14744 14745 // Connection protocol used for this connection. 14746 ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` 14747 14748 // READ-ONLY; Virtual Network Gateway connection status. 14749 ConnectionStatus *VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 14750 14751 // Gateway connection type. 14752 ConnectionType *VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` 14753 14754 // The dead peer detection timeout of this connection in seconds. 14755 DpdTimeoutSeconds *int32 `json:"dpdTimeoutSeconds,omitempty"` 14756 14757 // READ-ONLY; The egress bytes transferred in this connection. 14758 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 14759 14760 // EnableBgp flag. 14761 EnableBgp *bool `json:"enableBgp,omitempty"` 14762 14763 // Bypass ExpressRoute Gateway for data forwarding. 14764 ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` 14765 14766 // The IPSec Policies to be considered by this connection. 14767 IPsecPolicies *[]IPsecPolicy `json:"ipsecPolicies,omitempty"` 14768 14769 // READ-ONLY; The ingress bytes transferred in this connection. 14770 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 14771 14772 // The reference to local network gateway resource. 14773 LocalNetworkGateway2 *LocalNetworkGateway `json:"localNetworkGateway2,omitempty"` 14774 14775 // The reference to peerings resource. 14776 Peer *SubResource `json:"peer,omitempty"` 14777 14778 // READ-ONLY; The provisioning state of the virtual network gateway connection resource. 14779 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14780 14781 // READ-ONLY; The resource GUID property of the virtual network gateway connection resource. 14782 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 14783 14784 // The routing weight. 14785 RoutingWeight *int32 `json:"routingWeight,omitempty"` 14786 14787 // The IPSec shared key. 14788 SharedKey *string `json:"sharedKey,omitempty"` 14789 14790 // The Traffic Selector Policies to be considered by this connection. 14791 TrafficSelectorPolicies *[]TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` 14792 14793 // READ-ONLY; Collection of all tunnels' connection health status. 14794 TunnelConnectionStatus *[]TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty" azure:"ro"` 14795 14796 // Use private local Azure IP for the connection. 14797 UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` 14798 14799 // Enable policy-based traffic selectors. 14800 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 14801 14802 // The reference to virtual network gateway resource. 14803 VirtualNetworkGateway1 *VirtualNetworkGateway `json:"virtualNetworkGateway1,omitempty"` 14804 14805 // The reference to virtual network gateway resource. 14806 VirtualNetworkGateway2 *VirtualNetworkGateway `json:"virtualNetworkGateway2,omitempty"` 14807} 14808 14809// VirtualNetworkGatewayConnectionResponse is the response envelope for operations that return a VirtualNetworkGatewayConnection type. 14810type VirtualNetworkGatewayConnectionResponse struct { 14811 // RawResponse contains the underlying HTTP response. 14812 RawResponse *http.Response 14813 14814 // A common class for general resource information. 14815 VirtualNetworkGatewayConnection *VirtualNetworkGatewayConnection 14816} 14817 14818// VirtualNetworkGatewayConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginCreateOrUpdate 14819// method. 14820type VirtualNetworkGatewayConnectionsBeginCreateOrUpdateOptions struct { 14821 // placeholder for future optional parameters 14822} 14823 14824// VirtualNetworkGatewayConnectionsBeginDeleteOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginDelete method. 14825type VirtualNetworkGatewayConnectionsBeginDeleteOptions struct { 14826 // placeholder for future optional parameters 14827} 14828 14829// VirtualNetworkGatewayConnectionsBeginResetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginResetSharedKey 14830// method. 14831type VirtualNetworkGatewayConnectionsBeginResetSharedKeyOptions struct { 14832 // placeholder for future optional parameters 14833} 14834 14835// VirtualNetworkGatewayConnectionsBeginSetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginSetSharedKey 14836// method. 14837type VirtualNetworkGatewayConnectionsBeginSetSharedKeyOptions struct { 14838 // placeholder for future optional parameters 14839} 14840 14841// VirtualNetworkGatewayConnectionsBeginStartPacketCaptureOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginStartPacketCapture 14842// method. 14843type VirtualNetworkGatewayConnectionsBeginStartPacketCaptureOptions struct { 14844 // Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection. 14845 Parameters *VpnPacketCaptureStartParameters 14846} 14847 14848// VirtualNetworkGatewayConnectionsBeginStopPacketCaptureOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginStopPacketCapture 14849// method. 14850type VirtualNetworkGatewayConnectionsBeginStopPacketCaptureOptions struct { 14851 // placeholder for future optional parameters 14852} 14853 14854// VirtualNetworkGatewayConnectionsBeginUpdateTagsOptions contains the optional parameters for the VirtualNetworkGatewayConnections.BeginUpdateTags method. 14855type VirtualNetworkGatewayConnectionsBeginUpdateTagsOptions struct { 14856 // placeholder for future optional parameters 14857} 14858 14859// VirtualNetworkGatewayConnectionsGetOptions contains the optional parameters for the VirtualNetworkGatewayConnections.Get method. 14860type VirtualNetworkGatewayConnectionsGetOptions struct { 14861 // placeholder for future optional parameters 14862} 14863 14864// VirtualNetworkGatewayConnectionsGetSharedKeyOptions contains the optional parameters for the VirtualNetworkGatewayConnections.GetSharedKey method. 14865type VirtualNetworkGatewayConnectionsGetSharedKeyOptions struct { 14866 // placeholder for future optional parameters 14867} 14868 14869// VirtualNetworkGatewayConnectionsListOptions contains the optional parameters for the VirtualNetworkGatewayConnections.List method. 14870type VirtualNetworkGatewayConnectionsListOptions struct { 14871 // placeholder for future optional parameters 14872} 14873 14874// IP configuration for virtual network gateway. 14875type VirtualNetworkGatewayIPConfiguration struct { 14876 SubResource 14877 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 14878 Etag *string `json:"etag,omitempty" azure:"ro"` 14879 14880 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 14881 Name *string `json:"name,omitempty"` 14882 14883 // Properties of the virtual network gateway ip configuration. 14884 Properties *VirtualNetworkGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` 14885} 14886 14887// Properties of VirtualNetworkGatewayIPConfiguration. 14888type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct { 14889 // READ-ONLY; Private IP Address for this gateway. 14890 PrivateIPAddress *string `json:"privateIPAddress,omitempty" azure:"ro"` 14891 14892 // The private IP address allocation method. 14893 PrivateIPAllocationMethod *IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` 14894 14895 // READ-ONLY; The provisioning state of the virtual network gateway IP configuration resource. 14896 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14897 14898 // The reference to the public IP resource. 14899 PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` 14900 14901 // The reference to the subnet resource. 14902 Subnet *SubResource `json:"subnet,omitempty"` 14903} 14904 14905// Response for the VirtualNetworkGatewayListConnections API service call. 14906type VirtualNetworkGatewayListConnectionsResult struct { 14907 // READ-ONLY; The URL to get the next set of results. 14908 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 14909 14910 // A list of VirtualNetworkGatewayConnection resources that exists in a resource group. 14911 Value *[]VirtualNetworkGatewayConnectionListEntity `json:"value,omitempty"` 14912} 14913 14914// VirtualNetworkGatewayListConnectionsResultResponse is the response envelope for operations that return a VirtualNetworkGatewayListConnectionsResult type. 14915type VirtualNetworkGatewayListConnectionsResultResponse struct { 14916 // RawResponse contains the underlying HTTP response. 14917 RawResponse *http.Response 14918 14919 // Response for the VirtualNetworkGatewayListConnections API service call. 14920 VirtualNetworkGatewayListConnectionsResult *VirtualNetworkGatewayListConnectionsResult 14921} 14922 14923// Response for the ListVirtualNetworkGateways API service call. 14924type VirtualNetworkGatewayListResult struct { 14925 // READ-ONLY; The URL to get the next set of results. 14926 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 14927 14928 // A list of VirtualNetworkGateway resources that exists in a resource group. 14929 Value *[]VirtualNetworkGateway `json:"value,omitempty"` 14930} 14931 14932// VirtualNetworkGatewayListResultResponse is the response envelope for operations that return a VirtualNetworkGatewayListResult type. 14933type VirtualNetworkGatewayListResultResponse struct { 14934 // RawResponse contains the underlying HTTP response. 14935 RawResponse *http.Response 14936 14937 // Response for the ListVirtualNetworkGateways API service call. 14938 VirtualNetworkGatewayListResult *VirtualNetworkGatewayListResult 14939} 14940 14941// VirtualNetworkGatewayPollerResponse is the response envelope for operations that asynchronously return a VirtualNetworkGateway type. 14942type VirtualNetworkGatewayPollerResponse struct { 14943 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 14944 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualNetworkGatewayResponse, error) 14945 14946 // Poller contains an initialized poller. 14947 Poller VirtualNetworkGatewayPoller 14948 14949 // RawResponse contains the underlying HTTP response. 14950 RawResponse *http.Response 14951} 14952 14953// VirtualNetworkGateway properties. 14954type VirtualNetworkGatewayPropertiesFormat struct { 14955 // ActiveActive flag. 14956 Active *bool `json:"activeActive,omitempty"` 14957 14958 // Virtual network gateway's BGP speaker settings. 14959 BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` 14960 14961 // The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and 14962 // VpnClient. 14963 CustomRoutes *AddressSpace `json:"customRoutes,omitempty"` 14964 14965 // Whether BGP is enabled for this virtual network gateway or not. 14966 EnableBgp *bool `json:"enableBgp,omitempty"` 14967 14968 // Whether dns forwarding is enabled or not. 14969 EnableDNSForwarding *bool `json:"enableDnsForwarding,omitempty"` 14970 14971 // Whether private IP needs to be enabled on this gateway for connections or not. 14972 EnablePrivateIPAddress *bool `json:"enablePrivateIpAddress,omitempty"` 14973 14974 // The extended location of type local virtual network gateway. 14975 ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` 14976 14977 // The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing 14978 // default site setting. 14979 GatewayDefaultSite *SubResource `json:"gatewayDefaultSite,omitempty"` 14980 14981 // The type of this virtual network gateway. 14982 GatewayType *VirtualNetworkGatewayType `json:"gatewayType,omitempty"` 14983 14984 // IP configurations for virtual network gateway. 14985 IPConfigurations *[]VirtualNetworkGatewayIPConfiguration `json:"ipConfigurations,omitempty"` 14986 14987 // READ-ONLY; The IP address allocated by the gateway to which dns requests can be sent. 14988 InboundDNSForwardingEndpoint *string `json:"inboundDnsForwardingEndpoint,omitempty" azure:"ro"` 14989 14990 // READ-ONLY; The provisioning state of the virtual network gateway resource. 14991 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 14992 14993 // READ-ONLY; The resource GUID property of the virtual network gateway resource. 14994 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 14995 14996 // The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway. 14997 SKU *VirtualNetworkGatewaySKU `json:"sku,omitempty"` 14998 14999 // MAS FIJI customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet. 15000 VirtualNetworkExtendedLocationResourceID *string `json:"virtualNetworkExtendedLocationResourceId,omitempty"` 15001 15002 // The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations. 15003 VpnClientConfiguration *VpnClientConfiguration `json:"vpnClientConfiguration,omitempty"` 15004 15005 // The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN. 15006 VpnGatewayGeneration *VpnGatewayGeneration `json:"vpnGatewayGeneration,omitempty"` 15007 15008 // The type of this virtual network gateway. 15009 VpnType *VpnType `json:"vpnType,omitempty"` 15010} 15011 15012// VirtualNetworkGatewayResponse is the response envelope for operations that return a VirtualNetworkGateway type. 15013type VirtualNetworkGatewayResponse struct { 15014 // RawResponse contains the underlying HTTP response. 15015 RawResponse *http.Response 15016 15017 // A common class for general resource information. 15018 VirtualNetworkGateway *VirtualNetworkGateway 15019} 15020 15021// VirtualNetworkGatewaySku details. 15022type VirtualNetworkGatewaySKU struct { 15023 // READ-ONLY; The capacity. 15024 Capacity *int32 `json:"capacity,omitempty" azure:"ro"` 15025 15026 // Gateway SKU name. 15027 Name *VirtualNetworkGatewaySKUName `json:"name,omitempty"` 15028 15029 // Gateway SKU tier. 15030 Tier *VirtualNetworkGatewaySKUTier `json:"tier,omitempty"` 15031} 15032 15033// VirtualNetworkGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkGateways.BeginCreateOrUpdate method. 15034type VirtualNetworkGatewaysBeginCreateOrUpdateOptions struct { 15035 // placeholder for future optional parameters 15036} 15037 15038// VirtualNetworkGatewaysBeginDeleteOptions contains the optional parameters for the VirtualNetworkGateways.BeginDelete method. 15039type VirtualNetworkGatewaysBeginDeleteOptions struct { 15040 // placeholder for future optional parameters 15041} 15042 15043// VirtualNetworkGatewaysBeginDisconnectVirtualNetworkGatewayVpnConnectionsOptions contains the optional parameters for the VirtualNetworkGateways.BeginDisconnectVirtualNetworkGatewayVpnConnections 15044// method. 15045type VirtualNetworkGatewaysBeginDisconnectVirtualNetworkGatewayVpnConnectionsOptions struct { 15046 // placeholder for future optional parameters 15047} 15048 15049// VirtualNetworkGatewaysBeginGenerateVpnProfileOptions contains the optional parameters for the VirtualNetworkGateways.BeginGenerateVpnProfile method. 15050type VirtualNetworkGatewaysBeginGenerateVpnProfileOptions struct { 15051 // placeholder for future optional parameters 15052} 15053 15054// VirtualNetworkGatewaysBeginGeneratevpnclientpackageOptions contains the optional parameters for the VirtualNetworkGateways.BeginGeneratevpnclientpackage 15055// method. 15056type VirtualNetworkGatewaysBeginGeneratevpnclientpackageOptions struct { 15057 // placeholder for future optional parameters 15058} 15059 15060// VirtualNetworkGatewaysBeginGetAdvertisedRoutesOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetAdvertisedRoutes method. 15061type VirtualNetworkGatewaysBeginGetAdvertisedRoutesOptions struct { 15062 // placeholder for future optional parameters 15063} 15064 15065// VirtualNetworkGatewaysBeginGetBgpPeerStatusOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetBgpPeerStatus method. 15066type VirtualNetworkGatewaysBeginGetBgpPeerStatusOptions struct { 15067 // The IP address of the peer to retrieve the status of. 15068 Peer *string 15069} 15070 15071// VirtualNetworkGatewaysBeginGetLearnedRoutesOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetLearnedRoutes method. 15072type VirtualNetworkGatewaysBeginGetLearnedRoutesOptions struct { 15073 // placeholder for future optional parameters 15074} 15075 15076// VirtualNetworkGatewaysBeginGetVpnProfilePackageURLOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVpnProfilePackageURL 15077// method. 15078type VirtualNetworkGatewaysBeginGetVpnProfilePackageURLOptions struct { 15079 // placeholder for future optional parameters 15080} 15081 15082// VirtualNetworkGatewaysBeginGetVpnclientConnectionHealthOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVpnclientConnectionHealth 15083// method. 15084type VirtualNetworkGatewaysBeginGetVpnclientConnectionHealthOptions struct { 15085 // placeholder for future optional parameters 15086} 15087 15088// VirtualNetworkGatewaysBeginGetVpnclientIPsecParametersOptions contains the optional parameters for the VirtualNetworkGateways.BeginGetVpnclientIPsecParameters 15089// method. 15090type VirtualNetworkGatewaysBeginGetVpnclientIPsecParametersOptions struct { 15091 // placeholder for future optional parameters 15092} 15093 15094// VirtualNetworkGatewaysBeginResetOptions contains the optional parameters for the VirtualNetworkGateways.BeginReset method. 15095type VirtualNetworkGatewaysBeginResetOptions struct { 15096 // Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. 15097 GatewayVip *string 15098} 15099 15100// VirtualNetworkGatewaysBeginResetVpnClientSharedKeyOptions contains the optional parameters for the VirtualNetworkGateways.BeginResetVpnClientSharedKey 15101// method. 15102type VirtualNetworkGatewaysBeginResetVpnClientSharedKeyOptions struct { 15103 // placeholder for future optional parameters 15104} 15105 15106// VirtualNetworkGatewaysBeginSetVpnclientIPsecParametersOptions contains the optional parameters for the VirtualNetworkGateways.BeginSetVpnclientIPsecParameters 15107// method. 15108type VirtualNetworkGatewaysBeginSetVpnclientIPsecParametersOptions struct { 15109 // placeholder for future optional parameters 15110} 15111 15112// VirtualNetworkGatewaysBeginStartPacketCaptureOptions contains the optional parameters for the VirtualNetworkGateways.BeginStartPacketCapture method. 15113type VirtualNetworkGatewaysBeginStartPacketCaptureOptions struct { 15114 // Virtual network gateway packet capture parameters supplied to start packet capture on gateway. 15115 Parameters *VpnPacketCaptureStartParameters 15116} 15117 15118// VirtualNetworkGatewaysBeginStopPacketCaptureOptions contains the optional parameters for the VirtualNetworkGateways.BeginStopPacketCapture method. 15119type VirtualNetworkGatewaysBeginStopPacketCaptureOptions struct { 15120 // placeholder for future optional parameters 15121} 15122 15123// VirtualNetworkGatewaysBeginUpdateTagsOptions contains the optional parameters for the VirtualNetworkGateways.BeginUpdateTags method. 15124type VirtualNetworkGatewaysBeginUpdateTagsOptions struct { 15125 // placeholder for future optional parameters 15126} 15127 15128// VirtualNetworkGatewaysGetOptions contains the optional parameters for the VirtualNetworkGateways.Get method. 15129type VirtualNetworkGatewaysGetOptions struct { 15130 // placeholder for future optional parameters 15131} 15132 15133// VirtualNetworkGatewaysListConnectionsOptions contains the optional parameters for the VirtualNetworkGateways.ListConnections method. 15134type VirtualNetworkGatewaysListConnectionsOptions struct { 15135 // placeholder for future optional parameters 15136} 15137 15138// VirtualNetworkGatewaysListOptions contains the optional parameters for the VirtualNetworkGateways.List method. 15139type VirtualNetworkGatewaysListOptions struct { 15140 // placeholder for future optional parameters 15141} 15142 15143// VirtualNetworkGatewaysSupportedVpnDevicesOptions contains the optional parameters for the VirtualNetworkGateways.SupportedVpnDevices method. 15144type VirtualNetworkGatewaysSupportedVpnDevicesOptions struct { 15145 // placeholder for future optional parameters 15146} 15147 15148// VirtualNetworkGatewaysVpnDeviceConfigurationScriptOptions contains the optional parameters for the VirtualNetworkGateways.VpnDeviceConfigurationScript 15149// method. 15150type VirtualNetworkGatewaysVpnDeviceConfigurationScriptOptions struct { 15151 // placeholder for future optional parameters 15152} 15153 15154// Response for the ListVirtualNetworks API service call. 15155type VirtualNetworkListResult struct { 15156 // The URL to get the next set of results. 15157 NextLink *string `json:"nextLink,omitempty"` 15158 15159 // A list of VirtualNetwork resources in a resource group. 15160 Value *[]VirtualNetwork `json:"value,omitempty"` 15161} 15162 15163// VirtualNetworkListResultResponse is the response envelope for operations that return a VirtualNetworkListResult type. 15164type VirtualNetworkListResultResponse struct { 15165 // RawResponse contains the underlying HTTP response. 15166 RawResponse *http.Response 15167 15168 // Response for the ListVirtualNetworks API service call. 15169 VirtualNetworkListResult *VirtualNetworkListResult 15170} 15171 15172// Response for the virtual networks GetUsage API service call. 15173type VirtualNetworkListUsageResult struct { 15174 // The URL to get the next set of results. 15175 NextLink *string `json:"nextLink,omitempty"` 15176 15177 // READ-ONLY; VirtualNetwork usage stats. 15178 Value *[]VirtualNetworkUsage `json:"value,omitempty" azure:"ro"` 15179} 15180 15181// VirtualNetworkListUsageResultResponse is the response envelope for operations that return a VirtualNetworkListUsageResult type. 15182type VirtualNetworkListUsageResultResponse struct { 15183 // RawResponse contains the underlying HTTP response. 15184 RawResponse *http.Response 15185 15186 // Response for the virtual networks GetUsage API service call. 15187 VirtualNetworkListUsageResult *VirtualNetworkListUsageResult 15188} 15189 15190// Peerings in a virtual network resource. 15191type VirtualNetworkPeering struct { 15192 SubResource 15193 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15194 Etag *string `json:"etag,omitempty" azure:"ro"` 15195 15196 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 15197 Name *string `json:"name,omitempty"` 15198 15199 // Properties of the virtual network peering. 15200 Properties *VirtualNetworkPeeringPropertiesFormat `json:"properties,omitempty"` 15201} 15202 15203// Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 15204type VirtualNetworkPeeringListResult struct { 15205 // The URL to get the next set of results. 15206 NextLink *string `json:"nextLink,omitempty"` 15207 15208 // The peerings in a virtual network. 15209 Value *[]VirtualNetworkPeering `json:"value,omitempty"` 15210} 15211 15212// VirtualNetworkPeeringListResultResponse is the response envelope for operations that return a VirtualNetworkPeeringListResult type. 15213type VirtualNetworkPeeringListResultResponse struct { 15214 // RawResponse contains the underlying HTTP response. 15215 RawResponse *http.Response 15216 15217 // Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 15218 VirtualNetworkPeeringListResult *VirtualNetworkPeeringListResult 15219} 15220 15221// VirtualNetworkPeeringPollerResponse is the response envelope for operations that asynchronously return a VirtualNetworkPeering type. 15222type VirtualNetworkPeeringPollerResponse struct { 15223 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15224 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualNetworkPeeringResponse, error) 15225 15226 // Poller contains an initialized poller. 15227 Poller VirtualNetworkPeeringPoller 15228 15229 // RawResponse contains the underlying HTTP response. 15230 RawResponse *http.Response 15231} 15232 15233// Properties of the virtual network peering. 15234type VirtualNetworkPeeringPropertiesFormat struct { 15235 // Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. 15236 AllowForwardedTraffic *bool `json:"allowForwardedTraffic,omitempty"` 15237 15238 // If gateway links can be used in remote virtual networking to link to this virtual network. 15239 AllowGatewayTransit *bool `json:"allowGatewayTransit,omitempty"` 15240 15241 // Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. 15242 AllowVirtualNetworkAccess *bool `json:"allowVirtualNetworkAccess,omitempty"` 15243 15244 // The status of the virtual network peering. 15245 PeeringState *VirtualNetworkPeeringState `json:"peeringState,omitempty"` 15246 15247 // READ-ONLY; The provisioning state of the virtual network peering resource. 15248 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15249 15250 // The reference to the remote virtual network address space. 15251 RemoteAddressSpace *AddressSpace `json:"remoteAddressSpace,omitempty"` 15252 15253 // The reference to the remote virtual network's Bgp Communities. 15254 RemoteBgpCommunities *VirtualNetworkBgpCommunities `json:"remoteBgpCommunities,omitempty"` 15255 15256 // 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 15257 // preview and learn more 15258 // (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). 15259 RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` 15260 15261 // 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 15262 // will use gateways of remote virtual network 15263 // for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. 15264 UseRemoteGateways *bool `json:"useRemoteGateways,omitempty"` 15265} 15266 15267// VirtualNetworkPeeringResponse is the response envelope for operations that return a VirtualNetworkPeering type. 15268type VirtualNetworkPeeringResponse struct { 15269 // RawResponse contains the underlying HTTP response. 15270 RawResponse *http.Response 15271 15272 // Peerings in a virtual network resource. 15273 VirtualNetworkPeering *VirtualNetworkPeering 15274} 15275 15276// VirtualNetworkPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkPeerings.BeginCreateOrUpdate method. 15277type VirtualNetworkPeeringsBeginCreateOrUpdateOptions struct { 15278 // placeholder for future optional parameters 15279} 15280 15281// VirtualNetworkPeeringsBeginDeleteOptions contains the optional parameters for the VirtualNetworkPeerings.BeginDelete method. 15282type VirtualNetworkPeeringsBeginDeleteOptions struct { 15283 // placeholder for future optional parameters 15284} 15285 15286// VirtualNetworkPeeringsGetOptions contains the optional parameters for the VirtualNetworkPeerings.Get method. 15287type VirtualNetworkPeeringsGetOptions struct { 15288 // placeholder for future optional parameters 15289} 15290 15291// VirtualNetworkPeeringsListOptions contains the optional parameters for the VirtualNetworkPeerings.List method. 15292type VirtualNetworkPeeringsListOptions struct { 15293 // placeholder for future optional parameters 15294} 15295 15296// VirtualNetworkPollerResponse is the response envelope for operations that asynchronously return a VirtualNetwork type. 15297type VirtualNetworkPollerResponse struct { 15298 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15299 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualNetworkResponse, error) 15300 15301 // Poller contains an initialized poller. 15302 Poller VirtualNetworkPoller 15303 15304 // RawResponse contains the underlying HTTP response. 15305 RawResponse *http.Response 15306} 15307 15308// Properties of the virtual network. 15309type VirtualNetworkPropertiesFormat struct { 15310 // The AddressSpace that contains an array of IP address ranges that can be used by subnets. 15311 AddressSpace *AddressSpace `json:"addressSpace,omitempty"` 15312 15313 // Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. 15314 BgpCommunities *VirtualNetworkBgpCommunities `json:"bgpCommunities,omitempty"` 15315 15316 // The DDoS protection plan associated with the virtual network. 15317 DdosProtectionPlan *SubResource `json:"ddosProtectionPlan,omitempty"` 15318 15319 // The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. 15320 DhcpOptions *DhcpOptions `json:"dhcpOptions,omitempty"` 15321 15322 // Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the 15323 // resource. 15324 EnableDdosProtection *bool `json:"enableDdosProtection,omitempty"` 15325 15326 // Indicates if VM protection is enabled for all the subnets in the virtual network. 15327 EnableVMProtection *bool `json:"enableVmProtection,omitempty"` 15328 15329 // Array of IpAllocation which reference this VNET. 15330 IPAllocations *[]SubResource `json:"ipAllocations,omitempty"` 15331 15332 // READ-ONLY; The provisioning state of the virtual network resource. 15333 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15334 15335 // READ-ONLY; The resourceGuid property of the Virtual Network resource. 15336 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 15337 15338 // A list of subnets in a Virtual Network. 15339 Subnets *[]Subnet `json:"subnets,omitempty"` 15340 15341 // A list of peerings in a Virtual Network. 15342 VirtualNetworkPeerings *[]VirtualNetworkPeering `json:"virtualNetworkPeerings,omitempty"` 15343} 15344 15345// VirtualNetworkResponse is the response envelope for operations that return a VirtualNetwork type. 15346type VirtualNetworkResponse struct { 15347 // RawResponse contains the underlying HTTP response. 15348 RawResponse *http.Response 15349 15350 // Virtual Network resource. 15351 VirtualNetwork *VirtualNetwork 15352} 15353 15354// Virtual Network Tap resource. 15355type VirtualNetworkTap struct { 15356 Resource 15357 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15358 Etag *string `json:"etag,omitempty" azure:"ro"` 15359 15360 // Virtual Network Tap Properties. 15361 Properties *VirtualNetworkTapPropertiesFormat `json:"properties,omitempty"` 15362} 15363 15364// Response for ListVirtualNetworkTap API service call. 15365type VirtualNetworkTapListResult struct { 15366 // The URL to get the next set of results. 15367 NextLink *string `json:"nextLink,omitempty"` 15368 15369 // A list of VirtualNetworkTaps in a resource group. 15370 Value *[]VirtualNetworkTap `json:"value,omitempty"` 15371} 15372 15373// VirtualNetworkTapListResultResponse is the response envelope for operations that return a VirtualNetworkTapListResult type. 15374type VirtualNetworkTapListResultResponse struct { 15375 // RawResponse contains the underlying HTTP response. 15376 RawResponse *http.Response 15377 15378 // Response for ListVirtualNetworkTap API service call. 15379 VirtualNetworkTapListResult *VirtualNetworkTapListResult 15380} 15381 15382// VirtualNetworkTapPollerResponse is the response envelope for operations that asynchronously return a VirtualNetworkTap type. 15383type VirtualNetworkTapPollerResponse struct { 15384 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15385 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualNetworkTapResponse, error) 15386 15387 // Poller contains an initialized poller. 15388 Poller VirtualNetworkTapPoller 15389 15390 // RawResponse contains the underlying HTTP response. 15391 RawResponse *http.Response 15392} 15393 15394// Virtual Network Tap properties. 15395type VirtualNetworkTapPropertiesFormat struct { 15396 // The reference to the private IP address on the internal Load Balancer that will receive the tap. 15397 DestinationLoadBalancerFrontEndIPConfiguration *FrontendIPConfiguration `json:"destinationLoadBalancerFrontEndIPConfiguration,omitempty"` 15398 15399 // The reference to the private IP Address of the collector nic that will receive the tap. 15400 DestinationNetworkInterfaceIPConfiguration *NetworkInterfaceIPConfiguration `json:"destinationNetworkInterfaceIPConfiguration,omitempty"` 15401 15402 // The VXLAN destination port that will receive the tapped traffic. 15403 DestinationPort *int32 `json:"destinationPort,omitempty"` 15404 15405 // READ-ONLY; Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped. 15406 NetworkInterfaceTapConfigurations *[]NetworkInterfaceTapConfiguration `json:"networkInterfaceTapConfigurations,omitempty" azure:"ro"` 15407 15408 // READ-ONLY; The provisioning state of the virtual network tap resource. 15409 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15410 15411 // READ-ONLY; The resource GUID property of the virtual network tap resource. 15412 ResourceGUID *string `json:"resourceGuid,omitempty" azure:"ro"` 15413} 15414 15415// VirtualNetworkTapResponse is the response envelope for operations that return a VirtualNetworkTap type. 15416type VirtualNetworkTapResponse struct { 15417 // RawResponse contains the underlying HTTP response. 15418 RawResponse *http.Response 15419 15420 // Virtual Network Tap resource. 15421 VirtualNetworkTap *VirtualNetworkTap 15422} 15423 15424// VirtualNetworkTapsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworkTaps.BeginCreateOrUpdate method. 15425type VirtualNetworkTapsBeginCreateOrUpdateOptions struct { 15426 // placeholder for future optional parameters 15427} 15428 15429// VirtualNetworkTapsBeginDeleteOptions contains the optional parameters for the VirtualNetworkTaps.BeginDelete method. 15430type VirtualNetworkTapsBeginDeleteOptions struct { 15431 // placeholder for future optional parameters 15432} 15433 15434// VirtualNetworkTapsGetOptions contains the optional parameters for the VirtualNetworkTaps.Get method. 15435type VirtualNetworkTapsGetOptions struct { 15436 // placeholder for future optional parameters 15437} 15438 15439// VirtualNetworkTapsListAllOptions contains the optional parameters for the VirtualNetworkTaps.ListAll method. 15440type VirtualNetworkTapsListAllOptions struct { 15441 // placeholder for future optional parameters 15442} 15443 15444// VirtualNetworkTapsListByResourceGroupOptions contains the optional parameters for the VirtualNetworkTaps.ListByResourceGroup method. 15445type VirtualNetworkTapsListByResourceGroupOptions struct { 15446 // placeholder for future optional parameters 15447} 15448 15449// VirtualNetworkTapsUpdateTagsOptions contains the optional parameters for the VirtualNetworkTaps.UpdateTags method. 15450type VirtualNetworkTapsUpdateTagsOptions struct { 15451 // placeholder for future optional parameters 15452} 15453 15454// Usage details for subnet. 15455type VirtualNetworkUsage struct { 15456 // READ-ONLY; Indicates number of IPs used from the Subnet. 15457 CurrentValue *float64 `json:"currentValue,omitempty" azure:"ro"` 15458 15459 // READ-ONLY; Subnet identifier. 15460 ID *string `json:"id,omitempty" azure:"ro"` 15461 15462 // READ-ONLY; Indicates the size of the subnet. 15463 Limit *float64 `json:"limit,omitempty" azure:"ro"` 15464 15465 // READ-ONLY; The name containing common and localized value for usage. 15466 Name *VirtualNetworkUsageName `json:"name,omitempty" azure:"ro"` 15467 15468 // READ-ONLY; Usage units. Returns 'Count'. 15469 Unit *string `json:"unit,omitempty" azure:"ro"` 15470} 15471 15472// Usage strings container. 15473type VirtualNetworkUsageName struct { 15474 // READ-ONLY; Localized subnet size and usage string. 15475 LocalizedValue *string `json:"localizedValue,omitempty" azure:"ro"` 15476 15477 // READ-ONLY; Subnet size and usage string. 15478 Value *string `json:"value,omitempty" azure:"ro"` 15479} 15480 15481// VirtualNetworksBeginCreateOrUpdateOptions contains the optional parameters for the VirtualNetworks.BeginCreateOrUpdate method. 15482type VirtualNetworksBeginCreateOrUpdateOptions struct { 15483 // placeholder for future optional parameters 15484} 15485 15486// VirtualNetworksBeginDeleteOptions contains the optional parameters for the VirtualNetworks.BeginDelete method. 15487type VirtualNetworksBeginDeleteOptions struct { 15488 // placeholder for future optional parameters 15489} 15490 15491// VirtualNetworksCheckIPAddressAvailabilityOptions contains the optional parameters for the VirtualNetworks.CheckIPAddressAvailability method. 15492type VirtualNetworksCheckIPAddressAvailabilityOptions struct { 15493 // placeholder for future optional parameters 15494} 15495 15496// VirtualNetworksGetOptions contains the optional parameters for the VirtualNetworks.Get method. 15497type VirtualNetworksGetOptions struct { 15498 // Expands referenced resources. 15499 Expand *string 15500} 15501 15502// VirtualNetworksListAllOptions contains the optional parameters for the VirtualNetworks.ListAll method. 15503type VirtualNetworksListAllOptions struct { 15504 // placeholder for future optional parameters 15505} 15506 15507// VirtualNetworksListOptions contains the optional parameters for the VirtualNetworks.List method. 15508type VirtualNetworksListOptions struct { 15509 // placeholder for future optional parameters 15510} 15511 15512// VirtualNetworksListUsageOptions contains the optional parameters for the VirtualNetworks.ListUsage method. 15513type VirtualNetworksListUsageOptions struct { 15514 // placeholder for future optional parameters 15515} 15516 15517// VirtualNetworksUpdateTagsOptions contains the optional parameters for the VirtualNetworks.UpdateTags method. 15518type VirtualNetworksUpdateTagsOptions struct { 15519 // placeholder for future optional parameters 15520} 15521 15522// VirtualRouter Resource. 15523type VirtualRouter struct { 15524 Resource 15525 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15526 Etag *string `json:"etag,omitempty" azure:"ro"` 15527 15528 // Properties of the Virtual Router. 15529 Properties *VirtualRouterPropertiesFormat `json:"properties,omitempty"` 15530} 15531 15532// Response for ListVirtualRouters API service call. 15533type VirtualRouterListResult struct { 15534 // URL to get the next set of results. 15535 NextLink *string `json:"nextLink,omitempty"` 15536 15537 // List of Virtual Routers. 15538 Value *[]VirtualRouter `json:"value,omitempty"` 15539} 15540 15541// VirtualRouterListResultResponse is the response envelope for operations that return a VirtualRouterListResult type. 15542type VirtualRouterListResultResponse struct { 15543 // RawResponse contains the underlying HTTP response. 15544 RawResponse *http.Response 15545 15546 // Response for ListVirtualRouters API service call. 15547 VirtualRouterListResult *VirtualRouterListResult 15548} 15549 15550// Virtual Router Peering resource. 15551type VirtualRouterPeering struct { 15552 SubResource 15553 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15554 Etag *string `json:"etag,omitempty" azure:"ro"` 15555 15556 // Name of the virtual router peering that is unique within a virtual router. 15557 Name *string `json:"name,omitempty"` 15558 15559 // The properties of the Virtual Router Peering. 15560 Properties *VirtualRouterPeeringProperties `json:"properties,omitempty"` 15561 15562 // READ-ONLY; Peering type. 15563 Type *string `json:"type,omitempty" azure:"ro"` 15564} 15565 15566// Response for ListVirtualRouterPeerings API service call. 15567type VirtualRouterPeeringListResult struct { 15568 // URL to get the next set of results. 15569 NextLink *string `json:"nextLink,omitempty"` 15570 15571 // List of VirtualRouterPeerings in a VirtualRouter. 15572 Value *[]VirtualRouterPeering `json:"value,omitempty"` 15573} 15574 15575// VirtualRouterPeeringListResultResponse is the response envelope for operations that return a VirtualRouterPeeringListResult type. 15576type VirtualRouterPeeringListResultResponse struct { 15577 // RawResponse contains the underlying HTTP response. 15578 RawResponse *http.Response 15579 15580 // Response for ListVirtualRouterPeerings API service call. 15581 VirtualRouterPeeringListResult *VirtualRouterPeeringListResult 15582} 15583 15584// VirtualRouterPeeringPollerResponse is the response envelope for operations that asynchronously return a VirtualRouterPeering type. 15585type VirtualRouterPeeringPollerResponse struct { 15586 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15587 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualRouterPeeringResponse, error) 15588 15589 // Poller contains an initialized poller. 15590 Poller VirtualRouterPeeringPoller 15591 15592 // RawResponse contains the underlying HTTP response. 15593 RawResponse *http.Response 15594} 15595 15596// Properties of the rule group. 15597type VirtualRouterPeeringProperties struct { 15598 // Peer ASN. 15599 PeerAsn *int64 `json:"peerAsn,omitempty"` 15600 15601 // Peer IP. 15602 PeerIP *string `json:"peerIp,omitempty"` 15603 15604 // READ-ONLY; The provisioning state of the resource. 15605 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15606} 15607 15608// VirtualRouterPeeringResponse is the response envelope for operations that return a VirtualRouterPeering type. 15609type VirtualRouterPeeringResponse struct { 15610 // RawResponse contains the underlying HTTP response. 15611 RawResponse *http.Response 15612 15613 // Virtual Router Peering resource. 15614 VirtualRouterPeering *VirtualRouterPeering 15615} 15616 15617// VirtualRouterPeeringsBeginCreateOrUpdateOptions contains the optional parameters for the VirtualRouterPeerings.BeginCreateOrUpdate method. 15618type VirtualRouterPeeringsBeginCreateOrUpdateOptions struct { 15619 // placeholder for future optional parameters 15620} 15621 15622// VirtualRouterPeeringsBeginDeleteOptions contains the optional parameters for the VirtualRouterPeerings.BeginDelete method. 15623type VirtualRouterPeeringsBeginDeleteOptions struct { 15624 // placeholder for future optional parameters 15625} 15626 15627// VirtualRouterPeeringsGetOptions contains the optional parameters for the VirtualRouterPeerings.Get method. 15628type VirtualRouterPeeringsGetOptions struct { 15629 // placeholder for future optional parameters 15630} 15631 15632// VirtualRouterPeeringsListOptions contains the optional parameters for the VirtualRouterPeerings.List method. 15633type VirtualRouterPeeringsListOptions struct { 15634 // placeholder for future optional parameters 15635} 15636 15637// VirtualRouterPollerResponse is the response envelope for operations that asynchronously return a VirtualRouter type. 15638type VirtualRouterPollerResponse struct { 15639 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15640 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualRouterResponse, error) 15641 15642 // Poller contains an initialized poller. 15643 Poller VirtualRouterPoller 15644 15645 // RawResponse contains the underlying HTTP response. 15646 RawResponse *http.Response 15647} 15648 15649// Virtual Router definition. 15650type VirtualRouterPropertiesFormat struct { 15651 // The Gateway on which VirtualRouter is hosted. 15652 HostedGateway *SubResource `json:"hostedGateway,omitempty"` 15653 15654 // The Subnet on which VirtualRouter is hosted. 15655 HostedSubnet *SubResource `json:"hostedSubnet,omitempty"` 15656 15657 // READ-ONLY; List of references to VirtualRouterPeerings. 15658 Peerings *[]SubResource `json:"peerings,omitempty" azure:"ro"` 15659 15660 // READ-ONLY; The provisioning state of the resource. 15661 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15662 15663 // VirtualRouter ASN. 15664 VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` 15665 15666 // VirtualRouter IPs. 15667 VirtualRouterIPs *[]string `json:"virtualRouterIps,omitempty"` 15668} 15669 15670// VirtualRouterResponse is the response envelope for operations that return a VirtualRouter type. 15671type VirtualRouterResponse struct { 15672 // RawResponse contains the underlying HTTP response. 15673 RawResponse *http.Response 15674 15675 // VirtualRouter Resource. 15676 VirtualRouter *VirtualRouter 15677} 15678 15679// VirtualRoutersBeginCreateOrUpdateOptions contains the optional parameters for the VirtualRouters.BeginCreateOrUpdate method. 15680type VirtualRoutersBeginCreateOrUpdateOptions struct { 15681 // placeholder for future optional parameters 15682} 15683 15684// VirtualRoutersBeginDeleteOptions contains the optional parameters for the VirtualRouters.BeginDelete method. 15685type VirtualRoutersBeginDeleteOptions struct { 15686 // placeholder for future optional parameters 15687} 15688 15689// VirtualRoutersGetOptions contains the optional parameters for the VirtualRouters.Get method. 15690type VirtualRoutersGetOptions struct { 15691 // Expands referenced resources. 15692 Expand *string 15693} 15694 15695// VirtualRoutersListByResourceGroupOptions contains the optional parameters for the VirtualRouters.ListByResourceGroup method. 15696type VirtualRoutersListByResourceGroupOptions struct { 15697 // placeholder for future optional parameters 15698} 15699 15700// VirtualRoutersListOptions contains the optional parameters for the VirtualRouters.List method. 15701type VirtualRoutersListOptions struct { 15702 // placeholder for future optional parameters 15703} 15704 15705// VirtualWAN Resource. 15706type VirtualWan struct { 15707 Resource 15708 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 15709 Etag *string `json:"etag,omitempty" azure:"ro"` 15710 15711 // Properties of the virtual WAN. 15712 Properties *VirtualWanProperties `json:"properties,omitempty"` 15713} 15714 15715// VirtualWanPollerResponse is the response envelope for operations that asynchronously return a VirtualWan type. 15716type VirtualWanPollerResponse struct { 15717 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15718 PollUntilDone func(ctx context.Context, frequency time.Duration) (VirtualWanResponse, error) 15719 15720 // Poller contains an initialized poller. 15721 Poller VirtualWanPoller 15722 15723 // RawResponse contains the underlying HTTP response. 15724 RawResponse *http.Response 15725} 15726 15727// Parameters for VirtualWAN. 15728type VirtualWanProperties struct { 15729 // True if branch to branch traffic is allowed. 15730 AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` 15731 15732 // True if Vnet to Vnet traffic is allowed. 15733 AllowVnetToVnetTraffic *bool `json:"allowVnetToVnetTraffic,omitempty"` 15734 15735 // Vpn encryption to be disabled or not. 15736 DisableVpnEncryption *bool `json:"disableVpnEncryption,omitempty"` 15737 15738 // READ-ONLY; The office local breakout category. 15739 Office365LocalBreakoutCategory *OfficeTrafficCategory `json:"office365LocalBreakoutCategory,omitempty" azure:"ro"` 15740 15741 // READ-ONLY; The provisioning state of the virtual WAN resource. 15742 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 15743 15744 // The type of the VirtualWAN. 15745 Type *string `json:"type,omitempty"` 15746 15747 // READ-ONLY; List of VirtualHubs in the VirtualWAN. 15748 VirtualHubs *[]SubResource `json:"virtualHubs,omitempty" azure:"ro"` 15749 15750 // READ-ONLY; List of VpnSites in the VirtualWAN. 15751 VpnSites *[]SubResource `json:"vpnSites,omitempty" azure:"ro"` 15752} 15753 15754// VirtualWanResponse is the response envelope for operations that return a VirtualWan type. 15755type VirtualWanResponse struct { 15756 // RawResponse contains the underlying HTTP response. 15757 RawResponse *http.Response 15758 15759 // VirtualWAN Resource. 15760 VirtualWan *VirtualWan 15761} 15762 15763// Collection of SecurityProviders. 15764type VirtualWanSecurityProvider struct { 15765 // Name of the security provider. 15766 Name *string `json:"name,omitempty"` 15767 15768 // READ-ONLY; Name of the security provider. 15769 Type *VirtualWanSecurityProviderType `json:"type,omitempty" azure:"ro"` 15770 15771 // Url of the security provider. 15772 URL *string `json:"url,omitempty"` 15773} 15774 15775// Collection of SecurityProviders. 15776type VirtualWanSecurityProviders struct { 15777 // List of VirtualWAN security providers. 15778 SupportedProviders *[]VirtualWanSecurityProvider `json:"supportedProviders,omitempty"` 15779} 15780 15781// VirtualWanSecurityProvidersResponse is the response envelope for operations that return a VirtualWanSecurityProviders type. 15782type VirtualWanSecurityProvidersResponse struct { 15783 // RawResponse contains the underlying HTTP response. 15784 RawResponse *http.Response 15785 15786 // Collection of SecurityProviders. 15787 VirtualWanSecurityProviders *VirtualWanSecurityProviders 15788} 15789 15790// Virtual Wan Vpn profile parameters Vpn profile generation. 15791type VirtualWanVpnProfileParameters struct { 15792 // VPN client authentication method. 15793 AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` 15794 15795 // VpnServerConfiguration partial resource uri with which VirtualWan is associated to. 15796 VpnServerConfigurationResourceID *string `json:"vpnServerConfigurationResourceId,omitempty"` 15797} 15798 15799// VirtualWansBeginCreateOrUpdateOptions contains the optional parameters for the VirtualWans.BeginCreateOrUpdate method. 15800type VirtualWansBeginCreateOrUpdateOptions struct { 15801 // placeholder for future optional parameters 15802} 15803 15804// VirtualWansBeginDeleteOptions contains the optional parameters for the VirtualWans.BeginDelete method. 15805type VirtualWansBeginDeleteOptions struct { 15806 // placeholder for future optional parameters 15807} 15808 15809// VirtualWansGetOptions contains the optional parameters for the VirtualWans.Get method. 15810type VirtualWansGetOptions struct { 15811 // placeholder for future optional parameters 15812} 15813 15814// VirtualWansListByResourceGroupOptions contains the optional parameters for the VirtualWans.ListByResourceGroup method. 15815type VirtualWansListByResourceGroupOptions struct { 15816 // placeholder for future optional parameters 15817} 15818 15819// VirtualWansListOptions contains the optional parameters for the VirtualWans.List method. 15820type VirtualWansListOptions struct { 15821 // placeholder for future optional parameters 15822} 15823 15824// VirtualWansUpdateTagsOptions contains the optional parameters for the VirtualWans.UpdateTags method. 15825type VirtualWansUpdateTagsOptions struct { 15826 // placeholder for future optional parameters 15827} 15828 15829// List of routes that control routing from VirtualHub into a virtual network connection. 15830type VnetRoute struct { 15831 // List of all Static Routes. 15832 StaticRoutes *[]StaticRoute `json:"staticRoutes,omitempty"` 15833} 15834 15835// VpnClientConfiguration for P2S client. 15836type VpnClientConfiguration struct { 15837 // The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. 15838 AadAudience *string `json:"aadAudience,omitempty"` 15839 15840 // The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. 15841 AadIssuer *string `json:"aadIssuer,omitempty"` 15842 15843 // The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. 15844 AadTenant *string `json:"aadTenant,omitempty"` 15845 15846 // The radius server address property of the VirtualNetworkGateway resource for vpn client connection. 15847 RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` 15848 15849 // The radius secret property of the VirtualNetworkGateway resource for vpn client connection. 15850 RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` 15851 15852 // The radiusServers property for multiple radius server configuration. 15853 RadiusServers *[]RadiusServer `json:"radiusServers,omitempty"` 15854 15855 // The reference to the address space resource which represents Address space for P2S VpnClient. 15856 VpnClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` 15857 15858 // VpnClientIpsecPolicies for virtual network gateway P2S client. 15859 VpnClientIPsecPolicies *[]IPsecPolicy `json:"vpnClientIpsecPolicies,omitempty"` 15860 15861 // VpnClientProtocols for Virtual network gateway. 15862 VpnClientProtocols *[]VpnClientProtocol `json:"vpnClientProtocols,omitempty"` 15863 15864 // VpnClientRevokedCertificate for Virtual network gateway. 15865 VpnClientRevokedCertificates *[]VpnClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` 15866 15867 // VpnClientRootCertificate for virtual network gateway. 15868 VpnClientRootCertificates *[]VpnClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` 15869} 15870 15871// VpnClientConnectionHealth properties. 15872type VpnClientConnectionHealth struct { 15873 // List of allocated ip addresses to the connected p2s vpn clients. 15874 AllocatedIPAddresses *[]string `json:"allocatedIpAddresses,omitempty"` 15875 15876 // READ-ONLY; Total of the Egress Bytes Transferred in this connection. 15877 TotalEgressBytesTransferred *int64 `json:"totalEgressBytesTransferred,omitempty" azure:"ro"` 15878 15879 // READ-ONLY; Total of the Ingress Bytes Transferred in this P2S Vpn connection. 15880 TotalIngressBytesTransferred *int64 `json:"totalIngressBytesTransferred,omitempty" azure:"ro"` 15881 15882 // The total of p2s vpn clients connected at this time to this P2SVpnGateway. 15883 VpnClientConnectionsCount *int32 `json:"vpnClientConnectionsCount,omitempty"` 15884} 15885 15886// VPN client connection health detail. 15887type VpnClientConnectionHealthDetail struct { 15888 // READ-ONLY; The egress bytes per second. 15889 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 15890 15891 // READ-ONLY; The egress packets per second. 15892 EgressPacketsTransferred *int64 `json:"egressPacketsTransferred,omitempty" azure:"ro"` 15893 15894 // READ-ONLY; The ingress bytes per second. 15895 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 15896 15897 // READ-ONLY; The ingress packets per second. 15898 IngressPacketsTransferred *int64 `json:"ingressPacketsTransferred,omitempty" azure:"ro"` 15899 15900 // READ-ONLY; The max band width. 15901 MaxBandwidth *int64 `json:"maxBandwidth,omitempty" azure:"ro"` 15902 15903 // READ-ONLY; The max packets transferred per second. 15904 MaxPacketsPerSecond *int64 `json:"maxPacketsPerSecond,omitempty" azure:"ro"` 15905 15906 // READ-ONLY; The assigned private Ip of a connected vpn client. 15907 PrivateIPAddress *string `json:"privateIpAddress,omitempty" azure:"ro"` 15908 15909 // READ-ONLY; The public Ip of a connected vpn client. 15910 PublicIPAddress *string `json:"publicIpAddress,omitempty" azure:"ro"` 15911 15912 // READ-ONLY; The duration time of a connected vpn client. 15913 VpnConnectionDuration *int64 `json:"vpnConnectionDuration,omitempty" azure:"ro"` 15914 15915 // READ-ONLY; The vpn client Id. 15916 VpnConnectionID *string `json:"vpnConnectionId,omitempty" azure:"ro"` 15917 15918 // READ-ONLY; The start time of a connected vpn client. 15919 VpnConnectionTime *string `json:"vpnConnectionTime,omitempty" azure:"ro"` 15920 15921 // READ-ONLY; The user name of a connected vpn client. 15922 VpnUserName *string `json:"vpnUserName,omitempty" azure:"ro"` 15923} 15924 15925// List of virtual network gateway vpn client connection health. 15926type VpnClientConnectionHealthDetailListResult struct { 15927 // List of vpn client connection health. 15928 Value *[]VpnClientConnectionHealthDetail `json:"value,omitempty"` 15929} 15930 15931// VpnClientConnectionHealthDetailListResultPollerResponse is the response envelope for operations that asynchronously return a VpnClientConnectionHealthDetailListResult 15932// type. 15933type VpnClientConnectionHealthDetailListResultPollerResponse struct { 15934 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15935 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnClientConnectionHealthDetailListResultResponse, error) 15936 15937 // Poller contains an initialized poller. 15938 Poller VpnClientConnectionHealthDetailListResultPoller 15939 15940 // RawResponse contains the underlying HTTP response. 15941 RawResponse *http.Response 15942} 15943 15944// VpnClientConnectionHealthDetailListResultResponse is the response envelope for operations that return a VpnClientConnectionHealthDetailListResult type. 15945type VpnClientConnectionHealthDetailListResultResponse struct { 15946 // RawResponse contains the underlying HTTP response. 15947 RawResponse *http.Response 15948 15949 // List of virtual network gateway vpn client connection health. 15950 VpnClientConnectionHealthDetailListResult *VpnClientConnectionHealthDetailListResult 15951} 15952 15953// An IPSec parameters for a virtual network gateway P2S connection. 15954type VpnClientIPsecParameters struct { 15955 // The DH Group used in IKE Phase 1 for initial SA. 15956 DhGroup *DhGroup `json:"dhGroup,omitempty"` 15957 15958 // The IPSec encryption algorithm (IKE phase 1). 15959 IPsecEncryption *IPsecEncryption `json:"ipsecEncryption,omitempty"` 15960 15961 // The IPSec integrity algorithm (IKE phase 1). 15962 IPsecIntegrity *IPsecIntegrity `json:"ipsecIntegrity,omitempty"` 15963 15964 // The IKE encryption algorithm (IKE phase 2). 15965 IkeEncryption *IkeEncryption `json:"ikeEncryption,omitempty"` 15966 15967 // The IKE integrity algorithm (IKE phase 2). 15968 IkeIntegrity *IkeIntegrity `json:"ikeIntegrity,omitempty"` 15969 15970 // The Pfs Group used in IKE Phase 2 for new child SA. 15971 PfsGroup *PfsGroup `json:"pfsGroup,omitempty"` 15972 15973 // The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. 15974 SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` 15975 15976 // The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. 15977 SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` 15978} 15979 15980// VpnClientIPsecParametersPollerResponse is the response envelope for operations that asynchronously return a VpnClientIPsecParameters type. 15981type VpnClientIPsecParametersPollerResponse struct { 15982 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 15983 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnClientIPsecParametersResponse, error) 15984 15985 // Poller contains an initialized poller. 15986 Poller VpnClientIPsecParametersPoller 15987 15988 // RawResponse contains the underlying HTTP response. 15989 RawResponse *http.Response 15990} 15991 15992// VpnClientIPsecParametersResponse is the response envelope for operations that return a VpnClientIPsecParameters type. 15993type VpnClientIPsecParametersResponse struct { 15994 // RawResponse contains the underlying HTTP response. 15995 RawResponse *http.Response 15996 15997 // An IPSec parameters for a virtual network gateway P2S connection. 15998 VpnClientIPsecParameters *VpnClientIPsecParameters 15999} 16000 16001// Vpn Client Parameters for package generation. 16002type VpnClientParameters struct { 16003 // VPN client authentication method. 16004 AuthenticationMethod *AuthenticationMethod `json:"authenticationMethod,omitempty"` 16005 16006 // A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with 16007 // EAPTLS. 16008 ClientRootCertificates *[]string `json:"clientRootCertificates,omitempty"` 16009 16010 // VPN client Processor Architecture. 16011 ProcessorArchitecture *ProcessorArchitecture `json:"processorArchitecture,omitempty"` 16012 16013 // The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication 16014 // has been configured with EAPTLS 16015 // authentication. 16016 RadiusServerAuthCertificate *string `json:"radiusServerAuthCertificate,omitempty"` 16017} 16018 16019// VPN client revoked certificate of virtual network gateway. 16020type VpnClientRevokedCertificate struct { 16021 SubResource 16022 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16023 Etag *string `json:"etag,omitempty" azure:"ro"` 16024 16025 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 16026 Name *string `json:"name,omitempty"` 16027 16028 // Properties of the vpn client revoked certificate. 16029 Properties *VpnClientRevokedCertificatePropertiesFormat `json:"properties,omitempty"` 16030} 16031 16032// Properties of the revoked VPN client certificate of virtual network gateway. 16033type VpnClientRevokedCertificatePropertiesFormat struct { 16034 // READ-ONLY; The provisioning state of the VPN client revoked certificate resource. 16035 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16036 16037 // The revoked VPN client certificate thumbprint. 16038 Thumbprint *string `json:"thumbprint,omitempty"` 16039} 16040 16041// VPN client root certificate of virtual network gateway. 16042type VpnClientRootCertificate struct { 16043 SubResource 16044 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16045 Etag *string `json:"etag,omitempty" azure:"ro"` 16046 16047 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 16048 Name *string `json:"name,omitempty"` 16049 16050 // Properties of the vpn client root certificate. 16051 Properties *VpnClientRootCertificatePropertiesFormat `json:"properties,omitempty"` 16052} 16053 16054// Properties of SSL certificates of application gateway. 16055type VpnClientRootCertificatePropertiesFormat struct { 16056 // READ-ONLY; The provisioning state of the VPN client root certificate resource. 16057 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16058 16059 // The certificate public data. 16060 PublicCertData *string `json:"publicCertData,omitempty"` 16061} 16062 16063// VpnConnection Resource. 16064type VpnConnection struct { 16065 SubResource 16066 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16067 Etag *string `json:"etag,omitempty" azure:"ro"` 16068 16069 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 16070 Name *string `json:"name,omitempty"` 16071 16072 // Properties of the VPN connection. 16073 Properties *VpnConnectionProperties `json:"properties,omitempty"` 16074} 16075 16076// Vpn Connection packet capture parameters supplied to start packet capture on gateway connection. 16077type VpnConnectionPacketCaptureStartParameters struct { 16078 // Start Packet capture parameters on vpn connection. 16079 FilterData *string `json:"filterData,omitempty"` 16080 16081 // List of site link connection names. 16082 LinkConnectionNames *[]string `json:"linkConnectionNames,omitempty"` 16083} 16084 16085// Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection. 16086type VpnConnectionPacketCaptureStopParameters struct { 16087 // List of site link connection names. 16088 LinkConnectionNames *[]string `json:"linkConnectionNames,omitempty"` 16089 16090 // SAS url for packet capture on vpn connection. 16091 SasURL *string `json:"sasUrl,omitempty"` 16092} 16093 16094// VpnConnectionPollerResponse is the response envelope for operations that asynchronously return a VpnConnection type. 16095type VpnConnectionPollerResponse struct { 16096 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 16097 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnConnectionResponse, error) 16098 16099 // Poller contains an initialized poller. 16100 Poller VpnConnectionPoller 16101 16102 // RawResponse contains the underlying HTTP response. 16103 RawResponse *http.Response 16104} 16105 16106// Parameters for VpnConnection. 16107type VpnConnectionProperties struct { 16108 // Expected bandwidth in MBPS. 16109 ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` 16110 16111 // READ-ONLY; The connection status. 16112 ConnectionStatus *VpnConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 16113 16114 // DPD timeout in seconds for vpn connection. 16115 DpdTimeoutSeconds *int32 `json:"dpdTimeoutSeconds,omitempty"` 16116 16117 // READ-ONLY; Egress bytes transferred. 16118 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 16119 16120 // EnableBgp flag. 16121 EnableBgp *bool `json:"enableBgp,omitempty"` 16122 16123 // Enable internet security. 16124 EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` 16125 16126 // EnableBgp flag. 16127 EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` 16128 16129 // The IPSec Policies to be considered by this connection. 16130 IPsecPolicies *[]IPsecPolicy `json:"ipsecPolicies,omitempty"` 16131 16132 // READ-ONLY; Ingress bytes transferred. 16133 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 16134 16135 // READ-ONLY; The provisioning state of the VPN connection resource. 16136 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16137 16138 // Id of the connected vpn site. 16139 RemoteVpnSite *SubResource `json:"remoteVpnSite,omitempty"` 16140 16141 // The Routing Configuration indicating the associated and propagated route tables on this connection. 16142 RoutingConfiguration *RoutingConfiguration `json:"routingConfiguration,omitempty"` 16143 16144 // Routing weight for vpn connection. 16145 RoutingWeight *int32 `json:"routingWeight,omitempty"` 16146 16147 // SharedKey for the vpn connection. 16148 SharedKey *string `json:"sharedKey,omitempty"` 16149 16150 // Use local azure ip to initiate connection. 16151 UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` 16152 16153 // Enable policy-based traffic selectors. 16154 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 16155 16156 // Connection protocol used for this connection. 16157 VpnConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` 16158 16159 // List of all vpn site link connections to the gateway. 16160 VpnLinkConnections *[]VpnSiteLinkConnection `json:"vpnLinkConnections,omitempty"` 16161} 16162 16163// VpnConnectionResponse is the response envelope for operations that return a VpnConnection type. 16164type VpnConnectionResponse struct { 16165 // RawResponse contains the underlying HTTP response. 16166 RawResponse *http.Response 16167 16168 // VpnConnection Resource. 16169 VpnConnection *VpnConnection 16170} 16171 16172// VpnConnectionsBeginCreateOrUpdateOptions contains the optional parameters for the VpnConnections.BeginCreateOrUpdate method. 16173type VpnConnectionsBeginCreateOrUpdateOptions struct { 16174 // placeholder for future optional parameters 16175} 16176 16177// VpnConnectionsBeginDeleteOptions contains the optional parameters for the VpnConnections.BeginDelete method. 16178type VpnConnectionsBeginDeleteOptions struct { 16179 // placeholder for future optional parameters 16180} 16181 16182// VpnConnectionsBeginStartPacketCaptureOptions contains the optional parameters for the VpnConnections.BeginStartPacketCapture method. 16183type VpnConnectionsBeginStartPacketCaptureOptions struct { 16184 // Vpn Connection packet capture parameters supplied to start packet capture on gateway connection. 16185 Parameters *VpnConnectionPacketCaptureStartParameters 16186} 16187 16188// VpnConnectionsBeginStopPacketCaptureOptions contains the optional parameters for the VpnConnections.BeginStopPacketCapture method. 16189type VpnConnectionsBeginStopPacketCaptureOptions struct { 16190 // Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection. 16191 Parameters *VpnConnectionPacketCaptureStopParameters 16192} 16193 16194// VpnConnectionsGetOptions contains the optional parameters for the VpnConnections.Get method. 16195type VpnConnectionsGetOptions struct { 16196 // placeholder for future optional parameters 16197} 16198 16199// VpnConnectionsListByVpnGatewayOptions contains the optional parameters for the VpnConnections.ListByVpnGateway method. 16200type VpnConnectionsListByVpnGatewayOptions struct { 16201 // placeholder for future optional parameters 16202} 16203 16204// Vpn device configuration script generation parameters. 16205type VpnDeviceScriptParameters struct { 16206 // The device family for the vpn device. 16207 DeviceFamily *string `json:"deviceFamily,omitempty"` 16208 16209 // The firmware version for the vpn device. 16210 FirmwareVersion *string `json:"firmwareVersion,omitempty"` 16211 16212 // The vendor for the vpn device. 16213 Vendor *string `json:"vendor,omitempty"` 16214} 16215 16216// VpnGateway Resource. 16217type VpnGateway struct { 16218 Resource 16219 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16220 Etag *string `json:"etag,omitempty" azure:"ro"` 16221 16222 // Properties of the VPN gateway. 16223 Properties *VpnGatewayProperties `json:"properties,omitempty"` 16224} 16225 16226// IP Configuration of a VPN Gateway Resource. 16227type VpnGatewayIPConfiguration struct { 16228 // The identifier of the IP configuration for a VPN Gateway. 16229 ID *string `json:"id,omitempty"` 16230 16231 // The private IP address of this IP configuration. 16232 PrivateIPAddress *string `json:"privateIpAddress,omitempty"` 16233 16234 // The public IP address of this IP configuration. 16235 PublicIPAddress *string `json:"publicIpAddress,omitempty"` 16236} 16237 16238// Start packet capture parameters. 16239type VpnGatewayPacketCaptureStartParameters struct { 16240 // Start Packet capture parameters on vpn gateway. 16241 FilterData *string `json:"filterData,omitempty"` 16242} 16243 16244// Stop packet capture parameters. 16245type VpnGatewayPacketCaptureStopParameters struct { 16246 // SAS url for packet capture on vpn gateway. 16247 SasURL *string `json:"sasUrl,omitempty"` 16248} 16249 16250// VpnGatewayPollerResponse is the response envelope for operations that asynchronously return a VpnGateway type. 16251type VpnGatewayPollerResponse struct { 16252 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 16253 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnGatewayResponse, error) 16254 16255 // Poller contains an initialized poller. 16256 Poller VpnGatewayPoller 16257 16258 // RawResponse contains the underlying HTTP response. 16259 RawResponse *http.Response 16260} 16261 16262// Parameters for VpnGateway. 16263type VpnGatewayProperties struct { 16264 // Local network gateway's BGP speaker settings. 16265 BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` 16266 16267 // List of all vpn connections to the gateway. 16268 Connections *[]VpnConnection `json:"connections,omitempty"` 16269 16270 // READ-ONLY; List of all IPs configured on the gateway. 16271 IPConfigurations *[]VpnGatewayIPConfiguration `json:"ipConfigurations,omitempty" azure:"ro"` 16272 16273 // Enable Routing Preference property for the Public IP Interface of the VpnGateway. 16274 IsRoutingPreferenceInternet *bool `json:"isRoutingPreferenceInternet,omitempty"` 16275 16276 // READ-ONLY; The provisioning state of the VPN gateway resource. 16277 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16278 16279 // The VirtualHub to which the gateway belongs. 16280 VirtualHub *SubResource `json:"virtualHub,omitempty"` 16281 16282 // The scale unit for this vpn gateway. 16283 VpnGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` 16284} 16285 16286// VpnGatewayResponse is the response envelope for operations that return a VpnGateway type. 16287type VpnGatewayResponse struct { 16288 // RawResponse contains the underlying HTTP response. 16289 RawResponse *http.Response 16290 16291 // VpnGateway Resource. 16292 VpnGateway *VpnGateway 16293} 16294 16295// VpnGatewaysBeginCreateOrUpdateOptions contains the optional parameters for the VpnGateways.BeginCreateOrUpdate method. 16296type VpnGatewaysBeginCreateOrUpdateOptions struct { 16297 // placeholder for future optional parameters 16298} 16299 16300// VpnGatewaysBeginDeleteOptions contains the optional parameters for the VpnGateways.BeginDelete method. 16301type VpnGatewaysBeginDeleteOptions struct { 16302 // placeholder for future optional parameters 16303} 16304 16305// VpnGatewaysBeginResetOptions contains the optional parameters for the VpnGateways.BeginReset method. 16306type VpnGatewaysBeginResetOptions struct { 16307 // placeholder for future optional parameters 16308} 16309 16310// VpnGatewaysBeginStartPacketCaptureOptions contains the optional parameters for the VpnGateways.BeginStartPacketCapture method. 16311type VpnGatewaysBeginStartPacketCaptureOptions struct { 16312 // Vpn gateway packet capture parameters supplied to start packet capture on vpn gateway. 16313 Parameters *VpnGatewayPacketCaptureStartParameters 16314} 16315 16316// VpnGatewaysBeginStopPacketCaptureOptions contains the optional parameters for the VpnGateways.BeginStopPacketCapture method. 16317type VpnGatewaysBeginStopPacketCaptureOptions struct { 16318 // Vpn gateway packet capture parameters supplied to stop packet capture on vpn gateway. 16319 Parameters *VpnGatewayPacketCaptureStopParameters 16320} 16321 16322// VpnGatewaysBeginUpdateTagsOptions contains the optional parameters for the VpnGateways.BeginUpdateTags method. 16323type VpnGatewaysBeginUpdateTagsOptions struct { 16324 // placeholder for future optional parameters 16325} 16326 16327// VpnGatewaysGetOptions contains the optional parameters for the VpnGateways.Get method. 16328type VpnGatewaysGetOptions struct { 16329 // placeholder for future optional parameters 16330} 16331 16332// VpnGatewaysListByResourceGroupOptions contains the optional parameters for the VpnGateways.ListByResourceGroup method. 16333type VpnGatewaysListByResourceGroupOptions struct { 16334 // placeholder for future optional parameters 16335} 16336 16337// VpnGatewaysListOptions contains the optional parameters for the VpnGateways.List method. 16338type VpnGatewaysListOptions struct { 16339 // placeholder for future optional parameters 16340} 16341 16342// BGP settings details for a link. 16343type VpnLinkBgpSettings struct { 16344 // The BGP speaker's ASN. 16345 Asn *int64 `json:"asn,omitempty"` 16346 16347 // The BGP peering address and BGP identifier of this BGP speaker. 16348 BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` 16349} 16350 16351// VpnLinkConnectionsListByVpnConnectionOptions contains the optional parameters for the VpnLinkConnections.ListByVpnConnection method. 16352type VpnLinkConnectionsListByVpnConnectionOptions struct { 16353 // placeholder for future optional parameters 16354} 16355 16356// List of properties of a link provider. 16357type VpnLinkProviderProperties struct { 16358 // Name of the link provider. 16359 LinkProviderName *string `json:"linkProviderName,omitempty"` 16360 16361 // Link speed. 16362 LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` 16363} 16364 16365// Start packet capture parameters on virtual network gateway. 16366type VpnPacketCaptureStartParameters struct { 16367 // Start Packet capture parameters. 16368 FilterData *string `json:"filterData,omitempty"` 16369} 16370 16371// Stop packet capture parameters. 16372type VpnPacketCaptureStopParameters struct { 16373 // SAS url for packet capture on virtual network gateway. 16374 SasURL *string `json:"sasUrl,omitempty"` 16375} 16376 16377// Vpn Profile Response for package generation. 16378type VpnProfileResponse struct { 16379 // URL to the VPN profile. 16380 ProfileURL *string `json:"profileUrl,omitempty"` 16381} 16382 16383// VpnProfileResponsePollerResponse is the response envelope for operations that asynchronously return a VpnProfileResponse type. 16384type VpnProfileResponsePollerResponse struct { 16385 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 16386 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnProfileResponseResponse, error) 16387 16388 // Poller contains an initialized poller. 16389 Poller VpnProfileResponsePoller 16390 16391 // RawResponse contains the underlying HTTP response. 16392 RawResponse *http.Response 16393} 16394 16395// VpnProfileResponseResponse is the response envelope for operations that return a VpnProfileResponse type. 16396type VpnProfileResponseResponse struct { 16397 // RawResponse contains the underlying HTTP response. 16398 RawResponse *http.Response 16399 16400 // Vpn Profile Response for package generation. 16401 VpnProfileResponse *VpnProfileResponse 16402} 16403 16404// Properties of the Radius client root certificate of VpnServerConfiguration. 16405type VpnServerConfigRadiusClientRootCertificate struct { 16406 // The certificate name. 16407 Name *string `json:"name,omitempty"` 16408 16409 // The Radius client root certificate thumbprint. 16410 Thumbprint *string `json:"thumbprint,omitempty"` 16411} 16412 16413// Properties of Radius Server root certificate of VpnServerConfiguration. 16414type VpnServerConfigRadiusServerRootCertificate struct { 16415 // The certificate name. 16416 Name *string `json:"name,omitempty"` 16417 16418 // The certificate public data. 16419 PublicCertData *string `json:"publicCertData,omitempty"` 16420} 16421 16422// Properties of the revoked VPN client certificate of VpnServerConfiguration. 16423type VpnServerConfigVpnClientRevokedCertificate struct { 16424 // The certificate name. 16425 Name *string `json:"name,omitempty"` 16426 16427 // The revoked VPN client certificate thumbprint. 16428 Thumbprint *string `json:"thumbprint,omitempty"` 16429} 16430 16431// Properties of VPN client root certificate of VpnServerConfiguration. 16432type VpnServerConfigVpnClientRootCertificate struct { 16433 // The certificate name. 16434 Name *string `json:"name,omitempty"` 16435 16436 // The certificate public data. 16437 PublicCertData *string `json:"publicCertData,omitempty"` 16438} 16439 16440// VpnServerConfiguration Resource. 16441type VpnServerConfiguration struct { 16442 Resource 16443 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16444 Etag *string `json:"etag,omitempty" azure:"ro"` 16445 16446 // Properties of the P2SVpnServer configuration. 16447 Properties *VpnServerConfigurationProperties `json:"properties,omitempty"` 16448} 16449 16450// VpnServerConfigurationPollerResponse is the response envelope for operations that asynchronously return a VpnServerConfiguration type. 16451type VpnServerConfigurationPollerResponse struct { 16452 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 16453 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnServerConfigurationResponse, error) 16454 16455 // Poller contains an initialized poller. 16456 Poller VpnServerConfigurationPoller 16457 16458 // RawResponse contains the underlying HTTP response. 16459 RawResponse *http.Response 16460} 16461 16462// Parameters for VpnServerConfiguration. 16463type VpnServerConfigurationProperties struct { 16464 // The set of aad vpn authentication parameters. 16465 AadAuthenticationParameters *AadAuthenticationParameters `json:"aadAuthenticationParameters,omitempty"` 16466 16467 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16468 Etag *string `json:"etag,omitempty" azure:"ro"` 16469 16470 // The name of the VpnServerConfiguration that is unique within a resource group. 16471 Name *string `json:"name,omitempty"` 16472 16473 // READ-ONLY; List of references to P2SVpnGateways. 16474 P2SVpnGateways *[]P2SVpnGateway `json:"p2SVpnGateways,omitempty" azure:"ro"` 16475 16476 // READ-ONLY; The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 16477 ProvisioningState *string `json:"provisioningState,omitempty" azure:"ro"` 16478 16479 // Radius client root certificate of VpnServerConfiguration. 16480 RadiusClientRootCertificates *[]VpnServerConfigRadiusClientRootCertificate `json:"radiusClientRootCertificates,omitempty"` 16481 16482 // The radius server address property of the VpnServerConfiguration resource for point to site client connection. 16483 RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` 16484 16485 // Radius Server root certificate of VpnServerConfiguration. 16486 RadiusServerRootCertificates *[]VpnServerConfigRadiusServerRootCertificate `json:"radiusServerRootCertificates,omitempty"` 16487 16488 // The radius secret property of the VpnServerConfiguration resource for point to site client connection. 16489 RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` 16490 16491 // Multiple Radius Server configuration for VpnServerConfiguration. 16492 RadiusServers *[]RadiusServer `json:"radiusServers,omitempty"` 16493 16494 // VPN authentication types for the VpnServerConfiguration. 16495 VpnAuthenticationTypes *[]VpnAuthenticationType `json:"vpnAuthenticationTypes,omitempty"` 16496 16497 // VpnClientIpsecPolicies for VpnServerConfiguration. 16498 VpnClientIPsecPolicies *[]IPsecPolicy `json:"vpnClientIpsecPolicies,omitempty"` 16499 16500 // VPN client revoked certificate of VpnServerConfiguration. 16501 VpnClientRevokedCertificates *[]VpnServerConfigVpnClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` 16502 16503 // VPN client root certificate of VpnServerConfiguration. 16504 VpnClientRootCertificates *[]VpnServerConfigVpnClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` 16505 16506 // VPN protocols for the VpnServerConfiguration. 16507 VpnProtocols *[]VpnGatewayTunnelingProtocol `json:"vpnProtocols,omitempty"` 16508} 16509 16510// VpnServerConfigurationResponse is the response envelope for operations that return a VpnServerConfiguration type. 16511type VpnServerConfigurationResponse struct { 16512 // RawResponse contains the underlying HTTP response. 16513 RawResponse *http.Response 16514 16515 // VpnServerConfiguration Resource. 16516 VpnServerConfiguration *VpnServerConfiguration 16517} 16518 16519// VpnServerConfigurationsAssociatedWithVirtualWanBeginListOptions contains the optional parameters for the VpnServerConfigurationsAssociatedWithVirtualWan.BeginList 16520// method. 16521type VpnServerConfigurationsAssociatedWithVirtualWanBeginListOptions struct { 16522 // placeholder for future optional parameters 16523} 16524 16525// VpnServerConfigurationsBeginCreateOrUpdateOptions contains the optional parameters for the VpnServerConfigurations.BeginCreateOrUpdate method. 16526type VpnServerConfigurationsBeginCreateOrUpdateOptions struct { 16527 // placeholder for future optional parameters 16528} 16529 16530// VpnServerConfigurationsBeginDeleteOptions contains the optional parameters for the VpnServerConfigurations.BeginDelete method. 16531type VpnServerConfigurationsBeginDeleteOptions struct { 16532 // placeholder for future optional parameters 16533} 16534 16535// VpnServerConfigurationsGetOptions contains the optional parameters for the VpnServerConfigurations.Get method. 16536type VpnServerConfigurationsGetOptions struct { 16537 // placeholder for future optional parameters 16538} 16539 16540// VpnServerConfigurationsListByResourceGroupOptions contains the optional parameters for the VpnServerConfigurations.ListByResourceGroup method. 16541type VpnServerConfigurationsListByResourceGroupOptions struct { 16542 // placeholder for future optional parameters 16543} 16544 16545// VpnServerConfigurationsListOptions contains the optional parameters for the VpnServerConfigurations.List method. 16546type VpnServerConfigurationsListOptions struct { 16547 // placeholder for future optional parameters 16548} 16549 16550// VpnServerConfigurations list associated with VirtualWan Response. 16551type VpnServerConfigurationsResponse struct { 16552 // List of VpnServerConfigurations associated with VirtualWan. 16553 VpnServerConfigurationResourceIDs *[]string `json:"vpnServerConfigurationResourceIds,omitempty"` 16554} 16555 16556// VpnServerConfigurationsResponsePollerResponse is the response envelope for operations that asynchronously return a VpnServerConfigurationsResponse type. 16557type VpnServerConfigurationsResponsePollerResponse struct { 16558 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 16559 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnServerConfigurationsResponseResponse, error) 16560 16561 // Poller contains an initialized poller. 16562 Poller VpnServerConfigurationsResponsePoller 16563 16564 // RawResponse contains the underlying HTTP response. 16565 RawResponse *http.Response 16566} 16567 16568// VpnServerConfigurationsResponseResponse is the response envelope for operations that return a VpnServerConfigurationsResponse type. 16569type VpnServerConfigurationsResponseResponse struct { 16570 // RawResponse contains the underlying HTTP response. 16571 RawResponse *http.Response 16572 16573 // VpnServerConfigurations list associated with VirtualWan Response. 16574 VpnServerConfigurationsResponse *VpnServerConfigurationsResponse 16575} 16576 16577// VpnServerConfigurationsUpdateTagsOptions contains the optional parameters for the VpnServerConfigurations.UpdateTags method. 16578type VpnServerConfigurationsUpdateTagsOptions struct { 16579 // placeholder for future optional parameters 16580} 16581 16582// VpnSite Resource. 16583type VpnSite struct { 16584 Resource 16585 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16586 Etag *string `json:"etag,omitempty" azure:"ro"` 16587 16588 // Properties of the VPN site. 16589 Properties *VpnSiteProperties `json:"properties,omitempty"` 16590} 16591 16592// VpnSite Resource. 16593type VpnSiteID struct { 16594 // READ-ONLY; The resource-uri of the vpn-site for which config is to be fetched. 16595 VpnSite *string `json:"vpnSite,omitempty" azure:"ro"` 16596} 16597 16598// VpnSiteLink Resource. 16599type VpnSiteLink struct { 16600 SubResource 16601 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16602 Etag *string `json:"etag,omitempty" azure:"ro"` 16603 16604 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 16605 Name *string `json:"name,omitempty"` 16606 16607 // Properties of the VPN site link. 16608 Properties *VpnSiteLinkProperties `json:"properties,omitempty"` 16609 16610 // READ-ONLY; Resource type. 16611 Type *string `json:"type,omitempty" azure:"ro"` 16612} 16613 16614// VpnSiteLinkConnection Resource. 16615type VpnSiteLinkConnection struct { 16616 SubResource 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 // The name of the resource that is unique within a resource group. This name can be used to access the resource. 16621 Name *string `json:"name,omitempty"` 16622 16623 // Properties of the VPN site link connection. 16624 Properties *VpnSiteLinkConnectionProperties `json:"properties,omitempty"` 16625 16626 // READ-ONLY; Resource type. 16627 Type *string `json:"type,omitempty" azure:"ro"` 16628} 16629 16630// Parameters for VpnConnection. 16631type VpnSiteLinkConnectionProperties struct { 16632 // Expected bandwidth in MBPS. 16633 ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` 16634 16635 // READ-ONLY; The connection status. 16636 ConnectionStatus *VpnConnectionStatus `json:"connectionStatus,omitempty" azure:"ro"` 16637 16638 // READ-ONLY; Egress bytes transferred. 16639 EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty" azure:"ro"` 16640 16641 // EnableBgp flag. 16642 EnableBgp *bool `json:"enableBgp,omitempty"` 16643 16644 // EnableBgp flag. 16645 EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` 16646 16647 // The IPSec Policies to be considered by this connection. 16648 IPsecPolicies *[]IPsecPolicy `json:"ipsecPolicies,omitempty"` 16649 16650 // READ-ONLY; Ingress bytes transferred. 16651 IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty" azure:"ro"` 16652 16653 // READ-ONLY; The provisioning state of the VPN site link connection resource. 16654 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16655 16656 // Routing weight for vpn connection. 16657 RoutingWeight *int32 `json:"routingWeight,omitempty"` 16658 16659 // SharedKey for the vpn connection. 16660 SharedKey *string `json:"sharedKey,omitempty"` 16661 16662 // Use local azure ip to initiate connection. 16663 UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` 16664 16665 // Enable policy-based traffic selectors. 16666 UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` 16667 16668 // Connection protocol used for this connection. 16669 VpnConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` 16670 16671 // Id of the connected vpn site link. 16672 VpnSiteLink *SubResource `json:"vpnSiteLink,omitempty"` 16673} 16674 16675// VpnSiteLinkConnectionResponse is the response envelope for operations that return a VpnSiteLinkConnection type. 16676type VpnSiteLinkConnectionResponse struct { 16677 // RawResponse contains the underlying HTTP response. 16678 RawResponse *http.Response 16679 16680 // VpnSiteLinkConnection Resource. 16681 VpnSiteLinkConnection *VpnSiteLinkConnection 16682} 16683 16684// VpnSiteLinkConnectionsGetOptions contains the optional parameters for the VpnSiteLinkConnections.Get method. 16685type VpnSiteLinkConnectionsGetOptions struct { 16686 // placeholder for future optional parameters 16687} 16688 16689// Parameters for VpnSite. 16690type VpnSiteLinkProperties struct { 16691 // The set of bgp properties. 16692 BgpProperties *VpnLinkBgpSettings `json:"bgpProperties,omitempty"` 16693 16694 // FQDN of vpn-site-link. 16695 Fqdn *string `json:"fqdn,omitempty"` 16696 16697 // The ip-address for the vpn-site-link. 16698 IPAddress *string `json:"ipAddress,omitempty"` 16699 16700 // The link provider properties. 16701 LinkProperties *VpnLinkProviderProperties `json:"linkProperties,omitempty"` 16702 16703 // READ-ONLY; The provisioning state of the VPN site link resource. 16704 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16705} 16706 16707// VpnSiteLinkResponse is the response envelope for operations that return a VpnSiteLink type. 16708type VpnSiteLinkResponse struct { 16709 // RawResponse contains the underlying HTTP response. 16710 RawResponse *http.Response 16711 16712 // VpnSiteLink Resource. 16713 VpnSiteLink *VpnSiteLink 16714} 16715 16716// VpnSiteLinksGetOptions contains the optional parameters for the VpnSiteLinks.Get method. 16717type VpnSiteLinksGetOptions struct { 16718 // placeholder for future optional parameters 16719} 16720 16721// VpnSiteLinksListByVpnSiteOptions contains the optional parameters for the VpnSiteLinks.ListByVpnSite method. 16722type VpnSiteLinksListByVpnSiteOptions struct { 16723 // placeholder for future optional parameters 16724} 16725 16726// VpnSitePollerResponse is the response envelope for operations that asynchronously return a VpnSite type. 16727type VpnSitePollerResponse struct { 16728 // PollUntilDone will poll the service endpoint until a terminal state is reached or an error is received 16729 PollUntilDone func(ctx context.Context, frequency time.Duration) (VpnSiteResponse, error) 16730 16731 // Poller contains an initialized poller. 16732 Poller VpnSitePoller 16733 16734 // RawResponse contains the underlying HTTP response. 16735 RawResponse *http.Response 16736} 16737 16738// Parameters for VpnSite. 16739type VpnSiteProperties struct { 16740 // The AddressSpace that contains an array of IP address ranges. 16741 AddressSpace *AddressSpace `json:"addressSpace,omitempty"` 16742 16743 // The set of bgp properties. 16744 BgpProperties *BgpSettings `json:"bgpProperties,omitempty"` 16745 16746 // The device properties. 16747 DeviceProperties *DeviceProperties `json:"deviceProperties,omitempty"` 16748 16749 // The ip-address for the vpn-site. 16750 IPAddress *string `json:"ipAddress,omitempty"` 16751 16752 // IsSecuritySite flag. 16753 IsSecuritySite *bool `json:"isSecuritySite,omitempty"` 16754 16755 // Office365 Policy. 16756 O365Policy *O365PolicyProperties `json:"o365Policy,omitempty"` 16757 16758 // READ-ONLY; The provisioning state of the VPN site resource. 16759 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16760 16761 // The key for vpn-site that can be used for connections. 16762 SiteKey *string `json:"siteKey,omitempty"` 16763 16764 // The VirtualWAN to which the vpnSite belongs. 16765 VirtualWan *SubResource `json:"virtualWan,omitempty"` 16766 16767 // List of all vpn site links. 16768 VpnSiteLinks *[]VpnSiteLink `json:"vpnSiteLinks,omitempty"` 16769} 16770 16771// VpnSiteResponse is the response envelope for operations that return a VpnSite type. 16772type VpnSiteResponse struct { 16773 // RawResponse contains the underlying HTTP response. 16774 RawResponse *http.Response 16775 16776 // VpnSite Resource. 16777 VpnSite *VpnSite 16778} 16779 16780// VpnSitesBeginCreateOrUpdateOptions contains the optional parameters for the VpnSites.BeginCreateOrUpdate method. 16781type VpnSitesBeginCreateOrUpdateOptions struct { 16782 // placeholder for future optional parameters 16783} 16784 16785// VpnSitesBeginDeleteOptions contains the optional parameters for the VpnSites.BeginDelete method. 16786type VpnSitesBeginDeleteOptions struct { 16787 // placeholder for future optional parameters 16788} 16789 16790// VpnSitesConfigurationBeginDownloadOptions contains the optional parameters for the VpnSitesConfiguration.BeginDownload method. 16791type VpnSitesConfigurationBeginDownloadOptions struct { 16792 // placeholder for future optional parameters 16793} 16794 16795// VpnSitesGetOptions contains the optional parameters for the VpnSites.Get method. 16796type VpnSitesGetOptions struct { 16797 // placeholder for future optional parameters 16798} 16799 16800// VpnSitesListByResourceGroupOptions contains the optional parameters for the VpnSites.ListByResourceGroup method. 16801type VpnSitesListByResourceGroupOptions struct { 16802 // placeholder for future optional parameters 16803} 16804 16805// VpnSitesListOptions contains the optional parameters for the VpnSites.List method. 16806type VpnSitesListOptions struct { 16807 // placeholder for future optional parameters 16808} 16809 16810// VpnSitesUpdateTagsOptions contains the optional parameters for the VpnSites.UpdateTags method. 16811type VpnSitesUpdateTagsOptions struct { 16812 // placeholder for future optional parameters 16813} 16814 16815// Defines contents of a web application rule. 16816type WebApplicationFirewallCustomRule struct { 16817 // Type of Actions. 16818 Action *WebApplicationFirewallAction `json:"action,omitempty"` 16819 16820 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16821 Etag *string `json:"etag,omitempty" azure:"ro"` 16822 16823 // List of match conditions. 16824 MatchConditions *[]MatchCondition `json:"matchConditions,omitempty"` 16825 16826 // The name of the resource that is unique within a policy. This name can be used to access the resource. 16827 Name *string `json:"name,omitempty"` 16828 16829 // Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. 16830 Priority *int32 `json:"priority,omitempty"` 16831 16832 // The rule type. 16833 RuleType *WebApplicationFirewallRuleType `json:"ruleType,omitempty"` 16834} 16835 16836// WebApplicationFirewallPoliciesBeginDeleteOptions contains the optional parameters for the WebApplicationFirewallPolicies.BeginDelete method. 16837type WebApplicationFirewallPoliciesBeginDeleteOptions struct { 16838 // placeholder for future optional parameters 16839} 16840 16841// WebApplicationFirewallPoliciesCreateOrUpdateOptions contains the optional parameters for the WebApplicationFirewallPolicies.CreateOrUpdate method. 16842type WebApplicationFirewallPoliciesCreateOrUpdateOptions struct { 16843 // placeholder for future optional parameters 16844} 16845 16846// WebApplicationFirewallPoliciesGetOptions contains the optional parameters for the WebApplicationFirewallPolicies.Get method. 16847type WebApplicationFirewallPoliciesGetOptions struct { 16848 // placeholder for future optional parameters 16849} 16850 16851// WebApplicationFirewallPoliciesListAllOptions contains the optional parameters for the WebApplicationFirewallPolicies.ListAll method. 16852type WebApplicationFirewallPoliciesListAllOptions struct { 16853 // placeholder for future optional parameters 16854} 16855 16856// WebApplicationFirewallPoliciesListOptions contains the optional parameters for the WebApplicationFirewallPolicies.List method. 16857type WebApplicationFirewallPoliciesListOptions struct { 16858 // placeholder for future optional parameters 16859} 16860 16861// Defines web application firewall policy. 16862type WebApplicationFirewallPolicy struct { 16863 Resource 16864 // READ-ONLY; A unique read-only string that changes whenever the resource is updated. 16865 Etag *string `json:"etag,omitempty" azure:"ro"` 16866 16867 // Properties of the web application firewall policy. 16868 Properties *WebApplicationFirewallPolicyPropertiesFormat `json:"properties,omitempty"` 16869} 16870 16871// Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next 16872// set of results. 16873type WebApplicationFirewallPolicyListResult struct { 16874 // READ-ONLY; URL to get the next set of WebApplicationFirewallPolicy objects if there are any. 16875 NextLink *string `json:"nextLink,omitempty" azure:"ro"` 16876 16877 // READ-ONLY; List of WebApplicationFirewallPolicies within a resource group. 16878 Value *[]WebApplicationFirewallPolicy `json:"value,omitempty" azure:"ro"` 16879} 16880 16881// WebApplicationFirewallPolicyListResultResponse is the response envelope for operations that return a WebApplicationFirewallPolicyListResult type. 16882type WebApplicationFirewallPolicyListResultResponse struct { 16883 // RawResponse contains the underlying HTTP response. 16884 RawResponse *http.Response 16885 16886 // Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next 16887 // set of results. 16888 WebApplicationFirewallPolicyListResult *WebApplicationFirewallPolicyListResult 16889} 16890 16891// Defines web application firewall policy properties. 16892type WebApplicationFirewallPolicyPropertiesFormat struct { 16893 // READ-ONLY; A collection of references to application gateways. 16894 ApplicationGateways *[]ApplicationGateway `json:"applicationGateways,omitempty" azure:"ro"` 16895 16896 // The custom rules inside the policy. 16897 CustomRules *[]WebApplicationFirewallCustomRule `json:"customRules,omitempty"` 16898 16899 // READ-ONLY; A collection of references to application gateway http listeners. 16900 HTTPListeners *[]SubResource `json:"httpListeners,omitempty" azure:"ro"` 16901 16902 // Describes the managedRules structure. 16903 ManagedRules *ManagedRulesDefinition `json:"managedRules,omitempty"` 16904 16905 // READ-ONLY; A collection of references to application gateway path rules. 16906 PathBasedRules *[]SubResource `json:"pathBasedRules,omitempty" azure:"ro"` 16907 16908 // The PolicySettings for policy. 16909 PolicySettings *PolicySettings `json:"policySettings,omitempty"` 16910 16911 // READ-ONLY; The provisioning state of the web application firewall policy resource. 16912 ProvisioningState *ProvisioningState `json:"provisioningState,omitempty" azure:"ro"` 16913 16914 // READ-ONLY; Resource status of the policy. 16915 ResourceState *WebApplicationFirewallPolicyResourceState `json:"resourceState,omitempty" azure:"ro"` 16916} 16917 16918// WebApplicationFirewallPolicyResponse is the response envelope for operations that return a WebApplicationFirewallPolicy type. 16919type WebApplicationFirewallPolicyResponse struct { 16920 // RawResponse contains the underlying HTTP response. 16921 RawResponse *http.Response 16922 16923 // Defines web application firewall policy. 16924 WebApplicationFirewallPolicy *WebApplicationFirewallPolicy 16925} 16926 16927// WebCategoriesGetOptions contains the optional parameters for the WebCategories.Get method. 16928type WebCategoriesGetOptions struct { 16929 // Expands resourceIds back referenced by the azureWebCategory resource. 16930 Expand *string 16931} 16932 16933// WebCategoriesListBySubscriptionOptions contains the optional parameters for the WebCategories.ListBySubscription method. 16934type WebCategoriesListBySubscriptionOptions struct { 16935 // placeholder for future optional parameters 16936} 16937