github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/models.go (about)

     1  //go:build go1.18
     2  // +build go1.18
     3  
     4  // Copyright (c) Microsoft Corporation. All rights reserved.
     5  // Licensed under the MIT License. See License.txt in the project root for license information.
     6  // Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
     7  // Changes may cause incorrect behavior and will be lost if the code is regenerated.
     8  
     9  package armnetwork
    10  
    11  import "time"
    12  
    13  // AADAuthenticationParameters - AAD Vpn authentication type related parameters.
    14  type AADAuthenticationParameters struct {
    15  	// AAD Vpn authentication parameter AAD audience.
    16  	AADAudience *string
    17  
    18  	// AAD Vpn authentication parameter AAD issuer.
    19  	AADIssuer *string
    20  
    21  	// AAD Vpn authentication parameter AAD tenant.
    22  	AADTenant *string
    23  }
    24  
    25  // Action to be taken on a route matching a RouteMap criterion.
    26  type Action struct {
    27  	// List of parameters relevant to the action.For instance if type is drop then parameters has list of prefixes to be dropped.If
    28  	// type is add, parameters would have list of ASN numbers to be added
    29  	Parameters []*Parameter
    30  
    31  	// Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.'
    32  	Type *RouteMapActionType
    33  }
    34  
    35  // ActiveBaseSecurityAdminRule - Network base admin rule.
    36  type ActiveBaseSecurityAdminRule struct {
    37  	// REQUIRED; Whether the rule is custom or default.
    38  	Kind *EffectiveAdminRuleKind
    39  
    40  	// Deployment time string.
    41  	CommitTime *time.Time
    42  
    43  	// A description of the security admin configuration.
    44  	ConfigurationDescription *string
    45  
    46  	// Resource ID.
    47  	ID *string
    48  
    49  	// Deployment region.
    50  	Region *string
    51  
    52  	// Groups for rule collection
    53  	RuleCollectionAppliesToGroups []*ManagerSecurityGroupItem
    54  
    55  	// A description of the rule collection.
    56  	RuleCollectionDescription *string
    57  
    58  	// Effective configuration groups.
    59  	RuleGroups []*ConfigurationGroup
    60  }
    61  
    62  // GetActiveBaseSecurityAdminRule implements the ActiveBaseSecurityAdminRuleClassification interface for type ActiveBaseSecurityAdminRule.
    63  func (a *ActiveBaseSecurityAdminRule) GetActiveBaseSecurityAdminRule() *ActiveBaseSecurityAdminRule {
    64  	return a
    65  }
    66  
    67  // ActiveConfigurationParameter - Effective Virtual Networks Parameter.
    68  type ActiveConfigurationParameter struct {
    69  	// List of regions.
    70  	Regions []*string
    71  
    72  	// When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current
    73  	// request) to retrieve the next page of data.
    74  	SkipToken *string
    75  }
    76  
    77  // ActiveConnectivityConfiguration - Active connectivity configuration.
    78  type ActiveConnectivityConfiguration struct {
    79  	// Deployment time string.
    80  	CommitTime *time.Time
    81  
    82  	// Effective configuration groups.
    83  	ConfigurationGroups []*ConfigurationGroup
    84  
    85  	// Connectivity configuration ID.
    86  	ID *string
    87  
    88  	// Properties of a network manager connectivity configuration
    89  	Properties *ConnectivityConfigurationProperties
    90  
    91  	// Deployment region.
    92  	Region *string
    93  }
    94  
    95  // ActiveConnectivityConfigurationsListResult - Result of the request to list active connectivity configurations. It contains
    96  // a list of active connectivity configurations and a skiptoken to get the next set of results.
    97  type ActiveConnectivityConfigurationsListResult struct {
    98  	// When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current
    99  	// request) to retrieve the next page of data.
   100  	SkipToken *string
   101  
   102  	// Gets a page of active connectivity configurations.
   103  	Value []*ActiveConnectivityConfiguration
   104  }
   105  
   106  // ActiveDefaultSecurityAdminRule - Network default admin rule.
   107  type ActiveDefaultSecurityAdminRule struct {
   108  	// REQUIRED; Whether the rule is custom or default.
   109  	Kind *EffectiveAdminRuleKind
   110  
   111  	// Deployment time string.
   112  	CommitTime *time.Time
   113  
   114  	// A description of the security admin configuration.
   115  	ConfigurationDescription *string
   116  
   117  	// Resource ID.
   118  	ID *string
   119  
   120  	// Indicates the properties of the default security admin rule
   121  	Properties *DefaultAdminPropertiesFormat
   122  
   123  	// Deployment region.
   124  	Region *string
   125  
   126  	// Groups for rule collection
   127  	RuleCollectionAppliesToGroups []*ManagerSecurityGroupItem
   128  
   129  	// A description of the rule collection.
   130  	RuleCollectionDescription *string
   131  
   132  	// Effective configuration groups.
   133  	RuleGroups []*ConfigurationGroup
   134  }
   135  
   136  // GetActiveBaseSecurityAdminRule implements the ActiveBaseSecurityAdminRuleClassification interface for type ActiveDefaultSecurityAdminRule.
   137  func (a *ActiveDefaultSecurityAdminRule) GetActiveBaseSecurityAdminRule() *ActiveBaseSecurityAdminRule {
   138  	return &ActiveBaseSecurityAdminRule{
   139  		CommitTime:                    a.CommitTime,
   140  		ConfigurationDescription:      a.ConfigurationDescription,
   141  		ID:                            a.ID,
   142  		Kind:                          a.Kind,
   143  		Region:                        a.Region,
   144  		RuleCollectionAppliesToGroups: a.RuleCollectionAppliesToGroups,
   145  		RuleCollectionDescription:     a.RuleCollectionDescription,
   146  		RuleGroups:                    a.RuleGroups,
   147  	}
   148  }
   149  
   150  // ActiveSecurityAdminRule - Network admin rule.
   151  type ActiveSecurityAdminRule struct {
   152  	// REQUIRED; Whether the rule is custom or default.
   153  	Kind *EffectiveAdminRuleKind
   154  
   155  	// Deployment time string.
   156  	CommitTime *time.Time
   157  
   158  	// A description of the security admin configuration.
   159  	ConfigurationDescription *string
   160  
   161  	// Resource ID.
   162  	ID *string
   163  
   164  	// Indicates the properties of the security admin rule
   165  	Properties *AdminPropertiesFormat
   166  
   167  	// Deployment region.
   168  	Region *string
   169  
   170  	// Groups for rule collection
   171  	RuleCollectionAppliesToGroups []*ManagerSecurityGroupItem
   172  
   173  	// A description of the rule collection.
   174  	RuleCollectionDescription *string
   175  
   176  	// Effective configuration groups.
   177  	RuleGroups []*ConfigurationGroup
   178  }
   179  
   180  // GetActiveBaseSecurityAdminRule implements the ActiveBaseSecurityAdminRuleClassification interface for type ActiveSecurityAdminRule.
   181  func (a *ActiveSecurityAdminRule) GetActiveBaseSecurityAdminRule() *ActiveBaseSecurityAdminRule {
   182  	return &ActiveBaseSecurityAdminRule{
   183  		CommitTime:                    a.CommitTime,
   184  		ConfigurationDescription:      a.ConfigurationDescription,
   185  		ID:                            a.ID,
   186  		Kind:                          a.Kind,
   187  		Region:                        a.Region,
   188  		RuleCollectionAppliesToGroups: a.RuleCollectionAppliesToGroups,
   189  		RuleCollectionDescription:     a.RuleCollectionDescription,
   190  		RuleGroups:                    a.RuleGroups,
   191  	}
   192  }
   193  
   194  // ActiveSecurityAdminRulesListResult - Result of the request to list active security admin rules. It contains a list of active
   195  // security admin rules and a skiptoken to get the next set of results.
   196  type ActiveSecurityAdminRulesListResult struct {
   197  	// When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current
   198  	// request) to retrieve the next page of data.
   199  	SkipToken *string
   200  
   201  	// Gets a page of active security admin rules.
   202  	Value []ActiveBaseSecurityAdminRuleClassification
   203  }
   204  
   205  // AddressPrefixItem - Address prefix item.
   206  type AddressPrefixItem struct {
   207  	// Address prefix.
   208  	AddressPrefix *string
   209  
   210  	// Address prefix type.
   211  	AddressPrefixType *AddressPrefixType
   212  }
   213  
   214  // AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network.
   215  type AddressSpace struct {
   216  	// A list of address blocks reserved for this virtual network in CIDR notation.
   217  	AddressPrefixes []*string
   218  
   219  	// A list of IPAM Pools allocating IP address prefixes.
   220  	IpamPoolPrefixAllocations []*IpamPoolPrefixAllocation
   221  }
   222  
   223  // AdminPropertiesFormat - Security admin rule resource.
   224  type AdminPropertiesFormat struct {
   225  	// REQUIRED; Indicates the access allowed for this particular rule
   226  	Access *SecurityConfigurationRuleAccess
   227  
   228  	// REQUIRED; Indicates if the traffic matched against the rule in inbound or outbound.
   229  	Direction *SecurityConfigurationRuleDirection
   230  
   231  	// REQUIRED; The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule
   232  	// in the collection. The lower the priority number, the higher the priority of the rule.
   233  	Priority *int32
   234  
   235  	// REQUIRED; Network protocol this rule applies to.
   236  	Protocol *SecurityConfigurationRuleProtocol
   237  
   238  	// A description for this rule. Restricted to 140 chars.
   239  	Description *string
   240  
   241  	// The destination port ranges.
   242  	DestinationPortRanges []*string
   243  
   244  	// The destination address prefixes. CIDR or destination IP ranges.
   245  	Destinations []*AddressPrefixItem
   246  
   247  	// The source port ranges.
   248  	SourcePortRanges []*string
   249  
   250  	// The CIDR or source IP ranges.
   251  	Sources []*AddressPrefixItem
   252  
   253  	// READ-ONLY; The provisioning state of the resource.
   254  	ProvisioningState *ProvisioningState
   255  
   256  	// READ-ONLY; Unique identifier for this resource.
   257  	ResourceGUID *string
   258  }
   259  
   260  // AdminRule - Network admin rule.
   261  type AdminRule struct {
   262  	// REQUIRED; Whether the rule is custom or default.
   263  	Kind *AdminRuleKind
   264  
   265  	// Indicates the properties of the security admin rule
   266  	Properties *AdminPropertiesFormat
   267  
   268  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   269  	Etag *string
   270  
   271  	// READ-ONLY; Resource ID.
   272  	ID *string
   273  
   274  	// READ-ONLY; Resource name.
   275  	Name *string
   276  
   277  	// READ-ONLY; The system metadata related to this resource.
   278  	SystemData *SystemData
   279  
   280  	// READ-ONLY; Resource type.
   281  	Type *string
   282  }
   283  
   284  // GetBaseAdminRule implements the BaseAdminRuleClassification interface for type AdminRule.
   285  func (a *AdminRule) GetBaseAdminRule() *BaseAdminRule {
   286  	return &BaseAdminRule{
   287  		Etag:       a.Etag,
   288  		ID:         a.ID,
   289  		Kind:       a.Kind,
   290  		Name:       a.Name,
   291  		SystemData: a.SystemData,
   292  		Type:       a.Type,
   293  	}
   294  }
   295  
   296  // AdminRuleCollection - Defines the admin rule collection.
   297  type AdminRuleCollection struct {
   298  	// Indicates the properties for the network manager admin rule collection.
   299  	Properties *AdminRuleCollectionPropertiesFormat
   300  
   301  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   302  	Etag *string
   303  
   304  	// READ-ONLY; Resource ID.
   305  	ID *string
   306  
   307  	// READ-ONLY; Resource name.
   308  	Name *string
   309  
   310  	// READ-ONLY; The system metadata related to this resource.
   311  	SystemData *SystemData
   312  
   313  	// READ-ONLY; Resource type.
   314  	Type *string
   315  }
   316  
   317  // AdminRuleCollectionListResult - Security admin configuration rule collection list result.
   318  type AdminRuleCollectionListResult struct {
   319  	// Gets the URL to get the next set of results.
   320  	NextLink *string
   321  
   322  	// A list of network manager security admin configuration rule collections
   323  	Value []*AdminRuleCollection
   324  }
   325  
   326  // AdminRuleCollectionPropertiesFormat - Defines the admin rule collection properties.
   327  type AdminRuleCollectionPropertiesFormat struct {
   328  	// REQUIRED; Groups for configuration
   329  	AppliesToGroups []*ManagerSecurityGroupItem
   330  
   331  	// A description of the admin rule collection.
   332  	Description *string
   333  
   334  	// READ-ONLY; The provisioning state of the resource.
   335  	ProvisioningState *ProvisioningState
   336  
   337  	// READ-ONLY; Unique identifier for this resource.
   338  	ResourceGUID *string
   339  }
   340  
   341  // AdminRuleListResult - security configuration admin rule list result.
   342  type AdminRuleListResult struct {
   343  	// The URL to get the next set of results.
   344  	NextLink *string
   345  
   346  	// A list of admin rules
   347  	Value []BaseAdminRuleClassification
   348  }
   349  
   350  // ApplicationGateway - Application gateway resource.
   351  type ApplicationGateway struct {
   352  	// Resource ID.
   353  	ID *string
   354  
   355  	// The identity of the application gateway, if configured.
   356  	Identity *ManagedServiceIdentity
   357  
   358  	// Resource location.
   359  	Location *string
   360  
   361  	// Properties of the application gateway.
   362  	Properties *ApplicationGatewayPropertiesFormat
   363  
   364  	// Resource tags.
   365  	Tags map[string]*string
   366  
   367  	// A list of availability zones denoting where the resource needs to come from.
   368  	Zones []*string
   369  
   370  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   371  	Etag *string
   372  
   373  	// READ-ONLY; Resource name.
   374  	Name *string
   375  
   376  	// READ-ONLY; Resource type.
   377  	Type *string
   378  }
   379  
   380  // ApplicationGatewayAuthenticationCertificate - Authentication certificates of an application gateway.
   381  type ApplicationGatewayAuthenticationCertificate struct {
   382  	// Resource ID.
   383  	ID *string
   384  
   385  	// Name of the authentication certificate that is unique within an Application Gateway.
   386  	Name *string
   387  
   388  	// Properties of the application gateway authentication certificate.
   389  	Properties *ApplicationGatewayAuthenticationCertificatePropertiesFormat
   390  
   391  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   392  	Etag *string
   393  
   394  	// READ-ONLY; Type of the resource.
   395  	Type *string
   396  }
   397  
   398  // ApplicationGatewayAuthenticationCertificatePropertiesFormat - Authentication certificates properties of an application
   399  // gateway.
   400  type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct {
   401  	// Certificate public data.
   402  	Data *string
   403  
   404  	// READ-ONLY; The provisioning state of the authentication certificate resource.
   405  	ProvisioningState *ProvisioningState
   406  }
   407  
   408  // ApplicationGatewayAutoscaleConfiguration - Application Gateway autoscale configuration.
   409  type ApplicationGatewayAutoscaleConfiguration struct {
   410  	// REQUIRED; Lower bound on number of Application Gateway capacity.
   411  	MinCapacity *int32
   412  
   413  	// Upper bound on number of Application Gateway capacity.
   414  	MaxCapacity *int32
   415  }
   416  
   417  // ApplicationGatewayAvailableSSLOptions - Response for ApplicationGatewayAvailableSslOptions API service call.
   418  type ApplicationGatewayAvailableSSLOptions struct {
   419  	// Resource ID.
   420  	ID *string
   421  
   422  	// Resource location.
   423  	Location *string
   424  
   425  	// Properties of the application gateway available SSL options.
   426  	Properties *ApplicationGatewayAvailableSSLOptionsPropertiesFormat
   427  
   428  	// Resource tags.
   429  	Tags map[string]*string
   430  
   431  	// READ-ONLY; Resource name.
   432  	Name *string
   433  
   434  	// READ-ONLY; Resource type.
   435  	Type *string
   436  }
   437  
   438  // ApplicationGatewayAvailableSSLOptionsPropertiesFormat - Properties of ApplicationGatewayAvailableSslOptions.
   439  type ApplicationGatewayAvailableSSLOptionsPropertiesFormat struct {
   440  	// List of available Ssl cipher suites.
   441  	AvailableCipherSuites []*ApplicationGatewaySSLCipherSuite
   442  
   443  	// List of available Ssl protocols.
   444  	AvailableProtocols []*ApplicationGatewaySSLProtocol
   445  
   446  	// Name of the Ssl predefined policy applied by default to application gateway.
   447  	DefaultPolicy *ApplicationGatewaySSLPolicyName
   448  
   449  	// List of available Ssl predefined policy.
   450  	PredefinedPolicies []*SubResource
   451  }
   452  
   453  // ApplicationGatewayAvailableSSLPredefinedPolicies - Response for ApplicationGatewayAvailableSslOptions API service call.
   454  type ApplicationGatewayAvailableSSLPredefinedPolicies struct {
   455  	// URL to get the next set of results.
   456  	NextLink *string
   457  
   458  	// List of available Ssl predefined policy.
   459  	Value []*ApplicationGatewaySSLPredefinedPolicy
   460  }
   461  
   462  // ApplicationGatewayAvailableWafRuleSetsResult - Response for ApplicationGatewayAvailableWafRuleSets API service call.
   463  type ApplicationGatewayAvailableWafRuleSetsResult struct {
   464  	// The list of application gateway rule sets.
   465  	Value []*ApplicationGatewayFirewallRuleSet
   466  }
   467  
   468  // ApplicationGatewayBackendAddress - Backend address of an application gateway.
   469  type ApplicationGatewayBackendAddress struct {
   470  	// Fully qualified domain name (FQDN).
   471  	Fqdn *string
   472  
   473  	// IP address.
   474  	IPAddress *string
   475  }
   476  
   477  // ApplicationGatewayBackendAddressPool - Backend Address Pool of an application gateway.
   478  type ApplicationGatewayBackendAddressPool struct {
   479  	// Resource ID.
   480  	ID *string
   481  
   482  	// Name of the backend address pool that is unique within an Application Gateway.
   483  	Name *string
   484  
   485  	// Properties of the application gateway backend address pool.
   486  	Properties *ApplicationGatewayBackendAddressPoolPropertiesFormat
   487  
   488  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   489  	Etag *string
   490  
   491  	// READ-ONLY; Type of the resource.
   492  	Type *string
   493  }
   494  
   495  // ApplicationGatewayBackendAddressPoolPropertiesFormat - Properties of Backend Address Pool of an application gateway.
   496  type ApplicationGatewayBackendAddressPoolPropertiesFormat struct {
   497  	// Backend addresses.
   498  	BackendAddresses []*ApplicationGatewayBackendAddress
   499  
   500  	// READ-ONLY; Collection of references to IPs defined in network interfaces.
   501  	BackendIPConfigurations []*InterfaceIPConfiguration
   502  
   503  	// READ-ONLY; The provisioning state of the backend address pool resource.
   504  	ProvisioningState *ProvisioningState
   505  }
   506  
   507  // ApplicationGatewayBackendHTTPSettings - Backend address pool settings of an application gateway.
   508  type ApplicationGatewayBackendHTTPSettings struct {
   509  	// Resource ID.
   510  	ID *string
   511  
   512  	// Name of the backend http settings that is unique within an Application Gateway.
   513  	Name *string
   514  
   515  	// Properties of the application gateway backend HTTP settings.
   516  	Properties *ApplicationGatewayBackendHTTPSettingsPropertiesFormat
   517  
   518  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   519  	Etag *string
   520  
   521  	// READ-ONLY; Type of the resource.
   522  	Type *string
   523  }
   524  
   525  // ApplicationGatewayBackendHTTPSettingsPropertiesFormat - Properties of Backend address pool settings of an application gateway.
   526  type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct {
   527  	// Cookie name to use for the affinity cookie.
   528  	AffinityCookieName *string
   529  
   530  	// Array of references to application gateway authentication certificates.
   531  	AuthenticationCertificates []*SubResource
   532  
   533  	// Connection draining of the backend http settings resource.
   534  	ConnectionDraining *ApplicationGatewayConnectionDraining
   535  
   536  	// Cookie based affinity.
   537  	CookieBasedAffinity *ApplicationGatewayCookieBasedAffinity
   538  
   539  	// Host header to be sent to the backend servers.
   540  	HostName *string
   541  
   542  	// Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null.
   543  	Path *string
   544  
   545  	// Whether to pick host header should be picked from the host name of the backend server. Default value is false.
   546  	PickHostNameFromBackendAddress *bool
   547  
   548  	// The destination port on the backend.
   549  	Port *int32
   550  
   551  	// Probe resource of an application gateway.
   552  	Probe *SubResource
   553  
   554  	// Whether the probe is enabled. Default value is false.
   555  	ProbeEnabled *bool
   556  
   557  	// The protocol used to communicate with the backend.
   558  	Protocol *ApplicationGatewayProtocol
   559  
   560  	// Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout.
   561  	// Acceptable values are from 1 second to 86400 seconds.
   562  	RequestTimeout *int32
   563  
   564  	// Array of references to application gateway trusted root certificates.
   565  	TrustedRootCertificates []*SubResource
   566  
   567  	// READ-ONLY; The provisioning state of the backend HTTP settings resource.
   568  	ProvisioningState *ProvisioningState
   569  }
   570  
   571  // ApplicationGatewayBackendHealth - Response for ApplicationGatewayBackendHealth API service call.
   572  type ApplicationGatewayBackendHealth struct {
   573  	// A list of ApplicationGatewayBackendHealthPool resources.
   574  	BackendAddressPools []*ApplicationGatewayBackendHealthPool
   575  }
   576  
   577  // ApplicationGatewayBackendHealthHTTPSettings - Application gateway BackendHealthHttp settings.
   578  type ApplicationGatewayBackendHealthHTTPSettings struct {
   579  	// Reference to an ApplicationGatewayBackendHttpSettings resource.
   580  	BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings
   581  
   582  	// List of ApplicationGatewayBackendHealthServer resources.
   583  	Servers []*ApplicationGatewayBackendHealthServer
   584  }
   585  
   586  // ApplicationGatewayBackendHealthOnDemand - Result of on demand test probe.
   587  type ApplicationGatewayBackendHealthOnDemand struct {
   588  	// Reference to an ApplicationGatewayBackendAddressPool resource.
   589  	BackendAddressPool *ApplicationGatewayBackendAddressPool
   590  
   591  	// Application gateway BackendHealthHttp settings.
   592  	BackendHealthHTTPSettings *ApplicationGatewayBackendHealthHTTPSettings
   593  }
   594  
   595  // ApplicationGatewayBackendHealthPool - Application gateway BackendHealth pool.
   596  type ApplicationGatewayBackendHealthPool struct {
   597  	// Reference to an ApplicationGatewayBackendAddressPool resource.
   598  	BackendAddressPool *ApplicationGatewayBackendAddressPool
   599  
   600  	// List of ApplicationGatewayBackendHealthHttpSettings resources.
   601  	BackendHTTPSettingsCollection []*ApplicationGatewayBackendHealthHTTPSettings
   602  }
   603  
   604  // ApplicationGatewayBackendHealthServer - Application gateway backendhealth http settings.
   605  type ApplicationGatewayBackendHealthServer struct {
   606  	// IP address or FQDN of backend server.
   607  	Address *string
   608  
   609  	// Health of backend server.
   610  	Health *ApplicationGatewayBackendHealthServerHealth
   611  
   612  	// Health Probe Log.
   613  	HealthProbeLog *string
   614  
   615  	// Reference to IP configuration of backend server.
   616  	IPConfiguration *InterfaceIPConfiguration
   617  }
   618  
   619  // ApplicationGatewayBackendSettings - Backend address pool settings of an application gateway.
   620  type ApplicationGatewayBackendSettings struct {
   621  	// Resource ID.
   622  	ID *string
   623  
   624  	// Name of the backend settings that is unique within an Application Gateway.
   625  	Name *string
   626  
   627  	// Properties of the application gateway backend settings.
   628  	Properties *ApplicationGatewayBackendSettingsPropertiesFormat
   629  
   630  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   631  	Etag *string
   632  
   633  	// READ-ONLY; Type of the resource.
   634  	Type *string
   635  }
   636  
   637  // ApplicationGatewayBackendSettingsPropertiesFormat - Properties of Backend address pool settings of an application gateway.
   638  type ApplicationGatewayBackendSettingsPropertiesFormat struct {
   639  	// Server name indication to be sent to the backend servers for Tls protocol.
   640  	HostName *string
   641  
   642  	// Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false.
   643  	PickHostNameFromBackendAddress *bool
   644  
   645  	// The destination port on the backend.
   646  	Port *int32
   647  
   648  	// Probe resource of an application gateway.
   649  	Probe *SubResource
   650  
   651  	// The protocol used to communicate with the backend.
   652  	Protocol *ApplicationGatewayProtocol
   653  
   654  	// Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout.
   655  	// Acceptable values are from 1 second to 86400 seconds.
   656  	Timeout *int32
   657  
   658  	// Array of references to application gateway trusted root certificates.
   659  	TrustedRootCertificates []*SubResource
   660  
   661  	// READ-ONLY; The provisioning state of the backend HTTP settings resource.
   662  	ProvisioningState *ProvisioningState
   663  }
   664  
   665  // ApplicationGatewayClientAuthConfiguration - Application gateway client authentication configuration.
   666  type ApplicationGatewayClientAuthConfiguration struct {
   667  	// Verify client certificate issuer name on the application gateway.
   668  	VerifyClientCertIssuerDN *bool
   669  
   670  	// Verify client certificate revocation status.
   671  	VerifyClientRevocation *ApplicationGatewayClientRevocationOptions
   672  }
   673  
   674  // ApplicationGatewayConnectionDraining - Connection draining allows open connections to a backend server to be active for
   675  // a specified time after the backend server got removed from the configuration.
   676  type ApplicationGatewayConnectionDraining struct {
   677  	// REQUIRED; The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
   678  	DrainTimeoutInSec *int32
   679  
   680  	// REQUIRED; Whether connection draining is enabled or not.
   681  	Enabled *bool
   682  }
   683  
   684  // ApplicationGatewayCustomError - Custom error of an application gateway.
   685  type ApplicationGatewayCustomError struct {
   686  	// Error page URL of the application gateway custom error.
   687  	CustomErrorPageURL *string
   688  
   689  	// Status code of the application gateway custom error.
   690  	StatusCode *ApplicationGatewayCustomErrorStatusCode
   691  }
   692  
   693  // ApplicationGatewayFirewallDisabledRuleGroup - Allows to disable rules within a rule group or an entire rule group.
   694  type ApplicationGatewayFirewallDisabledRuleGroup struct {
   695  	// REQUIRED; The name of the rule group that will be disabled.
   696  	RuleGroupName *string
   697  
   698  	// The list of rules that will be disabled. If null, all rules of the rule group will be disabled.
   699  	Rules []*int32
   700  }
   701  
   702  // ApplicationGatewayFirewallExclusion - Allow to exclude some variable satisfy the condition for the WAF check.
   703  type ApplicationGatewayFirewallExclusion struct {
   704  	// REQUIRED; The variable to be excluded.
   705  	MatchVariable *string
   706  
   707  	// REQUIRED; When matchVariable is a collection, operator used to specify which elements in the collection this exclusion
   708  	// applies to.
   709  	Selector *string
   710  
   711  	// REQUIRED; When matchVariable is a collection, operate on the selector to specify which elements in the collection this
   712  	// exclusion applies to.
   713  	SelectorMatchOperator *string
   714  }
   715  
   716  // ApplicationGatewayFirewallManifestRuleSet - Properties of the web application firewall rule set.
   717  type ApplicationGatewayFirewallManifestRuleSet struct {
   718  	// REQUIRED; The rule groups of the web application firewall rule set.
   719  	RuleGroups []*ApplicationGatewayFirewallRuleGroup
   720  
   721  	// REQUIRED; The type of the web application firewall rule set.
   722  	RuleSetType *string
   723  
   724  	// REQUIRED; The version of the web application firewall rule set type.
   725  	RuleSetVersion *string
   726  
   727  	// The rule set status
   728  	Status *ApplicationGatewayRuleSetStatusOptions
   729  
   730  	// Tier of an application gateway that support the rule set.
   731  	Tiers []*ApplicationGatewayTierTypes
   732  }
   733  
   734  // ApplicationGatewayFirewallRule - A web application firewall rule.
   735  type ApplicationGatewayFirewallRule struct {
   736  	// REQUIRED; The identifier of the web application firewall rule.
   737  	RuleID *int32
   738  
   739  	// The string representation of the web application firewall rule action.
   740  	Action *ApplicationGatewayWafRuleActionTypes
   741  
   742  	// The description of the web application firewall rule.
   743  	Description *string
   744  
   745  	// The string representation of the web application firewall rule identifier.
   746  	RuleIDString *string
   747  
   748  	// The string representation of the web application firewall rule sensitivity.
   749  	Sensitivity *ApplicationGatewayWafRuleSensitivityTypes
   750  
   751  	// The string representation of the web application firewall rule state.
   752  	State *ApplicationGatewayWafRuleStateTypes
   753  }
   754  
   755  // ApplicationGatewayFirewallRuleGroup - A web application firewall rule group.
   756  type ApplicationGatewayFirewallRuleGroup struct {
   757  	// REQUIRED; The name of the web application firewall rule group.
   758  	RuleGroupName *string
   759  
   760  	// REQUIRED; The rules of the web application firewall rule group.
   761  	Rules []*ApplicationGatewayFirewallRule
   762  
   763  	// The description of the web application firewall rule group.
   764  	Description *string
   765  }
   766  
   767  // ApplicationGatewayFirewallRuleSet - A web application firewall rule set.
   768  type ApplicationGatewayFirewallRuleSet struct {
   769  	// Resource ID.
   770  	ID *string
   771  
   772  	// Resource location.
   773  	Location *string
   774  
   775  	// Properties of the application gateway firewall rule set.
   776  	Properties *ApplicationGatewayFirewallRuleSetPropertiesFormat
   777  
   778  	// Resource tags.
   779  	Tags map[string]*string
   780  
   781  	// READ-ONLY; Resource name.
   782  	Name *string
   783  
   784  	// READ-ONLY; Resource type.
   785  	Type *string
   786  }
   787  
   788  // ApplicationGatewayFirewallRuleSetPropertiesFormat - Properties of the web application firewall rule set.
   789  type ApplicationGatewayFirewallRuleSetPropertiesFormat struct {
   790  	// REQUIRED; The rule groups of the web application firewall rule set.
   791  	RuleGroups []*ApplicationGatewayFirewallRuleGroup
   792  
   793  	// REQUIRED; The type of the web application firewall rule set.
   794  	RuleSetType *string
   795  
   796  	// REQUIRED; The version of the web application firewall rule set type.
   797  	RuleSetVersion *string
   798  
   799  	// Tier of an application gateway that support the rule set.
   800  	Tiers []*ApplicationGatewayTierTypes
   801  
   802  	// READ-ONLY; The provisioning state of the web application firewall rule set.
   803  	ProvisioningState *ProvisioningState
   804  }
   805  
   806  // ApplicationGatewayForContainersReferenceDefinition - Defines an application gateway for containers reference.
   807  type ApplicationGatewayForContainersReferenceDefinition struct {
   808  	// REQUIRED; Resource Id of the application gateway for containers.
   809  	ID *string
   810  }
   811  
   812  // ApplicationGatewayFrontendIPConfiguration - Frontend IP configuration of an application gateway.
   813  type ApplicationGatewayFrontendIPConfiguration struct {
   814  	// Resource ID.
   815  	ID *string
   816  
   817  	// Name of the frontend IP configuration that is unique within an Application Gateway.
   818  	Name *string
   819  
   820  	// Properties of the application gateway frontend IP configuration.
   821  	Properties *ApplicationGatewayFrontendIPConfigurationPropertiesFormat
   822  
   823  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   824  	Etag *string
   825  
   826  	// READ-ONLY; Type of the resource.
   827  	Type *string
   828  }
   829  
   830  // ApplicationGatewayFrontendIPConfigurationPropertiesFormat - Properties of Frontend IP configuration of an application gateway.
   831  type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct {
   832  	// PrivateIPAddress of the network interface IP Configuration.
   833  	PrivateIPAddress *string
   834  
   835  	// The private IP address allocation method.
   836  	PrivateIPAllocationMethod *IPAllocationMethod
   837  
   838  	// Reference to the application gateway private link configuration.
   839  	PrivateLinkConfiguration *SubResource
   840  
   841  	// Reference to the PublicIP resource.
   842  	PublicIPAddress *SubResource
   843  
   844  	// Reference to the subnet resource.
   845  	Subnet *SubResource
   846  
   847  	// READ-ONLY; The provisioning state of the frontend IP configuration resource.
   848  	ProvisioningState *ProvisioningState
   849  }
   850  
   851  // ApplicationGatewayFrontendPort - Frontend port of an application gateway.
   852  type ApplicationGatewayFrontendPort struct {
   853  	// Resource ID.
   854  	ID *string
   855  
   856  	// Name of the frontend port that is unique within an Application Gateway.
   857  	Name *string
   858  
   859  	// Properties of the application gateway frontend port.
   860  	Properties *ApplicationGatewayFrontendPortPropertiesFormat
   861  
   862  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   863  	Etag *string
   864  
   865  	// READ-ONLY; Type of the resource.
   866  	Type *string
   867  }
   868  
   869  // ApplicationGatewayFrontendPortPropertiesFormat - Properties of Frontend port of an application gateway.
   870  type ApplicationGatewayFrontendPortPropertiesFormat struct {
   871  	// Frontend port.
   872  	Port *int32
   873  
   874  	// READ-ONLY; The provisioning state of the frontend port resource.
   875  	ProvisioningState *ProvisioningState
   876  }
   877  
   878  // ApplicationGatewayGlobalConfiguration - Application Gateway global configuration.
   879  type ApplicationGatewayGlobalConfiguration struct {
   880  	// Enable request buffering.
   881  	EnableRequestBuffering *bool
   882  
   883  	// Enable response buffering.
   884  	EnableResponseBuffering *bool
   885  }
   886  
   887  // ApplicationGatewayHTTPListener - Http listener of an application gateway.
   888  type ApplicationGatewayHTTPListener struct {
   889  	// Resource ID.
   890  	ID *string
   891  
   892  	// Name of the HTTP listener that is unique within an Application Gateway.
   893  	Name *string
   894  
   895  	// Properties of the application gateway HTTP listener.
   896  	Properties *ApplicationGatewayHTTPListenerPropertiesFormat
   897  
   898  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   899  	Etag *string
   900  
   901  	// READ-ONLY; Type of the resource.
   902  	Type *string
   903  }
   904  
   905  // ApplicationGatewayHTTPListenerPropertiesFormat - Properties of HTTP listener of an application gateway.
   906  type ApplicationGatewayHTTPListenerPropertiesFormat struct {
   907  	// Custom error configurations of the HTTP listener.
   908  	CustomErrorConfigurations []*ApplicationGatewayCustomError
   909  
   910  	// Reference to the FirewallPolicy resource.
   911  	FirewallPolicy *SubResource
   912  
   913  	// Frontend IP configuration resource of an application gateway.
   914  	FrontendIPConfiguration *SubResource
   915  
   916  	// Frontend port resource of an application gateway.
   917  	FrontendPort *SubResource
   918  
   919  	// Host name of HTTP listener.
   920  	HostName *string
   921  
   922  	// List of Host names for HTTP Listener that allows special wildcard characters as well.
   923  	HostNames []*string
   924  
   925  	// Protocol of the HTTP listener.
   926  	Protocol *ApplicationGatewayProtocol
   927  
   928  	// Applicable only if protocol is https. Enables SNI for multi-hosting.
   929  	RequireServerNameIndication *bool
   930  
   931  	// SSL certificate resource of an application gateway.
   932  	SSLCertificate *SubResource
   933  
   934  	// SSL profile resource of the application gateway.
   935  	SSLProfile *SubResource
   936  
   937  	// READ-ONLY; The provisioning state of the HTTP listener resource.
   938  	ProvisioningState *ProvisioningState
   939  }
   940  
   941  // ApplicationGatewayHeaderConfiguration - Header configuration of the Actions set in Application Gateway.
   942  type ApplicationGatewayHeaderConfiguration struct {
   943  	// Header name of the header configuration.
   944  	HeaderName *string
   945  
   946  	// Header value of the header configuration.
   947  	HeaderValue *string
   948  
   949  	// An optional field under "Rewrite Action". It lets you capture and modify the value(s) of a specific header when multiple
   950  	// headers with the same name exist. Currently supported for Set-Cookie Response
   951  	// header only. For more details, visit https://aka.ms/appgwheadercrud
   952  	HeaderValueMatcher *HeaderValueMatcher
   953  }
   954  
   955  // ApplicationGatewayIPConfiguration - IP configuration of an application gateway. Currently 1 public and 1 private IP configuration
   956  // is allowed.
   957  type ApplicationGatewayIPConfiguration struct {
   958  	// Resource ID.
   959  	ID *string
   960  
   961  	// Name of the IP configuration that is unique within an Application Gateway.
   962  	Name *string
   963  
   964  	// Properties of the application gateway IP configuration.
   965  	Properties *ApplicationGatewayIPConfigurationPropertiesFormat
   966  
   967  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
   968  	Etag *string
   969  
   970  	// READ-ONLY; Type of the resource.
   971  	Type *string
   972  }
   973  
   974  // ApplicationGatewayIPConfigurationPropertiesFormat - Properties of IP configuration of an application gateway.
   975  type ApplicationGatewayIPConfigurationPropertiesFormat struct {
   976  	// Reference to the subnet resource. A subnet from where application gateway gets its private address.
   977  	Subnet *SubResource
   978  
   979  	// READ-ONLY; The provisioning state of the application gateway IP configuration resource.
   980  	ProvisioningState *ProvisioningState
   981  }
   982  
   983  // ApplicationGatewayListResult - Response for ListApplicationGateways API service call.
   984  type ApplicationGatewayListResult struct {
   985  	// URL to get the next set of results.
   986  	NextLink *string
   987  
   988  	// List of an application gateways in a resource group.
   989  	Value []*ApplicationGateway
   990  }
   991  
   992  // ApplicationGatewayListener - Listener of an application gateway.
   993  type ApplicationGatewayListener struct {
   994  	// Resource ID.
   995  	ID *string
   996  
   997  	// Name of the listener that is unique within an Application Gateway.
   998  	Name *string
   999  
  1000  	// Properties of the application gateway listener.
  1001  	Properties *ApplicationGatewayListenerPropertiesFormat
  1002  
  1003  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1004  	Etag *string
  1005  
  1006  	// READ-ONLY; Type of the resource.
  1007  	Type *string
  1008  }
  1009  
  1010  // ApplicationGatewayListenerPropertiesFormat - Properties of listener of an application gateway.
  1011  type ApplicationGatewayListenerPropertiesFormat struct {
  1012  	// Frontend IP configuration resource of an application gateway.
  1013  	FrontendIPConfiguration *SubResource
  1014  
  1015  	// Frontend port resource of an application gateway.
  1016  	FrontendPort *SubResource
  1017  
  1018  	// List of Server Name Indications(SNI) for TLS Multi-site Listener that allows special wildcard characters as well.
  1019  	HostNames []*string
  1020  
  1021  	// Protocol of the listener.
  1022  	Protocol *ApplicationGatewayProtocol
  1023  
  1024  	// SSL certificate resource of an application gateway.
  1025  	SSLCertificate *SubResource
  1026  
  1027  	// SSL profile resource of the application gateway.
  1028  	SSLProfile *SubResource
  1029  
  1030  	// READ-ONLY; The provisioning state of the listener resource.
  1031  	ProvisioningState *ProvisioningState
  1032  }
  1033  
  1034  // ApplicationGatewayLoadDistributionPolicy - Load Distribution Policy of an application gateway.
  1035  type ApplicationGatewayLoadDistributionPolicy struct {
  1036  	// Resource ID.
  1037  	ID *string
  1038  
  1039  	// Name of the load distribution policy that is unique within an Application Gateway.
  1040  	Name *string
  1041  
  1042  	// Properties of the application gateway load distribution policy.
  1043  	Properties *ApplicationGatewayLoadDistributionPolicyPropertiesFormat
  1044  
  1045  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1046  	Etag *string
  1047  
  1048  	// READ-ONLY; Type of the resource.
  1049  	Type *string
  1050  }
  1051  
  1052  // ApplicationGatewayLoadDistributionPolicyPropertiesFormat - Properties of Load Distribution Policy of an application gateway.
  1053  type ApplicationGatewayLoadDistributionPolicyPropertiesFormat struct {
  1054  	// Load Distribution Targets resource of an application gateway.
  1055  	LoadDistributionAlgorithm *ApplicationGatewayLoadDistributionAlgorithm
  1056  
  1057  	// Load Distribution Targets resource of an application gateway.
  1058  	LoadDistributionTargets []*ApplicationGatewayLoadDistributionTarget
  1059  
  1060  	// READ-ONLY; The provisioning state of the Load Distribution Policy resource.
  1061  	ProvisioningState *ProvisioningState
  1062  }
  1063  
  1064  // ApplicationGatewayLoadDistributionTarget - Load Distribution Target of an application gateway.
  1065  type ApplicationGatewayLoadDistributionTarget struct {
  1066  	// Resource ID.
  1067  	ID *string
  1068  
  1069  	// Name of the load distribution policy that is unique within an Application Gateway.
  1070  	Name *string
  1071  
  1072  	// Properties of the application gateway load distribution target.
  1073  	Properties *ApplicationGatewayLoadDistributionTargetPropertiesFormat
  1074  
  1075  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1076  	Etag *string
  1077  
  1078  	// READ-ONLY; Type of the resource.
  1079  	Type *string
  1080  }
  1081  
  1082  type ApplicationGatewayLoadDistributionTargetPropertiesFormat struct {
  1083  	// Backend address pool resource of the application gateway.
  1084  	BackendAddressPool *SubResource
  1085  
  1086  	// Weight per server. Range between 1 and 100.
  1087  	WeightPerServer *int32
  1088  }
  1089  
  1090  // ApplicationGatewayOnDemandProbe - Details of on demand test probe request.
  1091  type ApplicationGatewayOnDemandProbe struct {
  1092  	// Reference to backend pool of application gateway to which probe request will be sent.
  1093  	BackendAddressPool *SubResource
  1094  
  1095  	// Reference to backend http setting of application gateway to be used for test probe.
  1096  	BackendHTTPSettings *SubResource
  1097  
  1098  	// Host name to send the probe to.
  1099  	Host *string
  1100  
  1101  	// Criterion for classifying a healthy probe response.
  1102  	Match *ApplicationGatewayProbeHealthResponseMatch
  1103  
  1104  	// Relative path of probe. Valid path starts from '/'. Probe is sent to ://:.
  1105  	Path *string
  1106  
  1107  	// Whether the host header should be picked from the backend http settings. Default value is false.
  1108  	PickHostNameFromBackendHTTPSettings *bool
  1109  
  1110  	// The protocol used for the probe.
  1111  	Protocol *ApplicationGatewayProtocol
  1112  
  1113  	// The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable
  1114  	// values are from 1 second to 86400 seconds.
  1115  	Timeout *int32
  1116  }
  1117  
  1118  // ApplicationGatewayPathRule - Path rule of URL path map of an application gateway.
  1119  type ApplicationGatewayPathRule struct {
  1120  	// Resource ID.
  1121  	ID *string
  1122  
  1123  	// Name of the path rule that is unique within an Application Gateway.
  1124  	Name *string
  1125  
  1126  	// Properties of the application gateway path rule.
  1127  	Properties *ApplicationGatewayPathRulePropertiesFormat
  1128  
  1129  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1130  	Etag *string
  1131  
  1132  	// READ-ONLY; Type of the resource.
  1133  	Type *string
  1134  }
  1135  
  1136  // ApplicationGatewayPathRulePropertiesFormat - Properties of path rule of an application gateway.
  1137  type ApplicationGatewayPathRulePropertiesFormat struct {
  1138  	// Backend address pool resource of URL path map path rule.
  1139  	BackendAddressPool *SubResource
  1140  
  1141  	// Backend http settings resource of URL path map path rule.
  1142  	BackendHTTPSettings *SubResource
  1143  
  1144  	// Reference to the FirewallPolicy resource.
  1145  	FirewallPolicy *SubResource
  1146  
  1147  	// Load Distribution Policy resource of URL path map path rule.
  1148  	LoadDistributionPolicy *SubResource
  1149  
  1150  	// Path rules of URL path map.
  1151  	Paths []*string
  1152  
  1153  	// Redirect configuration resource of URL path map path rule.
  1154  	RedirectConfiguration *SubResource
  1155  
  1156  	// Rewrite rule set resource of URL path map path rule.
  1157  	RewriteRuleSet *SubResource
  1158  
  1159  	// READ-ONLY; The provisioning state of the path rule resource.
  1160  	ProvisioningState *ProvisioningState
  1161  }
  1162  
  1163  // ApplicationGatewayPrivateEndpointConnection - Private Endpoint connection on an application gateway.
  1164  type ApplicationGatewayPrivateEndpointConnection struct {
  1165  	// Resource ID.
  1166  	ID *string
  1167  
  1168  	// Name of the private endpoint connection on an application gateway.
  1169  	Name *string
  1170  
  1171  	// Properties of the application gateway private endpoint connection.
  1172  	Properties *ApplicationGatewayPrivateEndpointConnectionProperties
  1173  
  1174  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1175  	Etag *string
  1176  
  1177  	// READ-ONLY; Type of the resource.
  1178  	Type *string
  1179  }
  1180  
  1181  // ApplicationGatewayPrivateEndpointConnectionListResult - Response for ListApplicationGatewayPrivateEndpointConnection API
  1182  // service call. Gets all private endpoint connections for an application gateway.
  1183  type ApplicationGatewayPrivateEndpointConnectionListResult struct {
  1184  	// URL to get the next set of results.
  1185  	NextLink *string
  1186  
  1187  	// List of private endpoint connections on an application gateway.
  1188  	Value []*ApplicationGatewayPrivateEndpointConnection
  1189  }
  1190  
  1191  // ApplicationGatewayPrivateEndpointConnectionProperties - Properties of Private Link Resource of an application gateway.
  1192  type ApplicationGatewayPrivateEndpointConnectionProperties struct {
  1193  	// A collection of information about the state of the connection between service consumer and provider.
  1194  	PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState
  1195  
  1196  	// READ-ONLY; The consumer link id.
  1197  	LinkIdentifier *string
  1198  
  1199  	// READ-ONLY; The resource of private end point.
  1200  	PrivateEndpoint *PrivateEndpoint
  1201  
  1202  	// READ-ONLY; The provisioning state of the application gateway private endpoint connection resource.
  1203  	ProvisioningState *ProvisioningState
  1204  }
  1205  
  1206  // ApplicationGatewayPrivateLinkConfiguration - Private Link Configuration on an application gateway.
  1207  type ApplicationGatewayPrivateLinkConfiguration struct {
  1208  	// Resource ID.
  1209  	ID *string
  1210  
  1211  	// Name of the private link configuration that is unique within an Application Gateway.
  1212  	Name *string
  1213  
  1214  	// Properties of the application gateway private link configuration.
  1215  	Properties *ApplicationGatewayPrivateLinkConfigurationProperties
  1216  
  1217  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1218  	Etag *string
  1219  
  1220  	// READ-ONLY; Type of the resource.
  1221  	Type *string
  1222  }
  1223  
  1224  // ApplicationGatewayPrivateLinkConfigurationProperties - Properties of private link configuration on an application gateway.
  1225  type ApplicationGatewayPrivateLinkConfigurationProperties struct {
  1226  	// An array of application gateway private link ip configurations.
  1227  	IPConfigurations []*ApplicationGatewayPrivateLinkIPConfiguration
  1228  
  1229  	// READ-ONLY; The provisioning state of the application gateway private link configuration.
  1230  	ProvisioningState *ProvisioningState
  1231  }
  1232  
  1233  // ApplicationGatewayPrivateLinkIPConfiguration - The application gateway private link ip configuration.
  1234  type ApplicationGatewayPrivateLinkIPConfiguration struct {
  1235  	// Resource ID.
  1236  	ID *string
  1237  
  1238  	// The name of application gateway private link ip configuration.
  1239  	Name *string
  1240  
  1241  	// Properties of an application gateway private link ip configuration.
  1242  	Properties *ApplicationGatewayPrivateLinkIPConfigurationProperties
  1243  
  1244  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1245  	Etag *string
  1246  
  1247  	// READ-ONLY; The resource type.
  1248  	Type *string
  1249  }
  1250  
  1251  // ApplicationGatewayPrivateLinkIPConfigurationProperties - Properties of an application gateway private link IP configuration.
  1252  type ApplicationGatewayPrivateLinkIPConfigurationProperties struct {
  1253  	// Whether the ip configuration is primary or not.
  1254  	Primary *bool
  1255  
  1256  	// The private IP address of the IP configuration.
  1257  	PrivateIPAddress *string
  1258  
  1259  	// The private IP address allocation method.
  1260  	PrivateIPAllocationMethod *IPAllocationMethod
  1261  
  1262  	// Reference to the subnet resource.
  1263  	Subnet *SubResource
  1264  
  1265  	// READ-ONLY; The provisioning state of the application gateway private link IP configuration.
  1266  	ProvisioningState *ProvisioningState
  1267  }
  1268  
  1269  // ApplicationGatewayPrivateLinkResource - PrivateLink Resource of an application gateway.
  1270  type ApplicationGatewayPrivateLinkResource struct {
  1271  	// Resource ID.
  1272  	ID *string
  1273  
  1274  	// Name of the private link resource that is unique within an Application Gateway.
  1275  	Name *string
  1276  
  1277  	// Properties of the application gateway private link resource.
  1278  	Properties *ApplicationGatewayPrivateLinkResourceProperties
  1279  
  1280  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1281  	Etag *string
  1282  
  1283  	// READ-ONLY; Type of the resource.
  1284  	Type *string
  1285  }
  1286  
  1287  // ApplicationGatewayPrivateLinkResourceListResult - Response for ListApplicationGatewayPrivateLinkResources API service call.
  1288  // Gets all private link resources for an application gateway.
  1289  type ApplicationGatewayPrivateLinkResourceListResult struct {
  1290  	// URL to get the next set of results.
  1291  	NextLink *string
  1292  
  1293  	// List of private link resources of an application gateway.
  1294  	Value []*ApplicationGatewayPrivateLinkResource
  1295  }
  1296  
  1297  // ApplicationGatewayPrivateLinkResourceProperties - Properties of a private link resource.
  1298  type ApplicationGatewayPrivateLinkResourceProperties struct {
  1299  	// Required DNS zone names of the the private link resource.
  1300  	RequiredZoneNames []*string
  1301  
  1302  	// READ-ONLY; Group identifier of private link resource.
  1303  	GroupID *string
  1304  
  1305  	// READ-ONLY; Required member names of private link resource.
  1306  	RequiredMembers []*string
  1307  }
  1308  
  1309  // ApplicationGatewayProbe - Probe of the application gateway.
  1310  type ApplicationGatewayProbe struct {
  1311  	// Resource ID.
  1312  	ID *string
  1313  
  1314  	// Name of the probe that is unique within an Application Gateway.
  1315  	Name *string
  1316  
  1317  	// Properties of the application gateway probe.
  1318  	Properties *ApplicationGatewayProbePropertiesFormat
  1319  
  1320  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1321  	Etag *string
  1322  
  1323  	// READ-ONLY; Type of the resource.
  1324  	Type *string
  1325  }
  1326  
  1327  // ApplicationGatewayProbeHealthResponseMatch - Application gateway probe health response match.
  1328  type ApplicationGatewayProbeHealthResponseMatch struct {
  1329  	// Body that must be contained in the health response. Default value is empty.
  1330  	Body *string
  1331  
  1332  	// Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399.
  1333  	StatusCodes []*string
  1334  }
  1335  
  1336  // ApplicationGatewayProbePropertiesFormat - Properties of probe of an application gateway.
  1337  type ApplicationGatewayProbePropertiesFormat struct {
  1338  	// Host name to send the probe to.
  1339  	Host *string
  1340  
  1341  	// The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1
  1342  	// second to 86400 seconds.
  1343  	Interval *int32
  1344  
  1345  	// Criterion for classifying a healthy probe response.
  1346  	Match *ApplicationGatewayProbeHealthResponseMatch
  1347  
  1348  	// Minimum number of servers that are always marked healthy. Default value is 0.
  1349  	MinServers *int32
  1350  
  1351  	// Relative path of probe. Valid path starts from '/'. Probe is sent to ://:.
  1352  	Path *string
  1353  
  1354  	// Whether the host header should be picked from the backend http settings. Default value is false.
  1355  	PickHostNameFromBackendHTTPSettings *bool
  1356  
  1357  	// Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false.
  1358  	PickHostNameFromBackendSettings *bool
  1359  
  1360  	// Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set,
  1361  	// port from http settings will be used. This property is valid for Basic,
  1362  	// Standardv2 and WAFv2 only.
  1363  	Port *int32
  1364  
  1365  	// The protocol used for the probe.
  1366  	Protocol *ApplicationGatewayProtocol
  1367  
  1368  	// The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable
  1369  	// values are from 1 second to 86400 seconds.
  1370  	Timeout *int32
  1371  
  1372  	// The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold.
  1373  	// Acceptable values are from 1 second to 20.
  1374  	UnhealthyThreshold *int32
  1375  
  1376  	// READ-ONLY; The provisioning state of the probe resource.
  1377  	ProvisioningState *ProvisioningState
  1378  }
  1379  
  1380  // ApplicationGatewayPropertiesFormat - Properties of the application gateway.
  1381  type ApplicationGatewayPropertiesFormat struct {
  1382  	// Authentication certificates of the application gateway resource. For default limits, see Application Gateway limits
  1383  	// [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits].
  1384  	AuthenticationCertificates []*ApplicationGatewayAuthenticationCertificate
  1385  
  1386  	// Autoscale Configuration.
  1387  	AutoscaleConfiguration *ApplicationGatewayAutoscaleConfiguration
  1388  
  1389  	// Backend address pool of the application gateway resource. For default limits, see Application Gateway limits
  1390  	// [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits].
  1391  	BackendAddressPools []*ApplicationGatewayBackendAddressPool
  1392  
  1393  	// Backend http settings of the application gateway resource. For default limits, see Application Gateway limits
  1394  	// [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits].
  1395  	BackendHTTPSettingsCollection []*ApplicationGatewayBackendHTTPSettings
  1396  
  1397  	// Backend settings of the application gateway resource. For default limits, see Application Gateway limits [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits]
  1398  	// .
  1399  	BackendSettingsCollection []*ApplicationGatewayBackendSettings
  1400  
  1401  	// Custom error configurations of the application gateway resource.
  1402  	CustomErrorConfigurations []*ApplicationGatewayCustomError
  1403  
  1404  	// Whether FIPS is enabled on the application gateway resource.
  1405  	EnableFips *bool
  1406  
  1407  	// Whether HTTP2 is enabled on the application gateway resource.
  1408  	EnableHTTP2 *bool
  1409  
  1410  	// Reference to the FirewallPolicy resource.
  1411  	FirewallPolicy *SubResource
  1412  
  1413  	// If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config.
  1414  	ForceFirewallPolicyAssociation *bool
  1415  
  1416  	// Frontend IP addresses of the application gateway resource. For default limits, see Application Gateway limits
  1417  	// [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits].
  1418  	FrontendIPConfigurations []*ApplicationGatewayFrontendIPConfiguration
  1419  
  1420  	// 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].
  1421  	FrontendPorts []*ApplicationGatewayFrontendPort
  1422  
  1423  	// 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].
  1424  	GatewayIPConfigurations []*ApplicationGatewayIPConfiguration
  1425  
  1426  	// Global Configuration.
  1427  	GlobalConfiguration *ApplicationGatewayGlobalConfiguration
  1428  
  1429  	// 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].
  1430  	HTTPListeners []*ApplicationGatewayHTTPListener
  1431  
  1432  	// 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].
  1433  	Listeners []*ApplicationGatewayListener
  1434  
  1435  	// Load distribution policies of the application gateway resource.
  1436  	LoadDistributionPolicies []*ApplicationGatewayLoadDistributionPolicy
  1437  
  1438  	// PrivateLink configurations on application gateway.
  1439  	PrivateLinkConfigurations []*ApplicationGatewayPrivateLinkConfiguration
  1440  
  1441  	// Probes of the application gateway resource.
  1442  	Probes []*ApplicationGatewayProbe
  1443  
  1444  	// Redirect configurations of the application gateway resource. For default limits, see Application Gateway limits
  1445  	// [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits].
  1446  	RedirectConfigurations []*ApplicationGatewayRedirectConfiguration
  1447  
  1448  	// Request routing rules of the application gateway resource.
  1449  	RequestRoutingRules []*ApplicationGatewayRequestRoutingRule
  1450  
  1451  	// Rewrite rules for the application gateway resource.
  1452  	RewriteRuleSets []*ApplicationGatewayRewriteRuleSet
  1453  
  1454  	// Routing rules of the application gateway resource.
  1455  	RoutingRules []*ApplicationGatewayRoutingRule
  1456  
  1457  	// SKU of the application gateway resource.
  1458  	SKU *ApplicationGatewaySKU
  1459  
  1460  	// 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]
  1461  	// .
  1462  	SSLCertificates []*ApplicationGatewaySSLCertificate
  1463  
  1464  	// SSL policy of the application gateway resource.
  1465  	SSLPolicy *ApplicationGatewaySSLPolicy
  1466  
  1467  	// 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].
  1468  	SSLProfiles []*ApplicationGatewaySSLProfile
  1469  
  1470  	// Trusted client certificates of the application gateway resource. For default limits, see Application Gateway limits
  1471  	// [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits].
  1472  	TrustedClientCertificates []*ApplicationGatewayTrustedClientCertificate
  1473  
  1474  	// Trusted Root certificates of the application gateway resource. For default limits, see Application Gateway limits
  1475  	// [https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits].
  1476  	TrustedRootCertificates []*ApplicationGatewayTrustedRootCertificate
  1477  
  1478  	// 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].
  1479  	URLPathMaps []*ApplicationGatewayURLPathMap
  1480  
  1481  	// Web application firewall configuration.
  1482  	WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration
  1483  
  1484  	// READ-ONLY; The default predefined SSL Policy applied on the application gateway resource.
  1485  	DefaultPredefinedSSLPolicy *ApplicationGatewaySSLPolicyName
  1486  
  1487  	// READ-ONLY; Operational state of the application gateway resource.
  1488  	OperationalState *ApplicationGatewayOperationalState
  1489  
  1490  	// READ-ONLY; Private Endpoint connections on application gateway.
  1491  	PrivateEndpointConnections []*ApplicationGatewayPrivateEndpointConnection
  1492  
  1493  	// READ-ONLY; The provisioning state of the application gateway resource.
  1494  	ProvisioningState *ProvisioningState
  1495  
  1496  	// READ-ONLY; The resource GUID property of the application gateway resource.
  1497  	ResourceGUID *string
  1498  }
  1499  
  1500  // ApplicationGatewayRedirectConfiguration - Redirect configuration of an application gateway.
  1501  type ApplicationGatewayRedirectConfiguration struct {
  1502  	// Resource ID.
  1503  	ID *string
  1504  
  1505  	// Name of the redirect configuration that is unique within an Application Gateway.
  1506  	Name *string
  1507  
  1508  	// Properties of the application gateway redirect configuration.
  1509  	Properties *ApplicationGatewayRedirectConfigurationPropertiesFormat
  1510  
  1511  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1512  	Etag *string
  1513  
  1514  	// READ-ONLY; Type of the resource.
  1515  	Type *string
  1516  }
  1517  
  1518  // ApplicationGatewayRedirectConfigurationPropertiesFormat - Properties of redirect configuration of the application gateway.
  1519  type ApplicationGatewayRedirectConfigurationPropertiesFormat struct {
  1520  	// Include path in the redirected url.
  1521  	IncludePath *bool
  1522  
  1523  	// Include query string in the redirected url.
  1524  	IncludeQueryString *bool
  1525  
  1526  	// Path rules specifying redirect configuration.
  1527  	PathRules []*SubResource
  1528  
  1529  	// HTTP redirection type.
  1530  	RedirectType *ApplicationGatewayRedirectType
  1531  
  1532  	// Request routing specifying redirect configuration.
  1533  	RequestRoutingRules []*SubResource
  1534  
  1535  	// Reference to a listener to redirect the request to.
  1536  	TargetListener *SubResource
  1537  
  1538  	// Url to redirect the request to.
  1539  	TargetURL *string
  1540  
  1541  	// Url path maps specifying default redirect configuration.
  1542  	URLPathMaps []*SubResource
  1543  }
  1544  
  1545  // ApplicationGatewayRequestRoutingRule - Request routing rule of an application gateway.
  1546  type ApplicationGatewayRequestRoutingRule struct {
  1547  	// Resource ID.
  1548  	ID *string
  1549  
  1550  	// Name of the request routing rule that is unique within an Application Gateway.
  1551  	Name *string
  1552  
  1553  	// Properties of the application gateway request routing rule.
  1554  	Properties *ApplicationGatewayRequestRoutingRulePropertiesFormat
  1555  
  1556  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1557  	Etag *string
  1558  
  1559  	// READ-ONLY; Type of the resource.
  1560  	Type *string
  1561  }
  1562  
  1563  // ApplicationGatewayRequestRoutingRulePropertiesFormat - Properties of request routing rule of the application gateway.
  1564  type ApplicationGatewayRequestRoutingRulePropertiesFormat struct {
  1565  	// Backend address pool resource of the application gateway.
  1566  	BackendAddressPool *SubResource
  1567  
  1568  	// Backend http settings resource of the application gateway.
  1569  	BackendHTTPSettings *SubResource
  1570  
  1571  	// Http listener resource of the application gateway.
  1572  	HTTPListener *SubResource
  1573  
  1574  	// Load Distribution Policy resource of the application gateway.
  1575  	LoadDistributionPolicy *SubResource
  1576  
  1577  	// Priority of the request routing rule.
  1578  	Priority *int32
  1579  
  1580  	// Redirect configuration resource of the application gateway.
  1581  	RedirectConfiguration *SubResource
  1582  
  1583  	// Rewrite Rule Set resource in Basic rule of the application gateway.
  1584  	RewriteRuleSet *SubResource
  1585  
  1586  	// Rule type.
  1587  	RuleType *ApplicationGatewayRequestRoutingRuleType
  1588  
  1589  	// URL path map resource of the application gateway.
  1590  	URLPathMap *SubResource
  1591  
  1592  	// READ-ONLY; The provisioning state of the request routing rule resource.
  1593  	ProvisioningState *ProvisioningState
  1594  }
  1595  
  1596  // ApplicationGatewayRewriteRule - Rewrite rule of an application gateway.
  1597  type ApplicationGatewayRewriteRule struct {
  1598  	// Set of actions to be done as part of the rewrite Rule.
  1599  	ActionSet *ApplicationGatewayRewriteRuleActionSet
  1600  
  1601  	// Conditions based on which the action set execution will be evaluated.
  1602  	Conditions []*ApplicationGatewayRewriteRuleCondition
  1603  
  1604  	// Name of the rewrite rule that is unique within an Application Gateway.
  1605  	Name *string
  1606  
  1607  	// Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet.
  1608  	RuleSequence *int32
  1609  }
  1610  
  1611  // ApplicationGatewayRewriteRuleActionSet - Set of actions in the Rewrite Rule in Application Gateway.
  1612  type ApplicationGatewayRewriteRuleActionSet struct {
  1613  	// Request Header Actions in the Action Set.
  1614  	RequestHeaderConfigurations []*ApplicationGatewayHeaderConfiguration
  1615  
  1616  	// Response Header Actions in the Action Set.
  1617  	ResponseHeaderConfigurations []*ApplicationGatewayHeaderConfiguration
  1618  
  1619  	// Url Configuration Action in the Action Set.
  1620  	URLConfiguration *ApplicationGatewayURLConfiguration
  1621  }
  1622  
  1623  // ApplicationGatewayRewriteRuleCondition - Set of conditions in the Rewrite Rule in Application Gateway.
  1624  type ApplicationGatewayRewriteRuleCondition struct {
  1625  	// Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison.
  1626  	IgnoreCase *bool
  1627  
  1628  	// Setting this value as truth will force to check the negation of the condition given by the user.
  1629  	Negate *bool
  1630  
  1631  	// The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
  1632  	Pattern *string
  1633  
  1634  	// The condition parameter of the RewriteRuleCondition.
  1635  	Variable *string
  1636  }
  1637  
  1638  // ApplicationGatewayRewriteRuleSet - Rewrite rule set of an application gateway.
  1639  type ApplicationGatewayRewriteRuleSet struct {
  1640  	// Resource ID.
  1641  	ID *string
  1642  
  1643  	// Name of the rewrite rule set that is unique within an Application Gateway.
  1644  	Name *string
  1645  
  1646  	// Properties of the application gateway rewrite rule set.
  1647  	Properties *ApplicationGatewayRewriteRuleSetPropertiesFormat
  1648  
  1649  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1650  	Etag *string
  1651  }
  1652  
  1653  // ApplicationGatewayRewriteRuleSetPropertiesFormat - Properties of rewrite rule set of the application gateway.
  1654  type ApplicationGatewayRewriteRuleSetPropertiesFormat struct {
  1655  	// Rewrite rules in the rewrite rule set.
  1656  	RewriteRules []*ApplicationGatewayRewriteRule
  1657  
  1658  	// READ-ONLY; The provisioning state of the rewrite rule set resource.
  1659  	ProvisioningState *ProvisioningState
  1660  }
  1661  
  1662  // ApplicationGatewayRoutingRule - Routing rule of an application gateway.
  1663  type ApplicationGatewayRoutingRule struct {
  1664  	// Resource ID.
  1665  	ID *string
  1666  
  1667  	// Name of the routing rule that is unique within an Application Gateway.
  1668  	Name *string
  1669  
  1670  	// Properties of the application gateway routing rule.
  1671  	Properties *ApplicationGatewayRoutingRulePropertiesFormat
  1672  
  1673  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1674  	Etag *string
  1675  
  1676  	// READ-ONLY; Type of the resource.
  1677  	Type *string
  1678  }
  1679  
  1680  // ApplicationGatewayRoutingRulePropertiesFormat - Properties of routing rule of the application gateway.
  1681  type ApplicationGatewayRoutingRulePropertiesFormat struct {
  1682  	// REQUIRED; Priority of the routing rule.
  1683  	Priority *int32
  1684  
  1685  	// Backend address pool resource of the application gateway.
  1686  	BackendAddressPool *SubResource
  1687  
  1688  	// Backend settings resource of the application gateway.
  1689  	BackendSettings *SubResource
  1690  
  1691  	// Listener resource of the application gateway.
  1692  	Listener *SubResource
  1693  
  1694  	// Rule type.
  1695  	RuleType *ApplicationGatewayRequestRoutingRuleType
  1696  
  1697  	// READ-ONLY; The provisioning state of the request routing rule resource.
  1698  	ProvisioningState *ProvisioningState
  1699  }
  1700  
  1701  // ApplicationGatewaySKU - SKU of an application gateway.
  1702  type ApplicationGatewaySKU struct {
  1703  	// Capacity (instance count) of an application gateway.
  1704  	Capacity *int32
  1705  
  1706  	// Family of an application gateway SKU.
  1707  	Family *ApplicationGatewaySKUFamily
  1708  
  1709  	// Name of an application gateway SKU.
  1710  	Name *ApplicationGatewaySKUName
  1711  
  1712  	// Tier of an application gateway.
  1713  	Tier *ApplicationGatewayTier
  1714  }
  1715  
  1716  // ApplicationGatewaySSLCertificate - SSL certificates of an application gateway.
  1717  type ApplicationGatewaySSLCertificate struct {
  1718  	// Resource ID.
  1719  	ID *string
  1720  
  1721  	// Name of the SSL certificate that is unique within an Application Gateway.
  1722  	Name *string
  1723  
  1724  	// Properties of the application gateway SSL certificate.
  1725  	Properties *ApplicationGatewaySSLCertificatePropertiesFormat
  1726  
  1727  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1728  	Etag *string
  1729  
  1730  	// READ-ONLY; Type of the resource.
  1731  	Type *string
  1732  }
  1733  
  1734  // ApplicationGatewaySSLCertificatePropertiesFormat - Properties of SSL certificates of an application gateway.
  1735  type ApplicationGatewaySSLCertificatePropertiesFormat struct {
  1736  	// Base-64 encoded pfx certificate. Only applicable in PUT Request.
  1737  	Data *string
  1738  
  1739  	// Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault.
  1740  	KeyVaultSecretID *string
  1741  
  1742  	// Password for the pfx file specified in data. Only applicable in PUT request.
  1743  	Password *string
  1744  
  1745  	// READ-ONLY; The provisioning state of the SSL certificate resource.
  1746  	ProvisioningState *ProvisioningState
  1747  
  1748  	// READ-ONLY; Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request.
  1749  	PublicCertData *string
  1750  }
  1751  
  1752  // ApplicationGatewaySSLPolicy - Application Gateway Ssl policy.
  1753  type ApplicationGatewaySSLPolicy struct {
  1754  	// Ssl cipher suites to be enabled in the specified order to application gateway.
  1755  	CipherSuites []*ApplicationGatewaySSLCipherSuite
  1756  
  1757  	// Ssl protocols to be disabled on application gateway.
  1758  	DisabledSSLProtocols []*ApplicationGatewaySSLProtocol
  1759  
  1760  	// Minimum version of Ssl protocol to be supported on application gateway.
  1761  	MinProtocolVersion *ApplicationGatewaySSLProtocol
  1762  
  1763  	// Name of Ssl predefined policy.
  1764  	PolicyName *ApplicationGatewaySSLPolicyName
  1765  
  1766  	// Type of Ssl Policy.
  1767  	PolicyType *ApplicationGatewaySSLPolicyType
  1768  }
  1769  
  1770  // ApplicationGatewaySSLPredefinedPolicy - An Ssl predefined policy.
  1771  type ApplicationGatewaySSLPredefinedPolicy struct {
  1772  	// Resource ID.
  1773  	ID *string
  1774  
  1775  	// Name of the Ssl predefined policy.
  1776  	Name *string
  1777  
  1778  	// Properties of the application gateway SSL predefined policy.
  1779  	Properties *ApplicationGatewaySSLPredefinedPolicyPropertiesFormat
  1780  }
  1781  
  1782  // ApplicationGatewaySSLPredefinedPolicyPropertiesFormat - Properties of ApplicationGatewaySslPredefinedPolicy.
  1783  type ApplicationGatewaySSLPredefinedPolicyPropertiesFormat struct {
  1784  	// Ssl cipher suites to be enabled in the specified order for application gateway.
  1785  	CipherSuites []*ApplicationGatewaySSLCipherSuite
  1786  
  1787  	// Minimum version of Ssl protocol to be supported on application gateway.
  1788  	MinProtocolVersion *ApplicationGatewaySSLProtocol
  1789  }
  1790  
  1791  // ApplicationGatewaySSLProfile - SSL profile of an application gateway.
  1792  type ApplicationGatewaySSLProfile struct {
  1793  	// Resource ID.
  1794  	ID *string
  1795  
  1796  	// Name of the SSL profile that is unique within an Application Gateway.
  1797  	Name *string
  1798  
  1799  	// Properties of the application gateway SSL profile.
  1800  	Properties *ApplicationGatewaySSLProfilePropertiesFormat
  1801  
  1802  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1803  	Etag *string
  1804  
  1805  	// READ-ONLY; Type of the resource.
  1806  	Type *string
  1807  }
  1808  
  1809  // ApplicationGatewaySSLProfilePropertiesFormat - Properties of SSL profile of an application gateway.
  1810  type ApplicationGatewaySSLProfilePropertiesFormat struct {
  1811  	// Client authentication configuration of the application gateway resource.
  1812  	ClientAuthConfiguration *ApplicationGatewayClientAuthConfiguration
  1813  
  1814  	// SSL policy of the application gateway resource.
  1815  	SSLPolicy *ApplicationGatewaySSLPolicy
  1816  
  1817  	// Array of references to application gateway trusted client certificates.
  1818  	TrustedClientCertificates []*SubResource
  1819  
  1820  	// READ-ONLY; The provisioning state of the HTTP listener resource.
  1821  	ProvisioningState *ProvisioningState
  1822  }
  1823  
  1824  // ApplicationGatewayTrustedClientCertificate - Trusted client certificates of an application gateway.
  1825  type ApplicationGatewayTrustedClientCertificate struct {
  1826  	// Resource ID.
  1827  	ID *string
  1828  
  1829  	// Name of the trusted client certificate that is unique within an Application Gateway.
  1830  	Name *string
  1831  
  1832  	// Properties of the application gateway trusted client certificate.
  1833  	Properties *ApplicationGatewayTrustedClientCertificatePropertiesFormat
  1834  
  1835  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1836  	Etag *string
  1837  
  1838  	// READ-ONLY; Type of the resource.
  1839  	Type *string
  1840  }
  1841  
  1842  // ApplicationGatewayTrustedClientCertificatePropertiesFormat - Trusted client certificates properties of an application gateway.
  1843  type ApplicationGatewayTrustedClientCertificatePropertiesFormat struct {
  1844  	// Certificate public data.
  1845  	Data *string
  1846  
  1847  	// READ-ONLY; Distinguished name of client certificate issuer.
  1848  	ClientCertIssuerDN *string
  1849  
  1850  	// READ-ONLY; The provisioning state of the trusted client certificate resource.
  1851  	ProvisioningState *ProvisioningState
  1852  
  1853  	// READ-ONLY; Validated certificate data.
  1854  	ValidatedCertData *string
  1855  }
  1856  
  1857  // ApplicationGatewayTrustedRootCertificate - Trusted Root certificates of an application gateway.
  1858  type ApplicationGatewayTrustedRootCertificate struct {
  1859  	// Resource ID.
  1860  	ID *string
  1861  
  1862  	// Name of the trusted root certificate that is unique within an Application Gateway.
  1863  	Name *string
  1864  
  1865  	// Properties of the application gateway trusted root certificate.
  1866  	Properties *ApplicationGatewayTrustedRootCertificatePropertiesFormat
  1867  
  1868  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1869  	Etag *string
  1870  
  1871  	// READ-ONLY; Type of the resource.
  1872  	Type *string
  1873  }
  1874  
  1875  // ApplicationGatewayTrustedRootCertificatePropertiesFormat - Trusted Root certificates properties of an application gateway.
  1876  type ApplicationGatewayTrustedRootCertificatePropertiesFormat struct {
  1877  	// Certificate public data.
  1878  	Data *string
  1879  
  1880  	// Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault.
  1881  	KeyVaultSecretID *string
  1882  
  1883  	// READ-ONLY; The provisioning state of the trusted root certificate resource.
  1884  	ProvisioningState *ProvisioningState
  1885  }
  1886  
  1887  // ApplicationGatewayURLConfiguration - Url configuration of the Actions set in Application Gateway.
  1888  type ApplicationGatewayURLConfiguration struct {
  1889  	// Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null.
  1890  	ModifiedPath *string
  1891  
  1892  	// Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null.
  1893  	ModifiedQueryString *string
  1894  
  1895  	// If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path.
  1896  	// Default value is false.
  1897  	Reroute *bool
  1898  }
  1899  
  1900  // ApplicationGatewayURLPathMap - UrlPathMaps give a url path to the backend mapping information for PathBasedRouting.
  1901  type ApplicationGatewayURLPathMap struct {
  1902  	// Resource ID.
  1903  	ID *string
  1904  
  1905  	// Name of the URL path map that is unique within an Application Gateway.
  1906  	Name *string
  1907  
  1908  	// Properties of the application gateway URL path map.
  1909  	Properties *ApplicationGatewayURLPathMapPropertiesFormat
  1910  
  1911  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  1912  	Etag *string
  1913  
  1914  	// READ-ONLY; Type of the resource.
  1915  	Type *string
  1916  }
  1917  
  1918  // ApplicationGatewayURLPathMapPropertiesFormat - Properties of UrlPathMap of the application gateway.
  1919  type ApplicationGatewayURLPathMapPropertiesFormat struct {
  1920  	// Default backend address pool resource of URL path map.
  1921  	DefaultBackendAddressPool *SubResource
  1922  
  1923  	// Default backend http settings resource of URL path map.
  1924  	DefaultBackendHTTPSettings *SubResource
  1925  
  1926  	// Default Load Distribution Policy resource of URL path map.
  1927  	DefaultLoadDistributionPolicy *SubResource
  1928  
  1929  	// Default redirect configuration resource of URL path map.
  1930  	DefaultRedirectConfiguration *SubResource
  1931  
  1932  	// Default Rewrite rule set resource of URL path map.
  1933  	DefaultRewriteRuleSet *SubResource
  1934  
  1935  	// Path rule of URL path map resource.
  1936  	PathRules []*ApplicationGatewayPathRule
  1937  
  1938  	// READ-ONLY; The provisioning state of the URL path map resource.
  1939  	ProvisioningState *ProvisioningState
  1940  }
  1941  
  1942  // ApplicationGatewayWafDynamicManifestPropertiesResult - Properties of ApplicationGatewayWafDynamicManifest.
  1943  type ApplicationGatewayWafDynamicManifestPropertiesResult struct {
  1944  	// The available rulesets.
  1945  	AvailableRuleSets []*ApplicationGatewayFirewallManifestRuleSet
  1946  
  1947  	// The default ruleset.
  1948  	DefaultRuleSet *DefaultRuleSetPropertyFormat
  1949  }
  1950  
  1951  // ApplicationGatewayWafDynamicManifestResult - Response for ApplicationGatewayWafDynamicManifest API service call.
  1952  type ApplicationGatewayWafDynamicManifestResult struct {
  1953  	// Resource ID.
  1954  	ID *string
  1955  
  1956  	// Properties of the ApplicationGatewayWafDynamicManifest .
  1957  	Properties *ApplicationGatewayWafDynamicManifestPropertiesResult
  1958  
  1959  	// READ-ONLY; Resource name.
  1960  	Name *string
  1961  
  1962  	// READ-ONLY; Resource type.
  1963  	Type *string
  1964  }
  1965  
  1966  // ApplicationGatewayWafDynamicManifestResultList - Response for ApplicationGatewayWafDynamicManifests API service call.
  1967  type ApplicationGatewayWafDynamicManifestResultList struct {
  1968  	// URL to get the next set of results.
  1969  	NextLink *string
  1970  
  1971  	// The list of application gateway waf manifest.
  1972  	Value []*ApplicationGatewayWafDynamicManifestResult
  1973  }
  1974  
  1975  // ApplicationGatewayWebApplicationFirewallConfiguration - Application gateway web application firewall configuration.
  1976  type ApplicationGatewayWebApplicationFirewallConfiguration struct {
  1977  	// REQUIRED; Whether the web application firewall is enabled or not.
  1978  	Enabled *bool
  1979  
  1980  	// REQUIRED; Web application firewall mode.
  1981  	FirewallMode *ApplicationGatewayFirewallMode
  1982  
  1983  	// REQUIRED; The type of the web application firewall rule set. Possible values are: 'OWASP'.
  1984  	RuleSetType *string
  1985  
  1986  	// REQUIRED; The version of the rule set type.
  1987  	RuleSetVersion *string
  1988  
  1989  	// The disabled rule groups.
  1990  	DisabledRuleGroups []*ApplicationGatewayFirewallDisabledRuleGroup
  1991  
  1992  	// The exclusion list.
  1993  	Exclusions []*ApplicationGatewayFirewallExclusion
  1994  
  1995  	// Maximum file upload size in Mb for WAF.
  1996  	FileUploadLimitInMb *int32
  1997  
  1998  	// Maximum request body size for WAF.
  1999  	MaxRequestBodySize *int32
  2000  
  2001  	// Maximum request body size in Kb for WAF.
  2002  	MaxRequestBodySizeInKb *int32
  2003  
  2004  	// Whether allow WAF to check request Body.
  2005  	RequestBodyCheck *bool
  2006  }
  2007  
  2008  // ApplicationRule - Rule of type application.
  2009  type ApplicationRule struct {
  2010  	// REQUIRED; Rule Type.
  2011  	RuleType *FirewallPolicyRuleType
  2012  
  2013  	// Description of the rule.
  2014  	Description *string
  2015  
  2016  	// List of destination IP addresses or Service Tags.
  2017  	DestinationAddresses []*string
  2018  
  2019  	// List of FQDN Tags for this rule.
  2020  	FqdnTags []*string
  2021  
  2022  	// List of HTTP/S headers to insert.
  2023  	HTTPHeadersToInsert []*FirewallPolicyHTTPHeaderToInsert
  2024  
  2025  	// Name of the rule.
  2026  	Name *string
  2027  
  2028  	// Array of Application Protocols.
  2029  	Protocols []*FirewallPolicyRuleApplicationProtocol
  2030  
  2031  	// List of source IP addresses for this rule.
  2032  	SourceAddresses []*string
  2033  
  2034  	// List of source IpGroups for this rule.
  2035  	SourceIPGroups []*string
  2036  
  2037  	// List of FQDNs for this rule.
  2038  	TargetFqdns []*string
  2039  
  2040  	// List of Urls for this rule condition.
  2041  	TargetUrls []*string
  2042  
  2043  	// Terminate TLS connections for this rule.
  2044  	TerminateTLS *bool
  2045  
  2046  	// List of destination azure web categories.
  2047  	WebCategories []*string
  2048  }
  2049  
  2050  // GetFirewallPolicyRule implements the FirewallPolicyRuleClassification interface for type ApplicationRule.
  2051  func (a *ApplicationRule) GetFirewallPolicyRule() *FirewallPolicyRule {
  2052  	return &FirewallPolicyRule{
  2053  		Description: a.Description,
  2054  		Name:        a.Name,
  2055  		RuleType:    a.RuleType,
  2056  	}
  2057  }
  2058  
  2059  // ApplicationSecurityGroup - An application security group in a resource group.
  2060  type ApplicationSecurityGroup struct {
  2061  	// Resource ID.
  2062  	ID *string
  2063  
  2064  	// Resource location.
  2065  	Location *string
  2066  
  2067  	// Properties of the application security group.
  2068  	Properties *ApplicationSecurityGroupPropertiesFormat
  2069  
  2070  	// Resource tags.
  2071  	Tags map[string]*string
  2072  
  2073  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2074  	Etag *string
  2075  
  2076  	// READ-ONLY; Resource name.
  2077  	Name *string
  2078  
  2079  	// READ-ONLY; Resource type.
  2080  	Type *string
  2081  }
  2082  
  2083  // ApplicationSecurityGroupListResult - A list of application security groups.
  2084  type ApplicationSecurityGroupListResult struct {
  2085  	// A list of application security groups.
  2086  	Value []*ApplicationSecurityGroup
  2087  
  2088  	// READ-ONLY; The URL to get the next set of results.
  2089  	NextLink *string
  2090  }
  2091  
  2092  // ApplicationSecurityGroupPropertiesFormat - Application security group properties.
  2093  type ApplicationSecurityGroupPropertiesFormat struct {
  2094  	// READ-ONLY; The provisioning state of the application security group resource.
  2095  	ProvisioningState *ProvisioningState
  2096  
  2097  	// READ-ONLY; The resource GUID property of the application security group resource. It uniquely identifies a resource, even
  2098  	// if the user changes its name or migrate the resource across subscriptions or resource
  2099  	// groups.
  2100  	ResourceGUID *string
  2101  }
  2102  
  2103  // AuthorizationListResult - Response for ListAuthorizations API service call retrieves all authorizations that belongs to
  2104  // an ExpressRouteCircuit.
  2105  type AuthorizationListResult struct {
  2106  	// The URL to get the next set of results.
  2107  	NextLink *string
  2108  
  2109  	// The authorizations in an ExpressRoute Circuit.
  2110  	Value []*ExpressRouteCircuitAuthorization
  2111  }
  2112  
  2113  // AuthorizationPropertiesFormat - Properties of ExpressRouteCircuitAuthorization.
  2114  type AuthorizationPropertiesFormat struct {
  2115  	// The authorization key.
  2116  	AuthorizationKey *string
  2117  
  2118  	// The authorization use status.
  2119  	AuthorizationUseStatus *AuthorizationUseStatus
  2120  
  2121  	// READ-ONLY; The reference to the ExpressRoute connection resource using the authorization.
  2122  	ConnectionResourceURI *string
  2123  
  2124  	// READ-ONLY; The provisioning state of the authorization resource.
  2125  	ProvisioningState *ProvisioningState
  2126  }
  2127  
  2128  // AutoApprovedPrivateLinkService - The information of an AutoApprovedPrivateLinkService.
  2129  type AutoApprovedPrivateLinkService struct {
  2130  	// The id of the private link service resource.
  2131  	PrivateLinkService *string
  2132  }
  2133  
  2134  // AutoApprovedPrivateLinkServicesResult - An array of private link service id that can be linked to a private end point with
  2135  // auto approved.
  2136  type AutoApprovedPrivateLinkServicesResult struct {
  2137  	// An array of auto approved private link service.
  2138  	Value []*AutoApprovedPrivateLinkService
  2139  
  2140  	// READ-ONLY; The URL to get the next set of results.
  2141  	NextLink *string
  2142  }
  2143  
  2144  // Availability of the metric.
  2145  type Availability struct {
  2146  	// Duration of the availability blob.
  2147  	BlobDuration *string
  2148  
  2149  	// The retention of the availability.
  2150  	Retention *string
  2151  
  2152  	// The time grain of the availability.
  2153  	TimeGrain *string
  2154  }
  2155  
  2156  // AvailableDelegation - The serviceName of an AvailableDelegation indicates a possible delegation for a subnet.
  2157  type AvailableDelegation struct {
  2158  	// The actions permitted to the service upon delegation.
  2159  	Actions []*string
  2160  
  2161  	// A unique identifier of the AvailableDelegation resource.
  2162  	ID *string
  2163  
  2164  	// The name of the AvailableDelegation resource.
  2165  	Name *string
  2166  
  2167  	// The name of the service and resource.
  2168  	ServiceName *string
  2169  
  2170  	// Resource type.
  2171  	Type *string
  2172  }
  2173  
  2174  // AvailableDelegationsResult - An array of available delegations.
  2175  type AvailableDelegationsResult struct {
  2176  	// An array of available delegations.
  2177  	Value []*AvailableDelegation
  2178  
  2179  	// READ-ONLY; The URL to get the next set of results.
  2180  	NextLink *string
  2181  }
  2182  
  2183  // AvailablePrivateEndpointType - The information of an AvailablePrivateEndpointType.
  2184  type AvailablePrivateEndpointType struct {
  2185  	// Display name of the resource.
  2186  	DisplayName *string
  2187  
  2188  	// A unique identifier of the AvailablePrivateEndpoint Type resource.
  2189  	ID *string
  2190  
  2191  	// The name of the service and resource.
  2192  	Name *string
  2193  
  2194  	// The name of the service and resource.
  2195  	ResourceName *string
  2196  
  2197  	// Resource type.
  2198  	Type *string
  2199  }
  2200  
  2201  // AvailablePrivateEndpointTypesResult - An array of available PrivateEndpoint types.
  2202  type AvailablePrivateEndpointTypesResult struct {
  2203  	// An array of available privateEndpoint type.
  2204  	Value []*AvailablePrivateEndpointType
  2205  
  2206  	// READ-ONLY; The URL to get the next set of results.
  2207  	NextLink *string
  2208  }
  2209  
  2210  // AvailableProvidersList - List of available countries with details.
  2211  type AvailableProvidersList struct {
  2212  	// REQUIRED; List of available countries.
  2213  	Countries []*AvailableProvidersListCountry
  2214  }
  2215  
  2216  // AvailableProvidersListCity - City or town details.
  2217  type AvailableProvidersListCity struct {
  2218  	// The city or town name.
  2219  	CityName *string
  2220  
  2221  	// A list of Internet service providers.
  2222  	Providers []*string
  2223  }
  2224  
  2225  // AvailableProvidersListCountry - Country details.
  2226  type AvailableProvidersListCountry struct {
  2227  	// The country name.
  2228  	CountryName *string
  2229  
  2230  	// A list of Internet service providers.
  2231  	Providers []*string
  2232  
  2233  	// List of available states in the country.
  2234  	States []*AvailableProvidersListState
  2235  }
  2236  
  2237  // AvailableProvidersListParameters - Constraints that determine the list of available Internet service providers.
  2238  type AvailableProvidersListParameters struct {
  2239  	// A list of Azure regions.
  2240  	AzureLocations []*string
  2241  
  2242  	// The city or town for available providers list.
  2243  	City *string
  2244  
  2245  	// The country for available providers list.
  2246  	Country *string
  2247  
  2248  	// The state for available providers list.
  2249  	State *string
  2250  }
  2251  
  2252  // AvailableProvidersListState - State details.
  2253  type AvailableProvidersListState struct {
  2254  	// List of available cities or towns in the state.
  2255  	Cities []*AvailableProvidersListCity
  2256  
  2257  	// A list of Internet service providers.
  2258  	Providers []*string
  2259  
  2260  	// The state name.
  2261  	StateName *string
  2262  }
  2263  
  2264  // AvailableServiceAlias - The available service alias.
  2265  type AvailableServiceAlias struct {
  2266  	// The ID of the service alias.
  2267  	ID *string
  2268  
  2269  	// The name of the service alias.
  2270  	Name *string
  2271  
  2272  	// The resource name of the service alias.
  2273  	ResourceName *string
  2274  
  2275  	// The type of the resource.
  2276  	Type *string
  2277  }
  2278  
  2279  // AvailableServiceAliasesResult - An array of available service aliases.
  2280  type AvailableServiceAliasesResult struct {
  2281  	// An array of available service aliases.
  2282  	Value []*AvailableServiceAlias
  2283  
  2284  	// READ-ONLY; The URL to get the next set of results.
  2285  	NextLink *string
  2286  }
  2287  
  2288  // AzureAsyncOperationResult - The response body contains the status of the specified asynchronous operation, indicating whether
  2289  // it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP
  2290  // status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response
  2291  // body includes the HTTP status code for the successful request. If the
  2292  // asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information
  2293  // regarding the failure.
  2294  type AzureAsyncOperationResult struct {
  2295  	// Details of the error occurred during specified asynchronous operation.
  2296  	Error *Error
  2297  
  2298  	// Status of the Azure async operation.
  2299  	Status *NetworkOperationStatus
  2300  }
  2301  
  2302  // AzureFirewall - Azure Firewall resource.
  2303  type AzureFirewall struct {
  2304  	// Resource ID.
  2305  	ID *string
  2306  
  2307  	// Resource location.
  2308  	Location *string
  2309  
  2310  	// Properties of the azure firewall.
  2311  	Properties *AzureFirewallPropertiesFormat
  2312  
  2313  	// Resource tags.
  2314  	Tags map[string]*string
  2315  
  2316  	// A list of availability zones denoting where the resource needs to come from.
  2317  	Zones []*string
  2318  
  2319  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2320  	Etag *string
  2321  
  2322  	// READ-ONLY; Resource name.
  2323  	Name *string
  2324  
  2325  	// READ-ONLY; Resource type.
  2326  	Type *string
  2327  }
  2328  
  2329  // AzureFirewallApplicationRule - Properties of an application rule.
  2330  type AzureFirewallApplicationRule struct {
  2331  	// Description of the rule.
  2332  	Description *string
  2333  
  2334  	// List of FQDN Tags for this rule.
  2335  	FqdnTags []*string
  2336  
  2337  	// Name of the application rule.
  2338  	Name *string
  2339  
  2340  	// Array of ApplicationRuleProtocols.
  2341  	Protocols []*AzureFirewallApplicationRuleProtocol
  2342  
  2343  	// List of source IP addresses for this rule.
  2344  	SourceAddresses []*string
  2345  
  2346  	// List of source IpGroups for this rule.
  2347  	SourceIPGroups []*string
  2348  
  2349  	// List of FQDNs for this rule.
  2350  	TargetFqdns []*string
  2351  }
  2352  
  2353  // AzureFirewallApplicationRuleCollection - Application rule collection resource.
  2354  type AzureFirewallApplicationRuleCollection struct {
  2355  	// Resource ID.
  2356  	ID *string
  2357  
  2358  	// The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.
  2359  	Name *string
  2360  
  2361  	// Properties of the azure firewall application rule collection.
  2362  	Properties *AzureFirewallApplicationRuleCollectionPropertiesFormat
  2363  
  2364  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2365  	Etag *string
  2366  }
  2367  
  2368  // AzureFirewallApplicationRuleCollectionPropertiesFormat - Properties of the application rule collection.
  2369  type AzureFirewallApplicationRuleCollectionPropertiesFormat struct {
  2370  	// The action type of a rule collection.
  2371  	Action *AzureFirewallRCAction
  2372  
  2373  	// Priority of the application rule collection resource.
  2374  	Priority *int32
  2375  
  2376  	// Collection of rules used by a application rule collection.
  2377  	Rules []*AzureFirewallApplicationRule
  2378  
  2379  	// READ-ONLY; The provisioning state of the application rule collection resource.
  2380  	ProvisioningState *ProvisioningState
  2381  }
  2382  
  2383  // AzureFirewallApplicationRuleProtocol - Properties of the application rule protocol.
  2384  type AzureFirewallApplicationRuleProtocol struct {
  2385  	// Port number for the protocol, cannot be greater than 64000. This field is optional.
  2386  	Port *int32
  2387  
  2388  	// Protocol type.
  2389  	ProtocolType *AzureFirewallApplicationRuleProtocolType
  2390  }
  2391  
  2392  // AzureFirewallAutoscaleConfiguration - Azure Firewall Autoscale Configuration parameters.
  2393  type AzureFirewallAutoscaleConfiguration struct {
  2394  	// The maximum number of capacity units for this azure firewall. Use null to reset the value to the service default.
  2395  	MaxCapacity *int32
  2396  
  2397  	// The minimum number of capacity units for this azure firewall. Use null to reset the value to the service default.
  2398  	MinCapacity *int32
  2399  }
  2400  
  2401  // AzureFirewallFqdnTag - Azure Firewall FQDN Tag Resource.
  2402  type AzureFirewallFqdnTag struct {
  2403  	// Resource ID.
  2404  	ID *string
  2405  
  2406  	// Resource location.
  2407  	Location *string
  2408  
  2409  	// Properties of the azure firewall FQDN tag.
  2410  	Properties *AzureFirewallFqdnTagPropertiesFormat
  2411  
  2412  	// Resource tags.
  2413  	Tags map[string]*string
  2414  
  2415  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2416  	Etag *string
  2417  
  2418  	// READ-ONLY; Resource name.
  2419  	Name *string
  2420  
  2421  	// READ-ONLY; Resource type.
  2422  	Type *string
  2423  }
  2424  
  2425  // AzureFirewallFqdnTagListResult - Response for ListAzureFirewallFqdnTags API service call.
  2426  type AzureFirewallFqdnTagListResult struct {
  2427  	// URL to get the next set of results.
  2428  	NextLink *string
  2429  
  2430  	// List of Azure Firewall FQDN Tags in a resource group.
  2431  	Value []*AzureFirewallFqdnTag
  2432  }
  2433  
  2434  // AzureFirewallFqdnTagPropertiesFormat - Azure Firewall FQDN Tag Properties.
  2435  type AzureFirewallFqdnTagPropertiesFormat struct {
  2436  	// READ-ONLY; The name of this FQDN Tag.
  2437  	FqdnTagName *string
  2438  
  2439  	// READ-ONLY; The provisioning state of the Azure firewall FQDN tag resource.
  2440  	ProvisioningState *ProvisioningState
  2441  }
  2442  
  2443  // AzureFirewallIPConfiguration - IP configuration of an Azure Firewall.
  2444  type AzureFirewallIPConfiguration struct {
  2445  	// Resource ID.
  2446  	ID *string
  2447  
  2448  	// Name of the resource that is unique within a resource group. This name can be used to access the resource.
  2449  	Name *string
  2450  
  2451  	// Properties of the azure firewall IP configuration.
  2452  	Properties *AzureFirewallIPConfigurationPropertiesFormat
  2453  
  2454  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2455  	Etag *string
  2456  
  2457  	// READ-ONLY; Type of the resource.
  2458  	Type *string
  2459  }
  2460  
  2461  // AzureFirewallIPConfigurationPropertiesFormat - Properties of IP configuration of an Azure Firewall.
  2462  type AzureFirewallIPConfigurationPropertiesFormat struct {
  2463  	// Reference to the PublicIP resource. This field is a mandatory input if subnet is not null.
  2464  	PublicIPAddress *SubResource
  2465  
  2466  	// Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'.
  2467  	Subnet *SubResource
  2468  
  2469  	// READ-ONLY; The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes.
  2470  	PrivateIPAddress *string
  2471  
  2472  	// READ-ONLY; The provisioning state of the Azure firewall IP configuration resource.
  2473  	ProvisioningState *ProvisioningState
  2474  }
  2475  
  2476  // AzureFirewallIPGroups - IpGroups associated with azure firewall.
  2477  type AzureFirewallIPGroups struct {
  2478  	// READ-ONLY; The iteration number.
  2479  	ChangeNumber *string
  2480  
  2481  	// READ-ONLY; Resource ID.
  2482  	ID *string
  2483  }
  2484  
  2485  // AzureFirewallListResult - Response for ListAzureFirewalls API service call.
  2486  type AzureFirewallListResult struct {
  2487  	// URL to get the next set of results.
  2488  	NextLink *string
  2489  
  2490  	// List of Azure Firewalls in a resource group.
  2491  	Value []*AzureFirewall
  2492  }
  2493  
  2494  // AzureFirewallNatRCAction - AzureFirewall NAT Rule Collection Action.
  2495  type AzureFirewallNatRCAction struct {
  2496  	// The type of action.
  2497  	Type *AzureFirewallNatRCActionType
  2498  }
  2499  
  2500  // AzureFirewallNatRule - Properties of a NAT rule.
  2501  type AzureFirewallNatRule struct {
  2502  	// Description of the rule.
  2503  	Description *string
  2504  
  2505  	// List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags.
  2506  	DestinationAddresses []*string
  2507  
  2508  	// List of destination ports.
  2509  	DestinationPorts []*string
  2510  
  2511  	// Name of the NAT rule.
  2512  	Name *string
  2513  
  2514  	// Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule.
  2515  	Protocols []*AzureFirewallNetworkRuleProtocol
  2516  
  2517  	// List of source IP addresses for this rule.
  2518  	SourceAddresses []*string
  2519  
  2520  	// List of source IpGroups for this rule.
  2521  	SourceIPGroups []*string
  2522  
  2523  	// The translated address for this NAT rule.
  2524  	TranslatedAddress *string
  2525  
  2526  	// The translated FQDN for this NAT rule.
  2527  	TranslatedFqdn *string
  2528  
  2529  	// The translated port for this NAT rule.
  2530  	TranslatedPort *string
  2531  }
  2532  
  2533  // AzureFirewallNatRuleCollection - NAT rule collection resource.
  2534  type AzureFirewallNatRuleCollection struct {
  2535  	// Resource ID.
  2536  	ID *string
  2537  
  2538  	// The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.
  2539  	Name *string
  2540  
  2541  	// Properties of the azure firewall NAT rule collection.
  2542  	Properties *AzureFirewallNatRuleCollectionProperties
  2543  
  2544  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2545  	Etag *string
  2546  }
  2547  
  2548  // AzureFirewallNatRuleCollectionProperties - Properties of the NAT rule collection.
  2549  type AzureFirewallNatRuleCollectionProperties struct {
  2550  	// The action type of a NAT rule collection.
  2551  	Action *AzureFirewallNatRCAction
  2552  
  2553  	// Priority of the NAT rule collection resource.
  2554  	Priority *int32
  2555  
  2556  	// Collection of rules used by a NAT rule collection.
  2557  	Rules []*AzureFirewallNatRule
  2558  
  2559  	// READ-ONLY; The provisioning state of the NAT rule collection resource.
  2560  	ProvisioningState *ProvisioningState
  2561  }
  2562  
  2563  // AzureFirewallNetworkRule - Properties of the network rule.
  2564  type AzureFirewallNetworkRule struct {
  2565  	// Description of the rule.
  2566  	Description *string
  2567  
  2568  	// List of destination IP addresses.
  2569  	DestinationAddresses []*string
  2570  
  2571  	// List of destination FQDNs.
  2572  	DestinationFqdns []*string
  2573  
  2574  	// List of destination IpGroups for this rule.
  2575  	DestinationIPGroups []*string
  2576  
  2577  	// List of destination ports.
  2578  	DestinationPorts []*string
  2579  
  2580  	// Name of the network rule.
  2581  	Name *string
  2582  
  2583  	// Array of AzureFirewallNetworkRuleProtocols.
  2584  	Protocols []*AzureFirewallNetworkRuleProtocol
  2585  
  2586  	// List of source IP addresses for this rule.
  2587  	SourceAddresses []*string
  2588  
  2589  	// List of source IpGroups for this rule.
  2590  	SourceIPGroups []*string
  2591  }
  2592  
  2593  // AzureFirewallNetworkRuleCollection - Network rule collection resource.
  2594  type AzureFirewallNetworkRuleCollection struct {
  2595  	// Resource ID.
  2596  	ID *string
  2597  
  2598  	// The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.
  2599  	Name *string
  2600  
  2601  	// Properties of the azure firewall network rule collection.
  2602  	Properties *AzureFirewallNetworkRuleCollectionPropertiesFormat
  2603  
  2604  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2605  	Etag *string
  2606  }
  2607  
  2608  // AzureFirewallNetworkRuleCollectionPropertiesFormat - Properties of the network rule collection.
  2609  type AzureFirewallNetworkRuleCollectionPropertiesFormat struct {
  2610  	// The action type of a rule collection.
  2611  	Action *AzureFirewallRCAction
  2612  
  2613  	// Priority of the network rule collection resource.
  2614  	Priority *int32
  2615  
  2616  	// Collection of rules used by a network rule collection.
  2617  	Rules []*AzureFirewallNetworkRule
  2618  
  2619  	// READ-ONLY; The provisioning state of the network rule collection resource.
  2620  	ProvisioningState *ProvisioningState
  2621  }
  2622  
  2623  // AzureFirewallPacketCaptureFlags - Properties of the AzureFirewallRCAction.
  2624  type AzureFirewallPacketCaptureFlags struct {
  2625  	// Flags to capture
  2626  	Type *AzureFirewallPacketCaptureFlagsType
  2627  }
  2628  
  2629  // AzureFirewallPacketCaptureRule - Group of src/dest ips and ports to be captured.
  2630  type AzureFirewallPacketCaptureRule struct {
  2631  	// List of ports to be captured.
  2632  	DestinationPorts []*string
  2633  
  2634  	// List of destination IP addresses/subnets to be captured.
  2635  	Destinations []*string
  2636  
  2637  	// List of source IP addresses/subnets to be captured.
  2638  	Sources []*string
  2639  }
  2640  
  2641  // AzureFirewallPropertiesFormat - Properties of the Azure Firewall.
  2642  type AzureFirewallPropertiesFormat struct {
  2643  	// The additional properties used to further config this azure firewall.
  2644  	AdditionalProperties map[string]*string
  2645  
  2646  	// Collection of application rule collections used by Azure Firewall.
  2647  	ApplicationRuleCollections []*AzureFirewallApplicationRuleCollection
  2648  
  2649  	// Properties to provide a custom autoscale configuration to this azure firewall.
  2650  	AutoscaleConfiguration *AzureFirewallAutoscaleConfiguration
  2651  
  2652  	// The firewallPolicy associated with this azure firewall.
  2653  	FirewallPolicy *SubResource
  2654  
  2655  	// IP addresses associated with AzureFirewall.
  2656  	HubIPAddresses *HubIPAddresses
  2657  
  2658  	// IP configuration of the Azure Firewall resource.
  2659  	IPConfigurations []*AzureFirewallIPConfiguration
  2660  
  2661  	// IP configuration of the Azure Firewall used for management traffic.
  2662  	ManagementIPConfiguration *AzureFirewallIPConfiguration
  2663  
  2664  	// Collection of NAT rule collections used by Azure Firewall.
  2665  	NatRuleCollections []*AzureFirewallNatRuleCollection
  2666  
  2667  	// Collection of network rule collections used by Azure Firewall.
  2668  	NetworkRuleCollections []*AzureFirewallNetworkRuleCollection
  2669  
  2670  	// The Azure Firewall Resource SKU.
  2671  	SKU *AzureFirewallSKU
  2672  
  2673  	// The operation mode for Threat Intelligence.
  2674  	ThreatIntelMode *AzureFirewallThreatIntelMode
  2675  
  2676  	// The virtualHub to which the firewall belongs.
  2677  	VirtualHub *SubResource
  2678  
  2679  	// READ-ONLY; IpGroups associated with AzureFirewall.
  2680  	IPGroups []*AzureFirewallIPGroups
  2681  
  2682  	// READ-ONLY; The provisioning state of the Azure firewall resource.
  2683  	ProvisioningState *ProvisioningState
  2684  }
  2685  
  2686  // AzureFirewallPublicIPAddress - Public IP Address associated with azure firewall.
  2687  type AzureFirewallPublicIPAddress struct {
  2688  	// Public IP Address value.
  2689  	Address *string
  2690  }
  2691  
  2692  // AzureFirewallRCAction - Properties of the AzureFirewallRCAction.
  2693  type AzureFirewallRCAction struct {
  2694  	// The type of action.
  2695  	Type *AzureFirewallRCActionType
  2696  }
  2697  
  2698  // AzureFirewallSKU - SKU of an Azure Firewall.
  2699  type AzureFirewallSKU struct {
  2700  	// Name of an Azure Firewall SKU.
  2701  	Name *AzureFirewallSKUName
  2702  
  2703  	// Tier of an Azure Firewall.
  2704  	Tier *AzureFirewallSKUTier
  2705  }
  2706  
  2707  // AzureReachabilityReport - Azure reachability report details.
  2708  type AzureReachabilityReport struct {
  2709  	// REQUIRED; The aggregation level of Azure reachability report. Can be Country, State or City.
  2710  	AggregationLevel *string
  2711  
  2712  	// REQUIRED; Parameters that define a geographic location.
  2713  	ProviderLocation *AzureReachabilityReportLocation
  2714  
  2715  	// REQUIRED; List of Azure reachability report items.
  2716  	ReachabilityReport []*AzureReachabilityReportItem
  2717  }
  2718  
  2719  // AzureReachabilityReportItem - Azure reachability report details for a given provider location.
  2720  type AzureReachabilityReportItem struct {
  2721  	// The Azure region.
  2722  	AzureLocation *string
  2723  
  2724  	// List of latency details for each of the time series.
  2725  	Latencies []*AzureReachabilityReportLatencyInfo
  2726  
  2727  	// The Internet service provider.
  2728  	Provider *string
  2729  }
  2730  
  2731  // AzureReachabilityReportLatencyInfo - Details on latency for a time series.
  2732  type AzureReachabilityReportLatencyInfo struct {
  2733  	// The relative latency score between 1 and 100, higher values indicating a faster connection.
  2734  	Score *int32
  2735  
  2736  	// The time stamp.
  2737  	TimeStamp *time.Time
  2738  }
  2739  
  2740  // AzureReachabilityReportLocation - Parameters that define a geographic location.
  2741  type AzureReachabilityReportLocation struct {
  2742  	// REQUIRED; The name of the country.
  2743  	Country *string
  2744  
  2745  	// The name of the city or town.
  2746  	City *string
  2747  
  2748  	// The name of the state.
  2749  	State *string
  2750  }
  2751  
  2752  // AzureReachabilityReportParameters - Geographic and time constraints for Azure reachability report.
  2753  type AzureReachabilityReportParameters struct {
  2754  	// REQUIRED; The end time for the Azure reachability report.
  2755  	EndTime *time.Time
  2756  
  2757  	// REQUIRED; Parameters that define a geographic location.
  2758  	ProviderLocation *AzureReachabilityReportLocation
  2759  
  2760  	// REQUIRED; The start time for the Azure reachability report.
  2761  	StartTime *time.Time
  2762  
  2763  	// Optional Azure regions to scope the query to.
  2764  	AzureLocations []*string
  2765  
  2766  	// List of Internet service providers.
  2767  	Providers []*string
  2768  }
  2769  
  2770  // AzureWebCategory - Azure Web Category Resource.
  2771  type AzureWebCategory struct {
  2772  	// Resource ID.
  2773  	ID *string
  2774  
  2775  	// Properties of the Azure Web Category.
  2776  	Properties *AzureWebCategoryPropertiesFormat
  2777  
  2778  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2779  	Etag *string
  2780  
  2781  	// READ-ONLY; Resource name.
  2782  	Name *string
  2783  
  2784  	// READ-ONLY; Resource type.
  2785  	Type *string
  2786  }
  2787  
  2788  // AzureWebCategoryListResult - Response for ListAzureWebCategories API service call.
  2789  type AzureWebCategoryListResult struct {
  2790  	// URL to get the next set of results.
  2791  	NextLink *string
  2792  
  2793  	// List of Azure Web Categories for a given Subscription.
  2794  	Value []*AzureWebCategory
  2795  }
  2796  
  2797  // AzureWebCategoryPropertiesFormat - Azure Web Category Properties.
  2798  type AzureWebCategoryPropertiesFormat struct {
  2799  	// READ-ONLY; The name of the group that the category belongs to.
  2800  	Group *string
  2801  }
  2802  
  2803  // BGPCommunity - Contains bgp community information offered in Service Community resources.
  2804  type BGPCommunity struct {
  2805  	// The name of the bgp community. e.g. Skype.
  2806  	CommunityName *string
  2807  
  2808  	// The prefixes that the bgp community contains.
  2809  	CommunityPrefixes []*string
  2810  
  2811  	// The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing.
  2812  	CommunityValue *string
  2813  
  2814  	// Customer is authorized to use bgp community or not.
  2815  	IsAuthorizedToUse *bool
  2816  
  2817  	// The service group of the bgp community contains.
  2818  	ServiceGroup *string
  2819  
  2820  	// The region which the service support. e.g. For O365, region is Global.
  2821  	ServiceSupportedRegion *string
  2822  }
  2823  
  2824  // BackendAddressInboundNatRulePortMappings - The response for a QueryInboundNatRulePortMapping API.
  2825  type BackendAddressInboundNatRulePortMappings struct {
  2826  	// Collection of inbound NAT rule port mappings.
  2827  	InboundNatRulePortMappings []*InboundNatRulePortMapping
  2828  }
  2829  
  2830  // BackendAddressPool - Pool of backend IP addresses.
  2831  type BackendAddressPool struct {
  2832  	// Resource ID.
  2833  	ID *string
  2834  
  2835  	// The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can
  2836  	// be used to access the resource.
  2837  	Name *string
  2838  
  2839  	// Properties of load balancer backend address pool.
  2840  	Properties *BackendAddressPoolPropertiesFormat
  2841  
  2842  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2843  	Etag *string
  2844  
  2845  	// READ-ONLY; Type of the resource.
  2846  	Type *string
  2847  }
  2848  
  2849  // BackendAddressPoolPropertiesFormat - Properties of the backend address pool.
  2850  type BackendAddressPoolPropertiesFormat struct {
  2851  	// Amount of seconds Load Balancer waits for before sending RESET to client and backend address.
  2852  	DrainPeriodInSeconds *int32
  2853  
  2854  	// An array of backend addresses.
  2855  	LoadBalancerBackendAddresses []*LoadBalancerBackendAddress
  2856  
  2857  	// The location of the backend address pool.
  2858  	Location *string
  2859  
  2860  	// Backend address synchronous mode for the backend pool
  2861  	SyncMode *SyncMode
  2862  
  2863  	// An array of gateway load balancer tunnel interfaces.
  2864  	TunnelInterfaces []*GatewayLoadBalancerTunnelInterface
  2865  
  2866  	// A reference to a virtual network.
  2867  	VirtualNetwork *SubResource
  2868  
  2869  	// READ-ONLY; An array of references to IP addresses defined in network interfaces.
  2870  	BackendIPConfigurations []*InterfaceIPConfiguration
  2871  
  2872  	// READ-ONLY; An array of references to inbound NAT rules that use this backend address pool.
  2873  	InboundNatRules []*SubResource
  2874  
  2875  	// READ-ONLY; An array of references to load balancing rules that use this backend address pool.
  2876  	LoadBalancingRules []*SubResource
  2877  
  2878  	// READ-ONLY; A reference to an outbound rule that uses this backend address pool.
  2879  	OutboundRule *SubResource
  2880  
  2881  	// READ-ONLY; An array of references to outbound rules that use this backend address pool.
  2882  	OutboundRules []*SubResource
  2883  
  2884  	// READ-ONLY; The provisioning state of the backend address pool resource.
  2885  	ProvisioningState *ProvisioningState
  2886  }
  2887  
  2888  // BaseAdminRule - Network base admin rule.
  2889  type BaseAdminRule struct {
  2890  	// REQUIRED; Whether the rule is custom or default.
  2891  	Kind *AdminRuleKind
  2892  
  2893  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2894  	Etag *string
  2895  
  2896  	// READ-ONLY; Resource ID.
  2897  	ID *string
  2898  
  2899  	// READ-ONLY; Resource name.
  2900  	Name *string
  2901  
  2902  	// READ-ONLY; The system metadata related to this resource.
  2903  	SystemData *SystemData
  2904  
  2905  	// READ-ONLY; Resource type.
  2906  	Type *string
  2907  }
  2908  
  2909  // GetBaseAdminRule implements the BaseAdminRuleClassification interface for type BaseAdminRule.
  2910  func (b *BaseAdminRule) GetBaseAdminRule() *BaseAdminRule { return b }
  2911  
  2912  // BastionActiveSession - The session detail for a target.
  2913  type BastionActiveSession struct {
  2914  	// READ-ONLY; The protocol used to connect to the target.
  2915  	Protocol *BastionConnectProtocol
  2916  
  2917  	// READ-ONLY; The type of the resource.
  2918  	ResourceType *string
  2919  
  2920  	// READ-ONLY; Duration in mins the session has been active.
  2921  	SessionDurationInMins *float32
  2922  
  2923  	// READ-ONLY; A unique id for the session.
  2924  	SessionID *string
  2925  
  2926  	// READ-ONLY; The time when the session started.
  2927  	StartTime any
  2928  
  2929  	// READ-ONLY; The host name of the target.
  2930  	TargetHostName *string
  2931  
  2932  	// READ-ONLY; The IP Address of the target.
  2933  	TargetIPAddress *string
  2934  
  2935  	// READ-ONLY; The resource group of the target.
  2936  	TargetResourceGroup *string
  2937  
  2938  	// READ-ONLY; The resource id of the target.
  2939  	TargetResourceID *string
  2940  
  2941  	// READ-ONLY; The subscription id for the target virtual machine.
  2942  	TargetSubscriptionID *string
  2943  
  2944  	// READ-ONLY; The user name who is active on this session.
  2945  	UserName *string
  2946  }
  2947  
  2948  // BastionActiveSessionListResult - Response for GetActiveSessions.
  2949  type BastionActiveSessionListResult struct {
  2950  	// The URL to get the next set of results.
  2951  	NextLink *string
  2952  
  2953  	// List of active sessions on the bastion.
  2954  	Value []*BastionActiveSession
  2955  }
  2956  
  2957  // BastionHost - Bastion Host resource.
  2958  type BastionHost struct {
  2959  	// Resource ID.
  2960  	ID *string
  2961  
  2962  	// Resource location.
  2963  	Location *string
  2964  
  2965  	// Represents the bastion host resource.
  2966  	Properties *BastionHostPropertiesFormat
  2967  
  2968  	// The sku of this Bastion Host.
  2969  	SKU *SKU
  2970  
  2971  	// Resource tags.
  2972  	Tags map[string]*string
  2973  
  2974  	// A list of availability zones denoting where the resource needs to come from.
  2975  	Zones []*string
  2976  
  2977  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2978  	Etag *string
  2979  
  2980  	// READ-ONLY; Resource name.
  2981  	Name *string
  2982  
  2983  	// READ-ONLY; Resource type.
  2984  	Type *string
  2985  }
  2986  
  2987  // BastionHostIPConfiguration - IP configuration of an Bastion Host.
  2988  type BastionHostIPConfiguration struct {
  2989  	// Resource ID.
  2990  	ID *string
  2991  
  2992  	// Name of the resource that is unique within a resource group. This name can be used to access the resource.
  2993  	Name *string
  2994  
  2995  	// Represents the ip configuration associated with the resource.
  2996  	Properties *BastionHostIPConfigurationPropertiesFormat
  2997  
  2998  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  2999  	Etag *string
  3000  
  3001  	// READ-ONLY; Ip configuration type.
  3002  	Type *string
  3003  }
  3004  
  3005  // BastionHostIPConfigurationPropertiesFormat - Properties of IP configuration of an Bastion Host.
  3006  type BastionHostIPConfigurationPropertiesFormat struct {
  3007  	// REQUIRED; Reference of the subnet resource.
  3008  	Subnet *SubResource
  3009  
  3010  	// Private IP allocation method.
  3011  	PrivateIPAllocationMethod *IPAllocationMethod
  3012  
  3013  	// Reference of the PublicIP resource. Null for private only bastion
  3014  	PublicIPAddress *SubResource
  3015  
  3016  	// READ-ONLY; The provisioning state of the bastion host IP configuration resource.
  3017  	ProvisioningState *ProvisioningState
  3018  }
  3019  
  3020  // BastionHostListResult - Response for ListBastionHosts API service call.
  3021  type BastionHostListResult struct {
  3022  	// URL to get the next set of results.
  3023  	NextLink *string
  3024  
  3025  	// List of Bastion Hosts in a resource group.
  3026  	Value []*BastionHost
  3027  }
  3028  
  3029  // BastionHostPropertiesFormat - Properties of the Bastion Host.
  3030  type BastionHostPropertiesFormat struct {
  3031  	// FQDN for the endpoint on which bastion host is accessible.
  3032  	DNSName *string
  3033  
  3034  	// Enable/Disable Copy/Paste feature of the Bastion Host resource.
  3035  	DisableCopyPaste *bool
  3036  
  3037  	// Enable/Disable File Copy feature of the Bastion Host resource.
  3038  	EnableFileCopy *bool
  3039  
  3040  	// Enable/Disable IP Connect feature of the Bastion Host resource.
  3041  	EnableIPConnect *bool
  3042  
  3043  	// Enable/Disable Kerberos feature of the Bastion Host resource.
  3044  	EnableKerberos *bool
  3045  
  3046  	// Enable/Disable Private Only feature of the Bastion Host resource.
  3047  	EnablePrivateOnlyBastion *bool
  3048  
  3049  	// Enable/Disable Session Recording feature of the Bastion Host resource.
  3050  	EnableSessionRecording *bool
  3051  
  3052  	// Enable/Disable Shareable Link of the Bastion Host resource.
  3053  	EnableShareableLink *bool
  3054  
  3055  	// Enable/Disable Tunneling feature of the Bastion Host resource.
  3056  	EnableTunneling *bool
  3057  
  3058  	// IP configuration of the Bastion Host resource.
  3059  	IPConfigurations []*BastionHostIPConfiguration
  3060  	NetworkACLs      *BastionHostPropertiesFormatNetworkACLs
  3061  
  3062  	// The scale units for the Bastion Host resource.
  3063  	ScaleUnits *int32
  3064  
  3065  	// Reference to an existing virtual network required for Developer Bastion Host only.
  3066  	VirtualNetwork *SubResource
  3067  
  3068  	// READ-ONLY; The provisioning state of the bastion host resource.
  3069  	ProvisioningState *ProvisioningState
  3070  }
  3071  
  3072  type BastionHostPropertiesFormatNetworkACLs struct {
  3073  	// Sets the IP ACL rules for Developer Bastion Host.
  3074  	IPRules []*IPRule
  3075  }
  3076  
  3077  // BastionSessionDeleteResult - Response for DisconnectActiveSessions.
  3078  type BastionSessionDeleteResult struct {
  3079  	// The URL to get the next set of results.
  3080  	NextLink *string
  3081  
  3082  	// List of sessions with their corresponding state.
  3083  	Value []*BastionSessionState
  3084  }
  3085  
  3086  // BastionSessionState - The session state detail for a target.
  3087  type BastionSessionState struct {
  3088  	// READ-ONLY; Used for extra information.
  3089  	Message *string
  3090  
  3091  	// READ-ONLY; A unique id for the session.
  3092  	SessionID *string
  3093  
  3094  	// READ-ONLY; The state of the session. Disconnected/Failed/NotFound.
  3095  	State *string
  3096  }
  3097  
  3098  // BastionShareableLink - Bastion Shareable Link.
  3099  type BastionShareableLink struct {
  3100  	// REQUIRED; Reference of the virtual machine resource.
  3101  	VM *VM
  3102  
  3103  	// READ-ONLY; The unique Bastion Shareable Link to the virtual machine.
  3104  	Bsl *string
  3105  
  3106  	// READ-ONLY; The time when the link was created.
  3107  	CreatedAt *string
  3108  
  3109  	// READ-ONLY; Optional field indicating the warning or error message related to the vm in case of partial failure.
  3110  	Message *string
  3111  }
  3112  
  3113  // BastionShareableLinkListRequest - Post request for Create/Delete/Get Bastion Shareable Link endpoints.
  3114  type BastionShareableLinkListRequest struct {
  3115  	// List of VM references.
  3116  	VMs []*BastionShareableLink
  3117  }
  3118  
  3119  // BastionShareableLinkListResult - Response for all the Bastion Shareable Link endpoints.
  3120  type BastionShareableLinkListResult struct {
  3121  	// The URL to get the next set of results.
  3122  	NextLink *string
  3123  
  3124  	// List of Bastion Shareable Links for the request.
  3125  	Value []*BastionShareableLink
  3126  }
  3127  
  3128  // BastionShareableLinkTokenListRequest - Post request for Delete Bastion Shareable Link By Token endpoint.
  3129  type BastionShareableLinkTokenListRequest struct {
  3130  	// List of Bastion Shareable Link Token.
  3131  	Tokens []*string
  3132  }
  3133  
  3134  // BgpConnection - Virtual Appliance Site resource.
  3135  type BgpConnection struct {
  3136  	// Resource ID.
  3137  	ID *string
  3138  
  3139  	// Name of the connection.
  3140  	Name *string
  3141  
  3142  	// The properties of the Bgp connections.
  3143  	Properties *BgpConnectionProperties
  3144  
  3145  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  3146  	Etag *string
  3147  
  3148  	// READ-ONLY; Connection type.
  3149  	Type *string
  3150  }
  3151  
  3152  // BgpConnectionProperties - Properties of the bgp connection.
  3153  type BgpConnectionProperties struct {
  3154  	// The reference to the HubVirtualNetworkConnection resource.
  3155  	HubVirtualNetworkConnection *SubResource
  3156  
  3157  	// Peer ASN.
  3158  	PeerAsn *int64
  3159  
  3160  	// Peer IP.
  3161  	PeerIP *string
  3162  
  3163  	// READ-ONLY; The current state of the VirtualHub to Peer.
  3164  	ConnectionState *HubBgpConnectionStatus
  3165  
  3166  	// READ-ONLY; The provisioning state of the resource.
  3167  	ProvisioningState *ProvisioningState
  3168  }
  3169  
  3170  // BgpPeerStatus - BGP peer status details.
  3171  type BgpPeerStatus struct {
  3172  	// READ-ONLY; The autonomous system number of the remote BGP peer.
  3173  	Asn *int64
  3174  
  3175  	// READ-ONLY; For how long the peering has been up.
  3176  	ConnectedDuration *string
  3177  
  3178  	// READ-ONLY; The virtual network gateway's local address.
  3179  	LocalAddress *string
  3180  
  3181  	// READ-ONLY; The number of BGP messages received.
  3182  	MessagesReceived *int64
  3183  
  3184  	// READ-ONLY; The number of BGP messages sent.
  3185  	MessagesSent *int64
  3186  
  3187  	// READ-ONLY; The remote BGP peer.
  3188  	Neighbor *string
  3189  
  3190  	// READ-ONLY; The number of routes learned from this peer.
  3191  	RoutesReceived *int64
  3192  
  3193  	// READ-ONLY; The BGP peer state.
  3194  	State *BgpPeerState
  3195  }
  3196  
  3197  // BgpPeerStatusListResult - Response for list BGP peer status API service call.
  3198  type BgpPeerStatusListResult struct {
  3199  	// List of BGP peers.
  3200  	Value []*BgpPeerStatus
  3201  }
  3202  
  3203  // BgpServiceCommunity - Service Community Properties.
  3204  type BgpServiceCommunity struct {
  3205  	// Resource ID.
  3206  	ID *string
  3207  
  3208  	// Resource location.
  3209  	Location *string
  3210  
  3211  	// Properties of the BGP service community.
  3212  	Properties *BgpServiceCommunityPropertiesFormat
  3213  
  3214  	// Resource tags.
  3215  	Tags map[string]*string
  3216  
  3217  	// READ-ONLY; Resource name.
  3218  	Name *string
  3219  
  3220  	// READ-ONLY; Resource type.
  3221  	Type *string
  3222  }
  3223  
  3224  // BgpServiceCommunityListResult - Response for the ListServiceCommunity API service call.
  3225  type BgpServiceCommunityListResult struct {
  3226  	// The URL to get the next set of results.
  3227  	NextLink *string
  3228  
  3229  	// A list of service community resources.
  3230  	Value []*BgpServiceCommunity
  3231  }
  3232  
  3233  // BgpServiceCommunityPropertiesFormat - Properties of Service Community.
  3234  type BgpServiceCommunityPropertiesFormat struct {
  3235  	// A list of bgp communities.
  3236  	BgpCommunities []*BGPCommunity
  3237  
  3238  	// The name of the bgp community. e.g. Skype.
  3239  	ServiceName *string
  3240  }
  3241  
  3242  // BgpSettings - BGP settings details.
  3243  type BgpSettings struct {
  3244  	// The BGP speaker's ASN.
  3245  	Asn *int64
  3246  
  3247  	// The BGP peering address and BGP identifier of this BGP speaker.
  3248  	BgpPeeringAddress *string
  3249  
  3250  	// BGP peering address with IP configuration ID for virtual network gateway.
  3251  	BgpPeeringAddresses []*IPConfigurationBgpPeeringAddress
  3252  
  3253  	// The weight added to routes learned from this BGP speaker.
  3254  	PeerWeight *int32
  3255  }
  3256  
  3257  // BreakOutCategoryPolicies - Network Virtual Appliance Sku Properties.
  3258  type BreakOutCategoryPolicies struct {
  3259  	// Flag to control breakout of o365 allow category.
  3260  	Allow *bool
  3261  
  3262  	// Flag to control breakout of o365 default category.
  3263  	Default *bool
  3264  
  3265  	// Flag to control breakout of o365 optimize category.
  3266  	Optimize *bool
  3267  }
  3268  
  3269  // CheckPrivateLinkServiceVisibilityRequest - Request body of the CheckPrivateLinkServiceVisibility API service call.
  3270  type CheckPrivateLinkServiceVisibilityRequest struct {
  3271  	// The alias of the private link service.
  3272  	PrivateLinkServiceAlias *string
  3273  }
  3274  
  3275  // ChildResource - Proxy resource representation.
  3276  type ChildResource struct {
  3277  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  3278  	Etag *string
  3279  
  3280  	// READ-ONLY; Resource ID.
  3281  	ID *string
  3282  
  3283  	// READ-ONLY; Resource name.
  3284  	Name *string
  3285  
  3286  	// READ-ONLY; Resource type.
  3287  	Type *string
  3288  }
  3289  
  3290  // CommonErrorAdditionalInfo - The resource management error additional info.
  3291  type CommonErrorAdditionalInfo struct {
  3292  	// READ-ONLY; The additional info.
  3293  	Info any
  3294  
  3295  	// READ-ONLY; The additional info type.
  3296  	Type *string
  3297  }
  3298  
  3299  // CommonErrorDetail - The error detail.
  3300  type CommonErrorDetail struct {
  3301  	// READ-ONLY; The error additional info.
  3302  	AdditionalInfo []*CommonErrorAdditionalInfo
  3303  
  3304  	// READ-ONLY; The error code.
  3305  	Code *string
  3306  
  3307  	// READ-ONLY; The error details.
  3308  	Details []*CommonErrorDetail
  3309  
  3310  	// READ-ONLY; The error message.
  3311  	Message *string
  3312  
  3313  	// READ-ONLY; The error target.
  3314  	Target *string
  3315  }
  3316  
  3317  // CommonErrorResponse - Common error response for all Azure Resource Manager APIs to return error details for failed operations.
  3318  // (This also follows the OData error response format.).
  3319  type CommonErrorResponse struct {
  3320  	// The error object.
  3321  	Error *CommonErrorDetail
  3322  }
  3323  
  3324  // CommonProxyResource - The resource model definition for a Azure Resource Manager proxy resource. It will not have tags
  3325  // and a location
  3326  type CommonProxyResource struct {
  3327  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
  3328  	ID *string
  3329  
  3330  	// READ-ONLY; The name of the resource
  3331  	Name *string
  3332  
  3333  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
  3334  	SystemData *SystemData
  3335  
  3336  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
  3337  	Type *string
  3338  }
  3339  
  3340  // CommonResource - Common fields that are returned in the response for all Azure Resource Manager resources
  3341  type CommonResource struct {
  3342  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
  3343  	ID *string
  3344  
  3345  	// READ-ONLY; The name of the resource
  3346  	Name *string
  3347  
  3348  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
  3349  	SystemData *SystemData
  3350  
  3351  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
  3352  	Type *string
  3353  }
  3354  
  3355  // CommonTrackedResource - The resource model definition for an Azure Resource Manager tracked top level resource which has
  3356  // 'tags' and a 'location'
  3357  type CommonTrackedResource struct {
  3358  	// REQUIRED; The geo-location where the resource lives
  3359  	Location *string
  3360  
  3361  	// Resource tags.
  3362  	Tags map[string]*string
  3363  
  3364  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
  3365  	ID *string
  3366  
  3367  	// READ-ONLY; The name of the resource
  3368  	Name *string
  3369  
  3370  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
  3371  	SystemData *SystemData
  3372  
  3373  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
  3374  	Type *string
  3375  }
  3376  
  3377  type Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties struct {
  3378  	// READ-ONLY; The client id of user assigned identity.
  3379  	ClientID *string
  3380  
  3381  	// READ-ONLY; The principal id of user assigned identity.
  3382  	PrincipalID *string
  3383  }
  3384  
  3385  // ConfigurationDiagnosticParameters - Parameters to get network configuration diagnostic.
  3386  type ConfigurationDiagnosticParameters struct {
  3387  	// REQUIRED; List of network configuration diagnostic profiles.
  3388  	Profiles []*ConfigurationDiagnosticProfile
  3389  
  3390  	// REQUIRED; The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface,
  3391  	// VMSS/NetworkInterface and Application Gateway.
  3392  	TargetResourceID *string
  3393  
  3394  	// Verbosity level.
  3395  	VerbosityLevel *VerbosityLevel
  3396  }
  3397  
  3398  // ConfigurationDiagnosticProfile - Parameters to compare with network configuration.
  3399  type ConfigurationDiagnosticProfile struct {
  3400  	// REQUIRED; Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag.
  3401  	Destination *string
  3402  
  3403  	// REQUIRED; Traffic destination port. Accepted values are '*' and a single port in the range (0 - 65535).
  3404  	DestinationPort *string
  3405  
  3406  	// REQUIRED; The direction of the traffic.
  3407  	Direction *Direction
  3408  
  3409  	// REQUIRED; Protocol to be verified on. Accepted values are '*', TCP, UDP.
  3410  	Protocol *string
  3411  
  3412  	// REQUIRED; Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag.
  3413  	Source *string
  3414  }
  3415  
  3416  // ConfigurationDiagnosticResponse - Results of network configuration diagnostic on the target resource.
  3417  type ConfigurationDiagnosticResponse struct {
  3418  	// READ-ONLY; List of network configuration diagnostic results.
  3419  	Results []*ConfigurationDiagnosticResult
  3420  }
  3421  
  3422  // ConfigurationDiagnosticResult - Network configuration diagnostic result corresponded to provided traffic query.
  3423  type ConfigurationDiagnosticResult struct {
  3424  	// Network security group result.
  3425  	NetworkSecurityGroupResult *SecurityGroupResult
  3426  
  3427  	// Network configuration diagnostic profile.
  3428  	Profile *ConfigurationDiagnosticProfile
  3429  }
  3430  
  3431  // ConfigurationGroup - The network configuration group resource
  3432  type ConfigurationGroup struct {
  3433  	// Network group ID.
  3434  	ID *string
  3435  
  3436  	// The network configuration group properties
  3437  	Properties *GroupProperties
  3438  }
  3439  
  3440  // ConnectionMonitor - Parameters that define the operation to create a connection monitor.
  3441  type ConnectionMonitor struct {
  3442  	// REQUIRED; Properties of the connection monitor.
  3443  	Properties *ConnectionMonitorParameters
  3444  
  3445  	// Connection monitor location.
  3446  	Location *string
  3447  
  3448  	// Connection monitor tags.
  3449  	Tags map[string]*string
  3450  }
  3451  
  3452  // ConnectionMonitorDestination - Describes the destination of connection monitor.
  3453  type ConnectionMonitorDestination struct {
  3454  	// Address of the connection monitor destination (IP or domain name).
  3455  	Address *string
  3456  
  3457  	// The destination port used by connection monitor.
  3458  	Port *int32
  3459  
  3460  	// The ID of the resource used as the destination by connection monitor.
  3461  	ResourceID *string
  3462  }
  3463  
  3464  // ConnectionMonitorEndpoint - Describes the connection monitor endpoint.
  3465  type ConnectionMonitorEndpoint struct {
  3466  	// REQUIRED; The name of the connection monitor endpoint.
  3467  	Name *string
  3468  
  3469  	// Address of the connection monitor endpoint. Supported for AzureVM, ExternalAddress, ArcMachine, MMAWorkspaceMachine endpoint
  3470  	// type.
  3471  	Address *string
  3472  
  3473  	// Test coverage for the endpoint.
  3474  	CoverageLevel *CoverageLevel
  3475  
  3476  	// Filter field is getting deprecated and should not be used. Instead use Include/Exclude scope fields for it.
  3477  	Filter *ConnectionMonitorEndpointFilter
  3478  
  3479  	// Location details is optional and only being used for 'AzureArcNetwork' type endpoints, which contains region details.
  3480  	LocationDetails *ConnectionMonitorEndpointLocationDetails
  3481  
  3482  	// Resource ID of the connection monitor endpoint are supported for AzureVM, AzureVMSS, AzureVNet, AzureSubnet, MMAWorkspaceMachine,
  3483  	// MMAWorkspaceNetwork, AzureArcVM endpoint type.
  3484  	ResourceID *string
  3485  
  3486  	// Endpoint scope defines which target resource to monitor in case of compound resource endpoints like VMSS, AzureSubnet,
  3487  	// AzureVNet, MMAWorkspaceNetwork, AzureArcNetwork.
  3488  	Scope *ConnectionMonitorEndpointScope
  3489  
  3490  	// Subscription ID for connection monitor endpoint. It's an optional parameter which is being used for 'AzureArcNetwork' type
  3491  	// endpoint.
  3492  	SubscriptionID *string
  3493  
  3494  	// The endpoint type.
  3495  	Type *EndpointType
  3496  }
  3497  
  3498  // ConnectionMonitorEndpointFilter - Describes the connection monitor endpoint filter.
  3499  type ConnectionMonitorEndpointFilter struct {
  3500  	// List of items in the filter.
  3501  	Items []*ConnectionMonitorEndpointFilterItem
  3502  
  3503  	// The behavior of the endpoint filter. Currently only 'Include' is supported.
  3504  	Type *ConnectionMonitorEndpointFilterType
  3505  }
  3506  
  3507  // ConnectionMonitorEndpointFilterItem - Describes the connection monitor endpoint filter item.
  3508  type ConnectionMonitorEndpointFilterItem struct {
  3509  	// The address of the filter item.
  3510  	Address *string
  3511  
  3512  	// The type of item included in the filter. Currently only 'AgentAddress' is supported.
  3513  	Type *ConnectionMonitorEndpointFilterItemType
  3514  }
  3515  
  3516  // ConnectionMonitorEndpointLocationDetails - Connection monitor endpoint location details only being used for 'AzureArcNetwork'
  3517  // type endpoints, which contains the region details.
  3518  type ConnectionMonitorEndpointLocationDetails struct {
  3519  	// Region for connection monitor endpoint.
  3520  	Region *string
  3521  }
  3522  
  3523  // ConnectionMonitorEndpointScope - Describes the connection monitor endpoint scope.
  3524  type ConnectionMonitorEndpointScope struct {
  3525  	// List of items which needs to be excluded from the endpoint scope.
  3526  	Exclude []*ConnectionMonitorEndpointScopeItem
  3527  
  3528  	// List of items which needs to be included to the endpoint scope.
  3529  	Include []*ConnectionMonitorEndpointScopeItem
  3530  }
  3531  
  3532  // ConnectionMonitorEndpointScopeItem - Describes the connection monitor endpoint scope item.
  3533  type ConnectionMonitorEndpointScopeItem struct {
  3534  	// The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address.
  3535  	Address *string
  3536  }
  3537  
  3538  // ConnectionMonitorHTTPConfiguration - Describes the HTTP configuration.
  3539  type ConnectionMonitorHTTPConfiguration struct {
  3540  	// The HTTP method to use.
  3541  	Method *HTTPConfigurationMethod
  3542  
  3543  	// The path component of the URI. For instance, "/dir1/dir2".
  3544  	Path *string
  3545  
  3546  	// The port to connect to.
  3547  	Port *int32
  3548  
  3549  	// Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit.
  3550  	PreferHTTPS *bool
  3551  
  3552  	// The HTTP headers to transmit with the request.
  3553  	RequestHeaders []*HTTPHeader
  3554  
  3555  	// HTTP status codes to consider successful. For instance, "2xx,301-304,418".
  3556  	ValidStatusCodeRanges []*string
  3557  }
  3558  
  3559  // ConnectionMonitorIcmpConfiguration - Describes the ICMP configuration.
  3560  type ConnectionMonitorIcmpConfiguration struct {
  3561  	// Value indicating whether path evaluation with trace route should be disabled.
  3562  	DisableTraceRoute *bool
  3563  }
  3564  
  3565  // ConnectionMonitorListResult - List of connection monitors.
  3566  type ConnectionMonitorListResult struct {
  3567  	// Information about connection monitors.
  3568  	Value []*ConnectionMonitorResult
  3569  }
  3570  
  3571  // ConnectionMonitorOutput - Describes a connection monitor output destination.
  3572  type ConnectionMonitorOutput struct {
  3573  	// Connection monitor output destination type. Currently, only "Workspace" is supported.
  3574  	Type *OutputType
  3575  
  3576  	// Describes the settings for producing output into a log analytics workspace.
  3577  	WorkspaceSettings *ConnectionMonitorWorkspaceSettings
  3578  }
  3579  
  3580  // ConnectionMonitorParameters - Parameters that define the operation to create a connection monitor.
  3581  type ConnectionMonitorParameters struct {
  3582  	// Determines if the connection monitor will start automatically once created.
  3583  	AutoStart *bool
  3584  
  3585  	// Describes the destination of connection monitor.
  3586  	Destination *ConnectionMonitorDestination
  3587  
  3588  	// List of connection monitor endpoints.
  3589  	Endpoints []*ConnectionMonitorEndpoint
  3590  
  3591  	// Monitoring interval in seconds.
  3592  	MonitoringIntervalInSeconds *int32
  3593  
  3594  	// Optional notes to be associated with the connection monitor.
  3595  	Notes *string
  3596  
  3597  	// List of connection monitor outputs.
  3598  	Outputs []*ConnectionMonitorOutput
  3599  
  3600  	// Describes the source of connection monitor.
  3601  	Source *ConnectionMonitorSource
  3602  
  3603  	// List of connection monitor test configurations.
  3604  	TestConfigurations []*ConnectionMonitorTestConfiguration
  3605  
  3606  	// List of connection monitor test groups.
  3607  	TestGroups []*ConnectionMonitorTestGroup
  3608  }
  3609  
  3610  // ConnectionMonitorQueryResult - List of connection states snapshots.
  3611  type ConnectionMonitorQueryResult struct {
  3612  	// Status of connection monitor source.
  3613  	SourceStatus *ConnectionMonitorSourceStatus
  3614  
  3615  	// Information about connection states.
  3616  	States []*ConnectionStateSnapshot
  3617  }
  3618  
  3619  // ConnectionMonitorResult - Information about the connection monitor.
  3620  type ConnectionMonitorResult struct {
  3621  	// Connection monitor location.
  3622  	Location *string
  3623  
  3624  	// Properties of the connection monitor result.
  3625  	Properties *ConnectionMonitorResultProperties
  3626  
  3627  	// Connection monitor tags.
  3628  	Tags map[string]*string
  3629  
  3630  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  3631  	Etag *string
  3632  
  3633  	// READ-ONLY; ID of the connection monitor.
  3634  	ID *string
  3635  
  3636  	// READ-ONLY; Name of the connection monitor.
  3637  	Name *string
  3638  
  3639  	// READ-ONLY; Connection monitor type.
  3640  	Type *string
  3641  }
  3642  
  3643  // ConnectionMonitorResultProperties - Describes the properties of a connection monitor.
  3644  type ConnectionMonitorResultProperties struct {
  3645  	// Determines if the connection monitor will start automatically once created.
  3646  	AutoStart *bool
  3647  
  3648  	// Describes the destination of connection monitor.
  3649  	Destination *ConnectionMonitorDestination
  3650  
  3651  	// List of connection monitor endpoints.
  3652  	Endpoints []*ConnectionMonitorEndpoint
  3653  
  3654  	// Monitoring interval in seconds.
  3655  	MonitoringIntervalInSeconds *int32
  3656  
  3657  	// Optional notes to be associated with the connection monitor.
  3658  	Notes *string
  3659  
  3660  	// List of connection monitor outputs.
  3661  	Outputs []*ConnectionMonitorOutput
  3662  
  3663  	// Describes the source of connection monitor.
  3664  	Source *ConnectionMonitorSource
  3665  
  3666  	// List of connection monitor test configurations.
  3667  	TestConfigurations []*ConnectionMonitorTestConfiguration
  3668  
  3669  	// List of connection monitor test groups.
  3670  	TestGroups []*ConnectionMonitorTestGroup
  3671  
  3672  	// READ-ONLY; Type of connection monitor.
  3673  	ConnectionMonitorType *ConnectionMonitorType
  3674  
  3675  	// READ-ONLY; The monitoring status of the connection monitor.
  3676  	MonitoringStatus *string
  3677  
  3678  	// READ-ONLY; The provisioning state of the connection monitor.
  3679  	ProvisioningState *ProvisioningState
  3680  
  3681  	// READ-ONLY; The date and time when the connection monitor was started.
  3682  	StartTime *time.Time
  3683  }
  3684  
  3685  // ConnectionMonitorSource - Describes the source of connection monitor.
  3686  type ConnectionMonitorSource struct {
  3687  	// REQUIRED; The ID of the resource used as the source by connection monitor.
  3688  	ResourceID *string
  3689  
  3690  	// The source port used by connection monitor.
  3691  	Port *int32
  3692  }
  3693  
  3694  // ConnectionMonitorSuccessThreshold - Describes the threshold for declaring a test successful.
  3695  type ConnectionMonitorSuccessThreshold struct {
  3696  	// The maximum percentage of failed checks permitted for a test to evaluate as successful.
  3697  	ChecksFailedPercent *int32
  3698  
  3699  	// The maximum round-trip time in milliseconds permitted for a test to evaluate as successful.
  3700  	RoundTripTimeMs *float32
  3701  }
  3702  
  3703  // ConnectionMonitorTCPConfiguration - Describes the TCP configuration.
  3704  type ConnectionMonitorTCPConfiguration struct {
  3705  	// Destination port behavior.
  3706  	DestinationPortBehavior *DestinationPortBehavior
  3707  
  3708  	// Value indicating whether path evaluation with trace route should be disabled.
  3709  	DisableTraceRoute *bool
  3710  
  3711  	// The port to connect to.
  3712  	Port *int32
  3713  }
  3714  
  3715  // ConnectionMonitorTestConfiguration - Describes a connection monitor test configuration.
  3716  type ConnectionMonitorTestConfiguration struct {
  3717  	// REQUIRED; The name of the connection monitor test configuration.
  3718  	Name *string
  3719  
  3720  	// REQUIRED; The protocol to use in test evaluation.
  3721  	Protocol *ConnectionMonitorTestConfigurationProtocol
  3722  
  3723  	// The parameters used to perform test evaluation over HTTP.
  3724  	HTTPConfiguration *ConnectionMonitorHTTPConfiguration
  3725  
  3726  	// The parameters used to perform test evaluation over ICMP.
  3727  	IcmpConfiguration *ConnectionMonitorIcmpConfiguration
  3728  
  3729  	// The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending
  3730  	// on other parameters.
  3731  	PreferredIPVersion *PreferredIPVersion
  3732  
  3733  	// The threshold for declaring a test successful.
  3734  	SuccessThreshold *ConnectionMonitorSuccessThreshold
  3735  
  3736  	// The parameters used to perform test evaluation over TCP.
  3737  	TCPConfiguration *ConnectionMonitorTCPConfiguration
  3738  
  3739  	// The frequency of test evaluation, in seconds.
  3740  	TestFrequencySec *int32
  3741  }
  3742  
  3743  // ConnectionMonitorTestGroup - Describes the connection monitor test group.
  3744  type ConnectionMonitorTestGroup struct {
  3745  	// REQUIRED; List of destination endpoint names.
  3746  	Destinations []*string
  3747  
  3748  	// REQUIRED; The name of the connection monitor test group.
  3749  	Name *string
  3750  
  3751  	// REQUIRED; List of source endpoint names.
  3752  	Sources []*string
  3753  
  3754  	// REQUIRED; List of test configuration names.
  3755  	TestConfigurations []*string
  3756  
  3757  	// Value indicating whether test group is disabled.
  3758  	Disable *bool
  3759  }
  3760  
  3761  // ConnectionMonitorWorkspaceSettings - Describes the settings for producing output into a log analytics workspace.
  3762  type ConnectionMonitorWorkspaceSettings struct {
  3763  	// Log analytics workspace resource ID.
  3764  	WorkspaceResourceID *string
  3765  }
  3766  
  3767  // ConnectionResetSharedKey - The virtual network connection reset shared key.
  3768  type ConnectionResetSharedKey struct {
  3769  	// REQUIRED; The virtual network connection reset shared key length, should between 1 and 128.
  3770  	KeyLength *int32
  3771  }
  3772  
  3773  // ConnectionSharedKey - Response for GetConnectionSharedKey API service call.
  3774  type ConnectionSharedKey struct {
  3775  	// REQUIRED; The virtual network connection shared key value.
  3776  	Value *string
  3777  
  3778  	// Resource ID.
  3779  	ID *string
  3780  }
  3781  
  3782  // ConnectionSharedKeyResult - SharedKey Resource .
  3783  type ConnectionSharedKeyResult struct {
  3784  	// Resource ID.
  3785  	ID *string
  3786  
  3787  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  3788  	Name *string
  3789  
  3790  	// Properties of the shared key.
  3791  	Properties *SharedKeyProperties
  3792  
  3793  	// READ-ONLY; Resource type.
  3794  	Type *string
  3795  }
  3796  
  3797  // ConnectionSharedKeyResultList - The list of shared keys for the vpn link connection. It should only contain one shared
  3798  // key for each vpn link connection.
  3799  type ConnectionSharedKeyResultList struct {
  3800  	// URL to get the next set of operation list results if there are any.
  3801  	NextLink *string
  3802  
  3803  	// List of SharedKeys.
  3804  	Value []*ConnectionSharedKeyResult
  3805  }
  3806  
  3807  // ConnectionStateSnapshot - Connection state snapshot.
  3808  type ConnectionStateSnapshot struct {
  3809  	// Average latency in ms.
  3810  	AvgLatencyInMs *int64
  3811  
  3812  	// The connection state.
  3813  	ConnectionState *ConnectionState
  3814  
  3815  	// The end time of the connection snapshot.
  3816  	EndTime *time.Time
  3817  
  3818  	// Connectivity analysis evaluation state.
  3819  	EvaluationState *EvaluationState
  3820  
  3821  	// Maximum latency in ms.
  3822  	MaxLatencyInMs *int64
  3823  
  3824  	// Minimum latency in ms.
  3825  	MinLatencyInMs *int64
  3826  
  3827  	// The number of failed probes.
  3828  	ProbesFailed *int64
  3829  
  3830  	// The number of sent probes.
  3831  	ProbesSent *int64
  3832  
  3833  	// The start time of the connection snapshot.
  3834  	StartTime *time.Time
  3835  
  3836  	// READ-ONLY; List of hops between the source and the destination.
  3837  	Hops []*ConnectivityHop
  3838  }
  3839  
  3840  // ConnectivityConfiguration - The network manager connectivity configuration resource
  3841  type ConnectivityConfiguration struct {
  3842  	// Properties of a network manager connectivity configuration
  3843  	Properties *ConnectivityConfigurationProperties
  3844  
  3845  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  3846  	Etag *string
  3847  
  3848  	// READ-ONLY; Resource ID.
  3849  	ID *string
  3850  
  3851  	// READ-ONLY; Resource name.
  3852  	Name *string
  3853  
  3854  	// READ-ONLY; The system metadata related to this resource.
  3855  	SystemData *SystemData
  3856  
  3857  	// READ-ONLY; Resource type.
  3858  	Type *string
  3859  }
  3860  
  3861  // ConnectivityConfigurationListResult - Result of the request to list network manager connectivity configurations. It contains
  3862  // a list of configurations and a link to get the next set of results.
  3863  type ConnectivityConfigurationListResult struct {
  3864  	// Gets the URL to get the next page of results.
  3865  	NextLink *string
  3866  
  3867  	// Gets a page of Connectivity Configurations
  3868  	Value []*ConnectivityConfiguration
  3869  }
  3870  
  3871  // ConnectivityConfigurationProperties - Properties of network manager connectivity configuration
  3872  type ConnectivityConfigurationProperties struct {
  3873  	// REQUIRED; Groups for configuration
  3874  	AppliesToGroups []*ConnectivityGroupItem
  3875  
  3876  	// REQUIRED; Connectivity topology type.
  3877  	ConnectivityTopology *ConnectivityTopology
  3878  
  3879  	// Flag if need to remove current existing peerings.
  3880  	DeleteExistingPeering *DeleteExistingPeering
  3881  
  3882  	// A description of the connectivity configuration.
  3883  	Description *string
  3884  
  3885  	// List of hubItems
  3886  	Hubs []*Hub
  3887  
  3888  	// Flag if global mesh is supported.
  3889  	IsGlobal *IsGlobal
  3890  
  3891  	// READ-ONLY; The provisioning state of the connectivity configuration resource.
  3892  	ProvisioningState *ProvisioningState
  3893  
  3894  	// READ-ONLY; Unique identifier for this resource.
  3895  	ResourceGUID *string
  3896  }
  3897  
  3898  // ConnectivityDestination - Parameters that define destination of connection.
  3899  type ConnectivityDestination struct {
  3900  	// The IP address or URI the resource to which a connection attempt will be made.
  3901  	Address *string
  3902  
  3903  	// Port on which check connectivity will be performed.
  3904  	Port *int32
  3905  
  3906  	// The ID of the resource to which a connection attempt will be made.
  3907  	ResourceID *string
  3908  }
  3909  
  3910  // ConnectivityGroupItem - Connectivity group item.
  3911  type ConnectivityGroupItem struct {
  3912  	// REQUIRED; Group connectivity type.
  3913  	GroupConnectivity *GroupConnectivity
  3914  
  3915  	// REQUIRED; Network group Id.
  3916  	NetworkGroupID *string
  3917  
  3918  	// Flag if global is supported.
  3919  	IsGlobal *IsGlobal
  3920  
  3921  	// Flag if need to use hub gateway.
  3922  	UseHubGateway *UseHubGateway
  3923  }
  3924  
  3925  // ConnectivityHop - Information about a hop between the source and the destination.
  3926  type ConnectivityHop struct {
  3927  	// READ-ONLY; The IP address of the hop.
  3928  	Address *string
  3929  
  3930  	// READ-ONLY; The ID of the hop.
  3931  	ID *string
  3932  
  3933  	// READ-ONLY; List of issues.
  3934  	Issues []*ConnectivityIssue
  3935  
  3936  	// READ-ONLY; List of hop links.
  3937  	Links []*HopLink
  3938  
  3939  	// READ-ONLY; List of next hop identifiers.
  3940  	NextHopIDs []*string
  3941  
  3942  	// READ-ONLY; List of previous hop identifiers.
  3943  	PreviousHopIDs []*string
  3944  
  3945  	// READ-ONLY; List of previous hop links.
  3946  	PreviousLinks []*HopLink
  3947  
  3948  	// READ-ONLY; The ID of the resource corresponding to this hop.
  3949  	ResourceID *string
  3950  
  3951  	// READ-ONLY; The type of the hop.
  3952  	Type *string
  3953  }
  3954  
  3955  // ConnectivityInformation - Information on the connectivity status.
  3956  type ConnectivityInformation struct {
  3957  	// READ-ONLY; Average latency in milliseconds.
  3958  	AvgLatencyInMs *int32
  3959  
  3960  	// READ-ONLY; The connection status.
  3961  	ConnectionStatus *ConnectionStatus
  3962  
  3963  	// READ-ONLY; List of hops between the source and the destination.
  3964  	Hops []*ConnectivityHop
  3965  
  3966  	// READ-ONLY; Maximum latency in milliseconds.
  3967  	MaxLatencyInMs *int32
  3968  
  3969  	// READ-ONLY; Minimum latency in milliseconds.
  3970  	MinLatencyInMs *int32
  3971  
  3972  	// READ-ONLY; Number of failed probes.
  3973  	ProbesFailed *int32
  3974  
  3975  	// READ-ONLY; Total number of probes sent.
  3976  	ProbesSent *int32
  3977  }
  3978  
  3979  // ConnectivityIssue - Information about an issue encountered in the process of checking for connectivity.
  3980  type ConnectivityIssue struct {
  3981  	// READ-ONLY; Provides additional context on the issue.
  3982  	Context []map[string]*string
  3983  
  3984  	// READ-ONLY; The origin of the issue.
  3985  	Origin *Origin
  3986  
  3987  	// READ-ONLY; The severity of the issue.
  3988  	Severity *Severity
  3989  
  3990  	// READ-ONLY; The type of issue.
  3991  	Type *IssueType
  3992  }
  3993  
  3994  // ConnectivityParameters - Parameters that determine how the connectivity check will be performed.
  3995  type ConnectivityParameters struct {
  3996  	// REQUIRED; The destination of connection.
  3997  	Destination *ConnectivityDestination
  3998  
  3999  	// REQUIRED; The source of the connection.
  4000  	Source *ConnectivitySource
  4001  
  4002  	// Preferred IP version of the connection.
  4003  	PreferredIPVersion *IPVersion
  4004  
  4005  	// Network protocol.
  4006  	Protocol *Protocol
  4007  
  4008  	// Configuration of the protocol.
  4009  	ProtocolConfiguration *ProtocolConfiguration
  4010  }
  4011  
  4012  // ConnectivitySource - Parameters that define the source of the connection.
  4013  type ConnectivitySource struct {
  4014  	// REQUIRED; The ID of the resource from which a connectivity check will be initiated.
  4015  	ResourceID *string
  4016  
  4017  	// The source port from which a connectivity check will be performed.
  4018  	Port *int32
  4019  }
  4020  
  4021  // Container - Reference to container resource in remote resource provider.
  4022  type Container struct {
  4023  	// Resource ID.
  4024  	ID *string
  4025  }
  4026  
  4027  // ContainerNetworkInterface - Container network interface child resource.
  4028  type ContainerNetworkInterface struct {
  4029  	// Resource ID.
  4030  	ID *string
  4031  
  4032  	// The name of the resource. This name can be used to access the resource.
  4033  	Name *string
  4034  
  4035  	// Container network interface properties.
  4036  	Properties *ContainerNetworkInterfacePropertiesFormat
  4037  
  4038  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4039  	Etag *string
  4040  
  4041  	// READ-ONLY; Sub Resource type.
  4042  	Type *string
  4043  }
  4044  
  4045  // ContainerNetworkInterfaceConfiguration - Container network interface configuration child resource.
  4046  type ContainerNetworkInterfaceConfiguration struct {
  4047  	// Resource ID.
  4048  	ID *string
  4049  
  4050  	// The name of the resource. This name can be used to access the resource.
  4051  	Name *string
  4052  
  4053  	// Container network interface configuration properties.
  4054  	Properties *ContainerNetworkInterfaceConfigurationPropertiesFormat
  4055  
  4056  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4057  	Etag *string
  4058  
  4059  	// READ-ONLY; Sub Resource type.
  4060  	Type *string
  4061  }
  4062  
  4063  // ContainerNetworkInterfaceConfigurationPropertiesFormat - Container network interface configuration properties.
  4064  type ContainerNetworkInterfaceConfigurationPropertiesFormat struct {
  4065  	// A list of container network interfaces created from this container network interface configuration.
  4066  	ContainerNetworkInterfaces []*SubResource
  4067  
  4068  	// A list of ip configurations of the container network interface configuration.
  4069  	IPConfigurations []*IPConfigurationProfile
  4070  
  4071  	// READ-ONLY; The provisioning state of the container network interface configuration resource.
  4072  	ProvisioningState *ProvisioningState
  4073  }
  4074  
  4075  // ContainerNetworkInterfaceIPConfiguration - The ip configuration for a container network interface.
  4076  type ContainerNetworkInterfaceIPConfiguration struct {
  4077  	// The name of the resource. This name can be used to access the resource.
  4078  	Name *string
  4079  
  4080  	// Properties of the container network interface IP configuration.
  4081  	Properties *ContainerNetworkInterfaceIPConfigurationPropertiesFormat
  4082  
  4083  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4084  	Etag *string
  4085  
  4086  	// READ-ONLY; Sub Resource type.
  4087  	Type *string
  4088  }
  4089  
  4090  // ContainerNetworkInterfaceIPConfigurationPropertiesFormat - Properties of the container network interface IP configuration.
  4091  type ContainerNetworkInterfaceIPConfigurationPropertiesFormat struct {
  4092  	// READ-ONLY; The provisioning state of the container network interface IP configuration resource.
  4093  	ProvisioningState *ProvisioningState
  4094  }
  4095  
  4096  // ContainerNetworkInterfacePropertiesFormat - Properties of container network interface.
  4097  type ContainerNetworkInterfacePropertiesFormat struct {
  4098  	// Reference to the container to which this container network interface is attached.
  4099  	Container *Container
  4100  
  4101  	// READ-ONLY; Container network interface configuration from which this container network interface is created.
  4102  	ContainerNetworkInterfaceConfiguration *ContainerNetworkInterfaceConfiguration
  4103  
  4104  	// READ-ONLY; Reference to the ip configuration on this container nic.
  4105  	IPConfigurations []*ContainerNetworkInterfaceIPConfiguration
  4106  
  4107  	// READ-ONLY; The provisioning state of the container network interface resource.
  4108  	ProvisioningState *ProvisioningState
  4109  }
  4110  
  4111  // Criterion - A matching criteria which matches routes based on route prefix, community, and AS path.
  4112  type Criterion struct {
  4113  	// List of AS paths which this criteria matches.
  4114  	AsPath []*string
  4115  
  4116  	// List of BGP communities which this criteria matches.
  4117  	Community []*string
  4118  
  4119  	// Match condition to apply RouteMap rules.
  4120  	MatchCondition *RouteMapMatchCondition
  4121  
  4122  	// List of route prefixes which this criteria matches.
  4123  	RoutePrefix []*string
  4124  }
  4125  
  4126  // CrossTenantScopes - Cross tenant scopes.
  4127  type CrossTenantScopes struct {
  4128  	// READ-ONLY; List of management groups.
  4129  	ManagementGroups []*string
  4130  
  4131  	// READ-ONLY; List of subscriptions.
  4132  	Subscriptions []*string
  4133  
  4134  	// READ-ONLY; Tenant ID.
  4135  	TenantID *string
  4136  }
  4137  
  4138  // CustomDNSConfigPropertiesFormat - Contains custom Dns resolution configuration from customer.
  4139  type CustomDNSConfigPropertiesFormat struct {
  4140  	// Fqdn that resolves to private endpoint ip address.
  4141  	Fqdn *string
  4142  
  4143  	// A list of private ip addresses of the private endpoint.
  4144  	IPAddresses []*string
  4145  }
  4146  
  4147  // CustomIPPrefix - Custom IP prefix resource.
  4148  type CustomIPPrefix struct {
  4149  	// The extended location of the custom IP prefix.
  4150  	ExtendedLocation *ExtendedLocation
  4151  
  4152  	// Resource ID.
  4153  	ID *string
  4154  
  4155  	// Resource location.
  4156  	Location *string
  4157  
  4158  	// Custom IP prefix properties.
  4159  	Properties *CustomIPPrefixPropertiesFormat
  4160  
  4161  	// Resource tags.
  4162  	Tags map[string]*string
  4163  
  4164  	// A list of availability zones denoting the IP allocated for the resource needs to come from.
  4165  	Zones []*string
  4166  
  4167  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4168  	Etag *string
  4169  
  4170  	// READ-ONLY; Resource name.
  4171  	Name *string
  4172  
  4173  	// READ-ONLY; Resource type.
  4174  	Type *string
  4175  }
  4176  
  4177  // CustomIPPrefixListResult - Response for ListCustomIpPrefixes API service call.
  4178  type CustomIPPrefixListResult struct {
  4179  	// The URL to get the next set of results.
  4180  	NextLink *string
  4181  
  4182  	// A list of Custom IP prefixes that exists in a resource group.
  4183  	Value []*CustomIPPrefix
  4184  }
  4185  
  4186  // CustomIPPrefixPropertiesFormat - Custom IP prefix properties.
  4187  type CustomIPPrefixPropertiesFormat struct {
  4188  	// The ASN for CIDR advertising. Should be an integer as string.
  4189  	Asn *string
  4190  
  4191  	// Authorization message for WAN validation.
  4192  	AuthorizationMessage *string
  4193  
  4194  	// The prefix range in CIDR notation. Should include the start address and the prefix length.
  4195  	Cidr *string
  4196  
  4197  	// The commissioned state of the Custom IP Prefix.
  4198  	CommissionedState *CommissionedState
  4199  
  4200  	// The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix.
  4201  	CustomIPPrefixParent *SubResource
  4202  
  4203  	// Whether to do express route advertise.
  4204  	ExpressRouteAdvertise *bool
  4205  
  4206  	// The Geo for CIDR advertising. Should be an Geo code.
  4207  	Geo *Geo
  4208  
  4209  	// Whether to Advertise the range to Internet.
  4210  	NoInternetAdvertise *bool
  4211  
  4212  	// Type of custom IP prefix. Should be Singular, Parent, or Child.
  4213  	PrefixType *CustomIPPrefixType
  4214  
  4215  	// Signed message for WAN validation.
  4216  	SignedMessage *string
  4217  
  4218  	// READ-ONLY; The list of all Children for IPv6 /48 CustomIpPrefix.
  4219  	ChildCustomIPPrefixes []*SubResource
  4220  
  4221  	// READ-ONLY; The reason why resource is in failed state.
  4222  	FailedReason *string
  4223  
  4224  	// READ-ONLY; The provisioning state of the custom IP prefix resource.
  4225  	ProvisioningState *ProvisioningState
  4226  
  4227  	// READ-ONLY; The list of all referenced PublicIpPrefixes.
  4228  	PublicIPPrefixes []*SubResource
  4229  
  4230  	// READ-ONLY; The resource GUID property of the custom IP prefix resource.
  4231  	ResourceGUID *string
  4232  }
  4233  
  4234  // DNSNameAvailabilityResult - Response for the CheckDnsNameAvailability API service call.
  4235  type DNSNameAvailabilityResult struct {
  4236  	// Domain availability (True/False).
  4237  	Available *bool
  4238  }
  4239  
  4240  // DNSSettings - DNS Proxy Settings in Firewall Policy.
  4241  type DNSSettings struct {
  4242  	// Enable DNS Proxy on Firewalls attached to the Firewall Policy.
  4243  	EnableProxy *bool
  4244  
  4245  	// FQDNs in Network Rules are supported when set to true.
  4246  	RequireProxyForNetworkRules *bool
  4247  
  4248  	// List of Custom DNS Servers.
  4249  	Servers []*string
  4250  }
  4251  
  4252  // DdosCustomPolicy - A DDoS custom policy in a resource group.
  4253  type DdosCustomPolicy struct {
  4254  	// Resource ID.
  4255  	ID *string
  4256  
  4257  	// Resource location.
  4258  	Location *string
  4259  
  4260  	// Properties of the DDoS custom policy.
  4261  	Properties *DdosCustomPolicyPropertiesFormat
  4262  
  4263  	// Resource tags.
  4264  	Tags map[string]*string
  4265  
  4266  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4267  	Etag *string
  4268  
  4269  	// READ-ONLY; Resource name.
  4270  	Name *string
  4271  
  4272  	// READ-ONLY; Resource type.
  4273  	Type *string
  4274  }
  4275  
  4276  // DdosCustomPolicyPropertiesFormat - DDoS custom policy properties.
  4277  type DdosCustomPolicyPropertiesFormat struct {
  4278  	// READ-ONLY; The provisioning state of the DDoS custom policy resource.
  4279  	ProvisioningState *ProvisioningState
  4280  
  4281  	// READ-ONLY; The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if
  4282  	// the user changes its name or migrate the resource across subscriptions or resource groups.
  4283  	ResourceGUID *string
  4284  }
  4285  
  4286  // DdosProtectionPlan - A DDoS protection plan in a resource group.
  4287  type DdosProtectionPlan struct {
  4288  	// Resource location.
  4289  	Location *string
  4290  
  4291  	// Properties of the DDoS protection plan.
  4292  	Properties *DdosProtectionPlanPropertiesFormat
  4293  
  4294  	// Resource tags.
  4295  	Tags map[string]*string
  4296  
  4297  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4298  	Etag *string
  4299  
  4300  	// READ-ONLY; Resource ID.
  4301  	ID *string
  4302  
  4303  	// READ-ONLY; Resource name.
  4304  	Name *string
  4305  
  4306  	// READ-ONLY; Resource type.
  4307  	Type *string
  4308  }
  4309  
  4310  // DdosProtectionPlanListResult - A list of DDoS protection plans.
  4311  type DdosProtectionPlanListResult struct {
  4312  	// A list of DDoS protection plans.
  4313  	Value []*DdosProtectionPlan
  4314  
  4315  	// READ-ONLY; The URL to get the next set of results.
  4316  	NextLink *string
  4317  }
  4318  
  4319  // DdosProtectionPlanPropertiesFormat - DDoS protection plan properties.
  4320  type DdosProtectionPlanPropertiesFormat struct {
  4321  	// READ-ONLY; The provisioning state of the DDoS protection plan resource.
  4322  	ProvisioningState *ProvisioningState
  4323  
  4324  	// READ-ONLY; The list of public IPs associated with the DDoS protection plan resource. This list is read-only.
  4325  	PublicIPAddresses []*SubResource
  4326  
  4327  	// READ-ONLY; The resource GUID property of the DDoS protection plan resource. It uniquely identifies the resource, even if
  4328  	// the user changes its name or migrate the resource across subscriptions or resource groups.
  4329  	ResourceGUID *string
  4330  
  4331  	// READ-ONLY; The list of virtual networks associated with the DDoS protection plan resource. This list is read-only.
  4332  	VirtualNetworks []*SubResource
  4333  }
  4334  
  4335  // DdosSettings - Contains the DDoS protection settings of the public IP.
  4336  type DdosSettings struct {
  4337  	// The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled
  4338  	DdosProtectionPlan *SubResource
  4339  
  4340  	// The DDoS protection mode of the public IP
  4341  	ProtectionMode *DdosSettingsProtectionMode
  4342  }
  4343  
  4344  // DefaultAdminPropertiesFormat - Security default admin rule resource.
  4345  type DefaultAdminPropertiesFormat struct {
  4346  	// Default rule flag.
  4347  	Flag *string
  4348  
  4349  	// READ-ONLY; Indicates the access allowed for this particular rule
  4350  	Access *SecurityConfigurationRuleAccess
  4351  
  4352  	// READ-ONLY; A description for this rule. Restricted to 140 chars.
  4353  	Description *string
  4354  
  4355  	// READ-ONLY; The destination port ranges.
  4356  	DestinationPortRanges []*string
  4357  
  4358  	// READ-ONLY; The destination address prefixes. CIDR or destination IP ranges.
  4359  	Destinations []*AddressPrefixItem
  4360  
  4361  	// READ-ONLY; Indicates if the traffic matched against the rule in inbound or outbound.
  4362  	Direction *SecurityConfigurationRuleDirection
  4363  
  4364  	// READ-ONLY; The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule
  4365  	// in the collection. The lower the priority number, the higher the priority of the rule.
  4366  	Priority *int32
  4367  
  4368  	// READ-ONLY; Network protocol this rule applies to.
  4369  	Protocol *SecurityConfigurationRuleProtocol
  4370  
  4371  	// READ-ONLY; The provisioning state of the resource.
  4372  	ProvisioningState *ProvisioningState
  4373  
  4374  	// READ-ONLY; Unique identifier for this resource.
  4375  	ResourceGUID *string
  4376  
  4377  	// READ-ONLY; The source port ranges.
  4378  	SourcePortRanges []*string
  4379  
  4380  	// READ-ONLY; The CIDR or source IP ranges.
  4381  	Sources []*AddressPrefixItem
  4382  }
  4383  
  4384  // DefaultAdminRule - Network default admin rule.
  4385  type DefaultAdminRule struct {
  4386  	// REQUIRED; Whether the rule is custom or default.
  4387  	Kind *AdminRuleKind
  4388  
  4389  	// Indicates the properties of the security admin rule
  4390  	Properties *DefaultAdminPropertiesFormat
  4391  
  4392  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4393  	Etag *string
  4394  
  4395  	// READ-ONLY; Resource ID.
  4396  	ID *string
  4397  
  4398  	// READ-ONLY; Resource name.
  4399  	Name *string
  4400  
  4401  	// READ-ONLY; The system metadata related to this resource.
  4402  	SystemData *SystemData
  4403  
  4404  	// READ-ONLY; Resource type.
  4405  	Type *string
  4406  }
  4407  
  4408  // GetBaseAdminRule implements the BaseAdminRuleClassification interface for type DefaultAdminRule.
  4409  func (d *DefaultAdminRule) GetBaseAdminRule() *BaseAdminRule {
  4410  	return &BaseAdminRule{
  4411  		Etag:       d.Etag,
  4412  		ID:         d.ID,
  4413  		Kind:       d.Kind,
  4414  		Name:       d.Name,
  4415  		SystemData: d.SystemData,
  4416  		Type:       d.Type,
  4417  	}
  4418  }
  4419  
  4420  // DefaultRuleSetPropertyFormat - the default web application firewall rule set.
  4421  type DefaultRuleSetPropertyFormat struct {
  4422  	// The type of the web application firewall rule set.
  4423  	RuleSetType *string
  4424  
  4425  	// The version of the web application firewall rule set type.
  4426  	RuleSetVersion *string
  4427  }
  4428  
  4429  // Delegation - Details the service to which the subnet is delegated.
  4430  type Delegation struct {
  4431  	// Resource ID.
  4432  	ID *string
  4433  
  4434  	// The name of the resource that is unique within a subnet. This name can be used to access the resource.
  4435  	Name *string
  4436  
  4437  	// Properties of the subnet.
  4438  	Properties *ServiceDelegationPropertiesFormat
  4439  
  4440  	// Resource type.
  4441  	Type *string
  4442  
  4443  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4444  	Etag *string
  4445  }
  4446  
  4447  // DelegationProperties - Properties of the delegation.
  4448  type DelegationProperties struct {
  4449  	// The service name to which the NVA is delegated.
  4450  	ServiceName *string
  4451  
  4452  	// READ-ONLY; Provisioning states of a resource.
  4453  	ProvisioningState *ProvisioningState
  4454  }
  4455  
  4456  // DeviceProperties - List of properties of the device.
  4457  type DeviceProperties struct {
  4458  	// Model of the device.
  4459  	DeviceModel *string
  4460  
  4461  	// Name of the device Vendor.
  4462  	DeviceVendor *string
  4463  
  4464  	// Link speed.
  4465  	LinkSpeedInMbps *int32
  4466  }
  4467  
  4468  // DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for
  4469  // a subnet overrides VNET DHCP options.
  4470  type DhcpOptions struct {
  4471  	// The list of DNS servers IP addresses.
  4472  	DNSServers []*string
  4473  }
  4474  
  4475  // Dimension of the metric.
  4476  type Dimension struct {
  4477  	// The display name of the dimension.
  4478  	DisplayName *string
  4479  
  4480  	// The internal name of the dimension.
  4481  	InternalName *string
  4482  
  4483  	// The name of the dimension.
  4484  	Name *string
  4485  }
  4486  
  4487  // DscpConfiguration - Differentiated Services Code Point configuration for any given network interface
  4488  type DscpConfiguration struct {
  4489  	// Resource ID.
  4490  	ID *string
  4491  
  4492  	// Resource location.
  4493  	Location *string
  4494  
  4495  	// Properties of the network interface.
  4496  	Properties *DscpConfigurationPropertiesFormat
  4497  
  4498  	// Resource tags.
  4499  	Tags map[string]*string
  4500  
  4501  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4502  	Etag *string
  4503  
  4504  	// READ-ONLY; Resource name.
  4505  	Name *string
  4506  
  4507  	// READ-ONLY; Resource type.
  4508  	Type *string
  4509  }
  4510  
  4511  // DscpConfigurationListResult - Response for the DscpConfigurationList API service call.
  4512  type DscpConfigurationListResult struct {
  4513  	// A list of dscp configurations in a resource group.
  4514  	Value []*DscpConfiguration
  4515  
  4516  	// READ-ONLY; The URL to get the next set of results.
  4517  	NextLink *string
  4518  }
  4519  
  4520  // DscpConfigurationPropertiesFormat - Differentiated Services Code Point configuration properties.
  4521  type DscpConfigurationPropertiesFormat struct {
  4522  	// Destination IP ranges.
  4523  	DestinationIPRanges []*QosIPRange
  4524  
  4525  	// Destination port ranges.
  4526  	DestinationPortRanges []*QosPortRange
  4527  
  4528  	// List of markings to be used in the configuration.
  4529  	Markings []*int32
  4530  
  4531  	// RNM supported protocol types.
  4532  	Protocol *ProtocolType
  4533  
  4534  	// QoS object definitions
  4535  	QosDefinitionCollection []*QosDefinition
  4536  
  4537  	// Source IP ranges.
  4538  	SourceIPRanges []*QosIPRange
  4539  
  4540  	// Sources port ranges.
  4541  	SourcePortRanges []*QosPortRange
  4542  
  4543  	// READ-ONLY; Associated Network Interfaces to the DSCP Configuration.
  4544  	AssociatedNetworkInterfaces []*Interface
  4545  
  4546  	// READ-ONLY; The provisioning state of the DSCP Configuration resource.
  4547  	ProvisioningState *ProvisioningState
  4548  
  4549  	// READ-ONLY; Qos Collection ID generated by RNM.
  4550  	QosCollectionID *string
  4551  
  4552  	// READ-ONLY; The resource GUID property of the DSCP Configuration resource.
  4553  	ResourceGUID *string
  4554  }
  4555  
  4556  // EffectiveBaseSecurityAdminRule - Network base admin rule.
  4557  type EffectiveBaseSecurityAdminRule struct {
  4558  	// REQUIRED; Whether the rule is custom or default.
  4559  	Kind *EffectiveAdminRuleKind
  4560  
  4561  	// A description of the security admin configuration.
  4562  	ConfigurationDescription *string
  4563  
  4564  	// Resource ID.
  4565  	ID *string
  4566  
  4567  	// Groups for rule collection
  4568  	RuleCollectionAppliesToGroups []*ManagerSecurityGroupItem
  4569  
  4570  	// A description of the rule collection.
  4571  	RuleCollectionDescription *string
  4572  
  4573  	// Effective configuration groups.
  4574  	RuleGroups []*ConfigurationGroup
  4575  }
  4576  
  4577  // GetEffectiveBaseSecurityAdminRule implements the EffectiveBaseSecurityAdminRuleClassification interface for type EffectiveBaseSecurityAdminRule.
  4578  func (e *EffectiveBaseSecurityAdminRule) GetEffectiveBaseSecurityAdminRule() *EffectiveBaseSecurityAdminRule {
  4579  	return e
  4580  }
  4581  
  4582  // EffectiveConnectivityConfiguration - The network manager effective connectivity configuration
  4583  type EffectiveConnectivityConfiguration struct {
  4584  	// Effective configuration groups.
  4585  	ConfigurationGroups []*ConfigurationGroup
  4586  
  4587  	// Connectivity configuration ID.
  4588  	ID *string
  4589  
  4590  	// Properties of a network manager connectivity configuration
  4591  	Properties *ConnectivityConfigurationProperties
  4592  }
  4593  
  4594  // EffectiveDefaultSecurityAdminRule - Network default admin rule.
  4595  type EffectiveDefaultSecurityAdminRule struct {
  4596  	// REQUIRED; Whether the rule is custom or default.
  4597  	Kind *EffectiveAdminRuleKind
  4598  
  4599  	// A description of the security admin configuration.
  4600  	ConfigurationDescription *string
  4601  
  4602  	// Resource ID.
  4603  	ID *string
  4604  
  4605  	// Indicates the properties of the default security admin rule
  4606  	Properties *DefaultAdminPropertiesFormat
  4607  
  4608  	// Groups for rule collection
  4609  	RuleCollectionAppliesToGroups []*ManagerSecurityGroupItem
  4610  
  4611  	// A description of the rule collection.
  4612  	RuleCollectionDescription *string
  4613  
  4614  	// Effective configuration groups.
  4615  	RuleGroups []*ConfigurationGroup
  4616  }
  4617  
  4618  // GetEffectiveBaseSecurityAdminRule implements the EffectiveBaseSecurityAdminRuleClassification interface for type EffectiveDefaultSecurityAdminRule.
  4619  func (e *EffectiveDefaultSecurityAdminRule) GetEffectiveBaseSecurityAdminRule() *EffectiveBaseSecurityAdminRule {
  4620  	return &EffectiveBaseSecurityAdminRule{
  4621  		ConfigurationDescription:      e.ConfigurationDescription,
  4622  		ID:                            e.ID,
  4623  		Kind:                          e.Kind,
  4624  		RuleCollectionAppliesToGroups: e.RuleCollectionAppliesToGroups,
  4625  		RuleCollectionDescription:     e.RuleCollectionDescription,
  4626  		RuleGroups:                    e.RuleGroups,
  4627  	}
  4628  }
  4629  
  4630  // EffectiveNetworkSecurityGroup - Effective network security group.
  4631  type EffectiveNetworkSecurityGroup struct {
  4632  	// Associated resources.
  4633  	Association *EffectiveNetworkSecurityGroupAssociation
  4634  
  4635  	// A collection of effective security rules.
  4636  	EffectiveSecurityRules []*EffectiveNetworkSecurityRule
  4637  
  4638  	// The ID of network security group that is applied.
  4639  	NetworkSecurityGroup *SubResource
  4640  
  4641  	// Mapping of tags to list of IP Addresses included within the tag.
  4642  	TagMap *string
  4643  }
  4644  
  4645  // EffectiveNetworkSecurityGroupAssociation - The effective network security group association.
  4646  type EffectiveNetworkSecurityGroupAssociation struct {
  4647  	// The ID of the network interface if assigned.
  4648  	NetworkInterface *SubResource
  4649  
  4650  	// The ID of the Azure network manager if assigned.
  4651  	NetworkManager *SubResource
  4652  
  4653  	// The ID of the subnet if assigned.
  4654  	Subnet *SubResource
  4655  }
  4656  
  4657  // EffectiveNetworkSecurityGroupListResult - Response for list effective network security groups API service call.
  4658  type EffectiveNetworkSecurityGroupListResult struct {
  4659  	// A list of effective network security groups.
  4660  	Value []*EffectiveNetworkSecurityGroup
  4661  
  4662  	// READ-ONLY; The URL to get the next set of results.
  4663  	NextLink *string
  4664  }
  4665  
  4666  // EffectiveNetworkSecurityRule - Effective network security rules.
  4667  type EffectiveNetworkSecurityRule struct {
  4668  	// Whether network traffic is allowed or denied.
  4669  	Access *SecurityRuleAccess
  4670  
  4671  	// The destination address prefix.
  4672  	DestinationAddressPrefix *string
  4673  
  4674  	// The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer,
  4675  	// Internet), System Tags, and the asterisk (*).
  4676  	DestinationAddressPrefixes []*string
  4677  
  4678  	// The destination port or range.
  4679  	DestinationPortRange *string
  4680  
  4681  	// The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator
  4682  	// (e.g. 100-400), or an asterisk (*).
  4683  	DestinationPortRanges []*string
  4684  
  4685  	// The direction of the rule.
  4686  	Direction *SecurityRuleDirection
  4687  
  4688  	// Expanded destination address prefix.
  4689  	ExpandedDestinationAddressPrefix []*string
  4690  
  4691  	// The expanded source address prefix.
  4692  	ExpandedSourceAddressPrefix []*string
  4693  
  4694  	// The name of the security rule specified by the user (if created by the user).
  4695  	Name *string
  4696  
  4697  	// The priority of the rule.
  4698  	Priority *int32
  4699  
  4700  	// The network protocol this rule applies to.
  4701  	Protocol *EffectiveSecurityRuleProtocol
  4702  
  4703  	// The source address prefix.
  4704  	SourceAddressPrefix *string
  4705  
  4706  	// The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet),
  4707  	// System Tags, and the asterisk (*).
  4708  	SourceAddressPrefixes []*string
  4709  
  4710  	// The source port or range.
  4711  	SourcePortRange *string
  4712  
  4713  	// The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g.
  4714  	// 100-400), or an asterisk (*).
  4715  	SourcePortRanges []*string
  4716  }
  4717  
  4718  // EffectiveRoute - Effective Route.
  4719  type EffectiveRoute struct {
  4720  	// The address prefixes of the effective routes in CIDR notation.
  4721  	AddressPrefix []*string
  4722  
  4723  	// If true, on-premises routes are not propagated to the network interfaces in the subnet.
  4724  	DisableBgpRoutePropagation *bool
  4725  
  4726  	// The name of the user defined route. This is optional.
  4727  	Name *string
  4728  
  4729  	// The IP address of the next hop of the effective route.
  4730  	NextHopIPAddress []*string
  4731  
  4732  	// The type of Azure hop the packet should be sent to.
  4733  	NextHopType *RouteNextHopType
  4734  
  4735  	// Who created the route.
  4736  	Source *EffectiveRouteSource
  4737  
  4738  	// The value of effective route.
  4739  	State *EffectiveRouteState
  4740  }
  4741  
  4742  // EffectiveRouteListResult - Response for list effective route API service call.
  4743  type EffectiveRouteListResult struct {
  4744  	// A list of effective routes.
  4745  	Value []*EffectiveRoute
  4746  
  4747  	// READ-ONLY; The URL to get the next set of results.
  4748  	NextLink *string
  4749  }
  4750  
  4751  // EffectiveRouteMapRoute - The effective RouteMap route configured on the connection resource.
  4752  type EffectiveRouteMapRoute struct {
  4753  	// The ASPath of this route.
  4754  	AsPath *string
  4755  
  4756  	// BGP communities of the route.
  4757  	BgpCommunities *string
  4758  
  4759  	// The address prefix of the route.
  4760  	Prefix *string
  4761  }
  4762  
  4763  // EffectiveRouteMapRouteList - EffectiveRouteMapRoute List.
  4764  type EffectiveRouteMapRouteList struct {
  4765  	// The list of Effective RouteMap Routes configured on the connection resource.
  4766  	Value []*EffectiveRouteMapRoute
  4767  }
  4768  
  4769  // EffectiveRoutesParameters - The parameters specifying the resource whose effective routes are being requested.
  4770  type EffectiveRoutesParameters struct {
  4771  	// The resource whose effective routes are being requested.
  4772  	ResourceID *string
  4773  
  4774  	// The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection
  4775  	// and P2SConnection.
  4776  	VirtualWanResourceType *string
  4777  }
  4778  
  4779  // EffectiveSecurityAdminRule - Network admin rule.
  4780  type EffectiveSecurityAdminRule struct {
  4781  	// REQUIRED; Whether the rule is custom or default.
  4782  	Kind *EffectiveAdminRuleKind
  4783  
  4784  	// A description of the security admin configuration.
  4785  	ConfigurationDescription *string
  4786  
  4787  	// Resource ID.
  4788  	ID *string
  4789  
  4790  	// Indicates the properties of the security admin rule
  4791  	Properties *AdminPropertiesFormat
  4792  
  4793  	// Groups for rule collection
  4794  	RuleCollectionAppliesToGroups []*ManagerSecurityGroupItem
  4795  
  4796  	// A description of the rule collection.
  4797  	RuleCollectionDescription *string
  4798  
  4799  	// Effective configuration groups.
  4800  	RuleGroups []*ConfigurationGroup
  4801  }
  4802  
  4803  // GetEffectiveBaseSecurityAdminRule implements the EffectiveBaseSecurityAdminRuleClassification interface for type EffectiveSecurityAdminRule.
  4804  func (e *EffectiveSecurityAdminRule) GetEffectiveBaseSecurityAdminRule() *EffectiveBaseSecurityAdminRule {
  4805  	return &EffectiveBaseSecurityAdminRule{
  4806  		ConfigurationDescription:      e.ConfigurationDescription,
  4807  		ID:                            e.ID,
  4808  		Kind:                          e.Kind,
  4809  		RuleCollectionAppliesToGroups: e.RuleCollectionAppliesToGroups,
  4810  		RuleCollectionDescription:     e.RuleCollectionDescription,
  4811  		RuleGroups:                    e.RuleGroups,
  4812  	}
  4813  }
  4814  
  4815  // EndpointServiceResult - Endpoint service.
  4816  type EndpointServiceResult struct {
  4817  	// Resource ID.
  4818  	ID *string
  4819  
  4820  	// READ-ONLY; Name of the endpoint service.
  4821  	Name *string
  4822  
  4823  	// READ-ONLY; Type of the endpoint service.
  4824  	Type *string
  4825  }
  4826  
  4827  // EndpointServicesListResult - Response for the ListAvailableEndpointServices API service call.
  4828  type EndpointServicesListResult struct {
  4829  	// The URL to get the next set of results.
  4830  	NextLink *string
  4831  
  4832  	// List of available endpoint services in a region.
  4833  	Value []*EndpointServiceResult
  4834  }
  4835  
  4836  // Error - Common error representation.
  4837  type Error struct {
  4838  	// Error code.
  4839  	Code *string
  4840  
  4841  	// Error details.
  4842  	Details []*ErrorDetails
  4843  
  4844  	// Inner error message.
  4845  	InnerError *string
  4846  
  4847  	// Error message.
  4848  	Message *string
  4849  
  4850  	// Error target.
  4851  	Target *string
  4852  }
  4853  
  4854  // ErrorDetails - Common error details representation.
  4855  type ErrorDetails struct {
  4856  	// Error code.
  4857  	Code *string
  4858  
  4859  	// Error message.
  4860  	Message *string
  4861  
  4862  	// Error target.
  4863  	Target *string
  4864  }
  4865  
  4866  // ErrorResponse - The error object.
  4867  type ErrorResponse struct {
  4868  	// The error details object.
  4869  	Error *ErrorDetails
  4870  }
  4871  
  4872  // EvaluatedNetworkSecurityGroup - Results of network security group evaluation.
  4873  type EvaluatedNetworkSecurityGroup struct {
  4874  	// Resource ID of nic or subnet to which network security group is applied.
  4875  	AppliedTo *string
  4876  
  4877  	// Matched network security rule.
  4878  	MatchedRule *MatchedRule
  4879  
  4880  	// Network security group ID.
  4881  	NetworkSecurityGroupID *string
  4882  
  4883  	// READ-ONLY; List of network security rules evaluation results.
  4884  	RulesEvaluationResult []*SecurityRulesEvaluationResult
  4885  }
  4886  
  4887  // ExceptionEntry - Adds exception to allow a request when the condition is satisfied.
  4888  type ExceptionEntry struct {
  4889  	// REQUIRED; The variable on which we evaluate the exception condition
  4890  	MatchVariable *ExceptionEntryMatchVariable
  4891  
  4892  	// REQUIRED; Operates on the allowed values for the matchVariable
  4893  	ValueMatchOperator *ExceptionEntryValueMatchOperator
  4894  
  4895  	// The managed rule sets that are associated with the exception.
  4896  	ExceptionManagedRuleSets []*ExclusionManagedRuleSet
  4897  
  4898  	// When the matchVariable points to a key-value pair (e.g, RequestHeader), this identifies the key.
  4899  	Selector *string
  4900  
  4901  	// When the matchVariable points to a key-value pair (e.g, RequestHeader), this operates on the selector
  4902  	SelectorMatchOperator *ExceptionEntrySelectorMatchOperator
  4903  
  4904  	// Allowed values for the matchVariable
  4905  	Values []*string
  4906  }
  4907  
  4908  // ExclusionManagedRule - Defines a managed rule to use for exclusion.
  4909  type ExclusionManagedRule struct {
  4910  	// REQUIRED; Identifier for the managed rule.
  4911  	RuleID *string
  4912  }
  4913  
  4914  // ExclusionManagedRuleGroup - Defines a managed rule group to use for exclusion.
  4915  type ExclusionManagedRuleGroup struct {
  4916  	// REQUIRED; The managed rule group for exclusion.
  4917  	RuleGroupName *string
  4918  
  4919  	// List of rules that will be excluded. If none specified, all rules in the group will be excluded.
  4920  	Rules []*ExclusionManagedRule
  4921  }
  4922  
  4923  // ExclusionManagedRuleSet - Defines a managed rule set for Exclusions.
  4924  type ExclusionManagedRuleSet struct {
  4925  	// REQUIRED; Defines the rule set type to use.
  4926  	RuleSetType *string
  4927  
  4928  	// REQUIRED; Defines the version of the rule set to use.
  4929  	RuleSetVersion *string
  4930  
  4931  	// Defines the rule groups to apply to the rule set.
  4932  	RuleGroups []*ExclusionManagedRuleGroup
  4933  }
  4934  
  4935  // ExplicitProxySettings - Explicit Proxy Settings in Firewall Policy.
  4936  type ExplicitProxySettings struct {
  4937  	// When set to true, explicit proxy mode is enabled.
  4938  	EnableExplicitProxy *bool
  4939  
  4940  	// When set to true, pac file port and url needs to be provided.
  4941  	EnablePacFile *bool
  4942  
  4943  	// Port number for explicit proxy http protocol, cannot be greater than 64000.
  4944  	HTTPPort *int32
  4945  
  4946  	// Port number for explicit proxy https protocol, cannot be greater than 64000.
  4947  	HTTPSPort *int32
  4948  
  4949  	// SAS URL for PAC file.
  4950  	PacFile *string
  4951  
  4952  	// Port number for firewall to serve PAC file.
  4953  	PacFilePort *int32
  4954  }
  4955  
  4956  // ExpressRouteCircuit resource.
  4957  type ExpressRouteCircuit struct {
  4958  	// Resource ID.
  4959  	ID *string
  4960  
  4961  	// Resource location.
  4962  	Location *string
  4963  
  4964  	// Properties of the express route circuit.
  4965  	Properties *ExpressRouteCircuitPropertiesFormat
  4966  
  4967  	// The SKU.
  4968  	SKU *ExpressRouteCircuitSKU
  4969  
  4970  	// Resource tags.
  4971  	Tags map[string]*string
  4972  
  4973  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  4974  	Etag *string
  4975  
  4976  	// READ-ONLY; Resource name.
  4977  	Name *string
  4978  
  4979  	// READ-ONLY; Resource type.
  4980  	Type *string
  4981  }
  4982  
  4983  // ExpressRouteCircuitArpTable - The ARP table associated with the ExpressRouteCircuit.
  4984  type ExpressRouteCircuitArpTable struct {
  4985  	// Entry age in minutes.
  4986  	Age *int32
  4987  
  4988  	// The IP address.
  4989  	IPAddress *string
  4990  
  4991  	// Interface address.
  4992  	Interface *string
  4993  
  4994  	// The MAC address.
  4995  	MacAddress *string
  4996  }
  4997  
  4998  // ExpressRouteCircuitAuthorization - Authorization in an ExpressRouteCircuit resource.
  4999  type ExpressRouteCircuitAuthorization struct {
  5000  	// Resource ID.
  5001  	ID *string
  5002  
  5003  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  5004  	Name *string
  5005  
  5006  	// Properties of the express route circuit authorization.
  5007  	Properties *AuthorizationPropertiesFormat
  5008  
  5009  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5010  	Etag *string
  5011  
  5012  	// READ-ONLY; Type of the resource.
  5013  	Type *string
  5014  }
  5015  
  5016  // ExpressRouteCircuitConnection - Express Route Circuit Connection in an ExpressRouteCircuitPeering resource.
  5017  type ExpressRouteCircuitConnection struct {
  5018  	// Resource ID.
  5019  	ID *string
  5020  
  5021  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  5022  	Name *string
  5023  
  5024  	// Properties of the express route circuit connection.
  5025  	Properties *ExpressRouteCircuitConnectionPropertiesFormat
  5026  
  5027  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5028  	Etag *string
  5029  
  5030  	// READ-ONLY; Type of the resource.
  5031  	Type *string
  5032  }
  5033  
  5034  // ExpressRouteCircuitConnectionListResult - Response for ListConnections API service call retrieves all global reach connections
  5035  // that belongs to a Private Peering for an ExpressRouteCircuit.
  5036  type ExpressRouteCircuitConnectionListResult struct {
  5037  	// The URL to get the next set of results.
  5038  	NextLink *string
  5039  
  5040  	// The global reach connection associated with Private Peering in an ExpressRoute Circuit.
  5041  	Value []*ExpressRouteCircuitConnection
  5042  }
  5043  
  5044  // ExpressRouteCircuitConnectionPropertiesFormat - Properties of the express route circuit connection.
  5045  type ExpressRouteCircuitConnectionPropertiesFormat struct {
  5046  	// /29 IP address space to carve out Customer addresses for tunnels.
  5047  	AddressPrefix *string
  5048  
  5049  	// The authorization key.
  5050  	AuthorizationKey *string
  5051  
  5052  	// Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection.
  5053  	ExpressRouteCircuitPeering *SubResource
  5054  
  5055  	// IPv6 Address PrefixProperties of the express route circuit connection.
  5056  	IPv6CircuitConnectionConfig *IPv6CircuitConnectionConfig
  5057  
  5058  	// Reference to Express Route Circuit Private Peering Resource of the peered circuit.
  5059  	PeerExpressRouteCircuitPeering *SubResource
  5060  
  5061  	// READ-ONLY; Express Route Circuit connection state.
  5062  	CircuitConnectionStatus *CircuitConnectionStatus
  5063  
  5064  	// READ-ONLY; The provisioning state of the express route circuit connection resource.
  5065  	ProvisioningState *ProvisioningState
  5066  }
  5067  
  5068  // ExpressRouteCircuitListResult - Response for ListExpressRouteCircuit API service call.
  5069  type ExpressRouteCircuitListResult struct {
  5070  	// The URL to get the next set of results.
  5071  	NextLink *string
  5072  
  5073  	// A list of ExpressRouteCircuits in a resource group.
  5074  	Value []*ExpressRouteCircuit
  5075  }
  5076  
  5077  // ExpressRouteCircuitPeering - Peering in an ExpressRouteCircuit resource.
  5078  type ExpressRouteCircuitPeering struct {
  5079  	// Resource ID.
  5080  	ID *string
  5081  
  5082  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  5083  	Name *string
  5084  
  5085  	// Properties of the express route circuit peering.
  5086  	Properties *ExpressRouteCircuitPeeringPropertiesFormat
  5087  
  5088  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5089  	Etag *string
  5090  
  5091  	// READ-ONLY; Type of the resource.
  5092  	Type *string
  5093  }
  5094  
  5095  // ExpressRouteCircuitPeeringConfig - Specifies the peering configuration.
  5096  type ExpressRouteCircuitPeeringConfig struct {
  5097  	// The communities of bgp peering. Specified for microsoft peering.
  5098  	AdvertisedCommunities []*string
  5099  
  5100  	// The reference to AdvertisedPublicPrefixes.
  5101  	AdvertisedPublicPrefixes []*string
  5102  
  5103  	// The CustomerASN of the peering.
  5104  	CustomerASN *int32
  5105  
  5106  	// The legacy mode of the peering.
  5107  	LegacyMode *int32
  5108  
  5109  	// The RoutingRegistryName of the configuration.
  5110  	RoutingRegistryName *string
  5111  
  5112  	// READ-ONLY; The advertised public prefix state of the Peering resource.
  5113  	AdvertisedPublicPrefixesState *ExpressRouteCircuitPeeringAdvertisedPublicPrefixState
  5114  }
  5115  
  5116  // ExpressRouteCircuitPeeringID - ExpressRoute circuit peering identifier.
  5117  type ExpressRouteCircuitPeeringID struct {
  5118  	// The ID of the ExpressRoute circuit peering.
  5119  	ID *string
  5120  }
  5121  
  5122  // ExpressRouteCircuitPeeringListResult - Response for ListPeering API service call retrieves all peerings that belong to
  5123  // an ExpressRouteCircuit.
  5124  type ExpressRouteCircuitPeeringListResult struct {
  5125  	// The URL to get the next set of results.
  5126  	NextLink *string
  5127  
  5128  	// The peerings in an express route circuit.
  5129  	Value []*ExpressRouteCircuitPeering
  5130  }
  5131  
  5132  // ExpressRouteCircuitPeeringPropertiesFormat - Properties of the express route circuit peering.
  5133  type ExpressRouteCircuitPeeringPropertiesFormat struct {
  5134  	// The Azure ASN.
  5135  	AzureASN *int32
  5136  
  5137  	// The list of circuit connections associated with Azure Private Peering for this circuit.
  5138  	Connections []*ExpressRouteCircuitConnection
  5139  
  5140  	// The ExpressRoute connection.
  5141  	ExpressRouteConnection *ExpressRouteConnectionID
  5142  
  5143  	// The GatewayManager Etag.
  5144  	GatewayManagerEtag *string
  5145  
  5146  	// The IPv6 peering configuration.
  5147  	IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig
  5148  
  5149  	// The Microsoft peering configuration.
  5150  	MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig
  5151  
  5152  	// The peer ASN.
  5153  	PeerASN *int64
  5154  
  5155  	// The peering type.
  5156  	PeeringType *ExpressRoutePeeringType
  5157  
  5158  	// The primary port.
  5159  	PrimaryAzurePort *string
  5160  
  5161  	// The primary address prefix.
  5162  	PrimaryPeerAddressPrefix *string
  5163  
  5164  	// The reference to the RouteFilter resource.
  5165  	RouteFilter *SubResource
  5166  
  5167  	// The secondary port.
  5168  	SecondaryAzurePort *string
  5169  
  5170  	// The secondary address prefix.
  5171  	SecondaryPeerAddressPrefix *string
  5172  
  5173  	// The shared key.
  5174  	SharedKey *string
  5175  
  5176  	// The peering state.
  5177  	State *ExpressRoutePeeringState
  5178  
  5179  	// The peering stats of express route circuit.
  5180  	Stats *ExpressRouteCircuitStats
  5181  
  5182  	// The VLAN ID.
  5183  	VlanID *int32
  5184  
  5185  	// READ-ONLY; Who was the last to modify the peering.
  5186  	LastModifiedBy *string
  5187  
  5188  	// READ-ONLY; The list of peered circuit connections associated with Azure Private Peering for this circuit.
  5189  	PeeredConnections []*PeerExpressRouteCircuitConnection
  5190  
  5191  	// READ-ONLY; The provisioning state of the express route circuit peering resource.
  5192  	ProvisioningState *ProvisioningState
  5193  }
  5194  
  5195  // ExpressRouteCircuitPropertiesFormat - Properties of ExpressRouteCircuit.
  5196  type ExpressRouteCircuitPropertiesFormat struct {
  5197  	// Allow classic operations.
  5198  	AllowClassicOperations *bool
  5199  
  5200  	// The authorizationKey.
  5201  	AuthorizationKey *string
  5202  
  5203  	// The list of authorizations.
  5204  	Authorizations []*ExpressRouteCircuitAuthorization
  5205  
  5206  	// The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource.
  5207  	BandwidthInGbps *float32
  5208  
  5209  	// The CircuitProvisioningState state of the resource.
  5210  	CircuitProvisioningState *string
  5211  
  5212  	// Flag denoting rate-limiting status of the ExpressRoute direct-port circuit.
  5213  	EnableDirectPortRateLimit *bool
  5214  
  5215  	// The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource.
  5216  	ExpressRoutePort *SubResource
  5217  
  5218  	// The GatewayManager Etag.
  5219  	GatewayManagerEtag *string
  5220  
  5221  	// Flag denoting global reach status.
  5222  	GlobalReachEnabled *bool
  5223  
  5224  	// The list of peerings.
  5225  	Peerings []*ExpressRouteCircuitPeering
  5226  
  5227  	// The ServiceKey.
  5228  	ServiceKey *string
  5229  
  5230  	// The ServiceProviderNotes.
  5231  	ServiceProviderNotes *string
  5232  
  5233  	// The ServiceProviderProperties.
  5234  	ServiceProviderProperties *ExpressRouteCircuitServiceProviderProperties
  5235  
  5236  	// The ServiceProviderProvisioningState state of the resource.
  5237  	ServiceProviderProvisioningState *ServiceProviderProvisioningState
  5238  
  5239  	// READ-ONLY; The authorization status of the Circuit.
  5240  	AuthorizationStatus *string
  5241  
  5242  	// READ-ONLY; The provisioning state of the express route circuit resource.
  5243  	ProvisioningState *ProvisioningState
  5244  
  5245  	// READ-ONLY; The identifier of the circuit traffic. Outer tag for QinQ encapsulation.
  5246  	Stag *int32
  5247  }
  5248  
  5249  // ExpressRouteCircuitReference - Reference to an express route circuit.
  5250  type ExpressRouteCircuitReference struct {
  5251  	// Corresponding Express Route Circuit Id.
  5252  	ID *string
  5253  }
  5254  
  5255  // ExpressRouteCircuitRoutesTable - The routes table associated with the ExpressRouteCircuit.
  5256  type ExpressRouteCircuitRoutesTable struct {
  5257  	// Local preference value as set with the set local-preference route-map configuration command.
  5258  	LocPrf *string
  5259  
  5260  	// IP address of a network entity.
  5261  	Network *string
  5262  
  5263  	// NextHop address.
  5264  	NextHop *string
  5265  
  5266  	// Autonomous system paths to the destination network.
  5267  	Path *string
  5268  
  5269  	// Route Weight.
  5270  	Weight *int32
  5271  }
  5272  
  5273  // ExpressRouteCircuitRoutesTableSummary - The routes table associated with the ExpressRouteCircuit.
  5274  type ExpressRouteCircuitRoutesTableSummary struct {
  5275  	// Autonomous system number.
  5276  	As *int32
  5277  
  5278  	// IP address of the neighbor.
  5279  	Neighbor *string
  5280  
  5281  	// Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group.
  5282  	StatePfxRcd *string
  5283  
  5284  	// The length of time that the BGP session has been in the Established state, or the current status if not in the Established
  5285  	// state.
  5286  	UpDown *string
  5287  
  5288  	// BGP version number spoken to the neighbor.
  5289  	V *int32
  5290  }
  5291  
  5292  // ExpressRouteCircuitSKU - Contains SKU in an ExpressRouteCircuit.
  5293  type ExpressRouteCircuitSKU struct {
  5294  	// The family of the SKU.
  5295  	Family *ExpressRouteCircuitSKUFamily
  5296  
  5297  	// The name of the SKU.
  5298  	Name *string
  5299  
  5300  	// The tier of the SKU.
  5301  	Tier *ExpressRouteCircuitSKUTier
  5302  }
  5303  
  5304  // ExpressRouteCircuitServiceProviderProperties - Contains ServiceProviderProperties in an ExpressRouteCircuit.
  5305  type ExpressRouteCircuitServiceProviderProperties struct {
  5306  	// The BandwidthInMbps.
  5307  	BandwidthInMbps *int32
  5308  
  5309  	// The peering location.
  5310  	PeeringLocation *string
  5311  
  5312  	// The serviceProviderName.
  5313  	ServiceProviderName *string
  5314  }
  5315  
  5316  // ExpressRouteCircuitStats - Contains stats associated with the peering.
  5317  type ExpressRouteCircuitStats struct {
  5318  	// The Primary BytesIn of the peering.
  5319  	PrimarybytesIn *int64
  5320  
  5321  	// The primary BytesOut of the peering.
  5322  	PrimarybytesOut *int64
  5323  
  5324  	// The secondary BytesIn of the peering.
  5325  	SecondarybytesIn *int64
  5326  
  5327  	// The secondary BytesOut of the peering.
  5328  	SecondarybytesOut *int64
  5329  }
  5330  
  5331  // ExpressRouteCircuitsArpTableListResult - Response for ListArpTable associated with the Express Route Circuits API.
  5332  type ExpressRouteCircuitsArpTableListResult struct {
  5333  	// The URL to get the next set of results.
  5334  	NextLink *string
  5335  
  5336  	// A list of the ARP tables.
  5337  	Value []*ExpressRouteCircuitArpTable
  5338  }
  5339  
  5340  // ExpressRouteCircuitsRoutesTableListResult - Response for ListRoutesTable associated with the Express Route Circuits API.
  5341  type ExpressRouteCircuitsRoutesTableListResult struct {
  5342  	// The URL to get the next set of results.
  5343  	NextLink *string
  5344  
  5345  	// The list of routes table.
  5346  	Value []*ExpressRouteCircuitRoutesTable
  5347  }
  5348  
  5349  // ExpressRouteCircuitsRoutesTableSummaryListResult - Response for ListRoutesTable associated with the Express Route Circuits
  5350  // API.
  5351  type ExpressRouteCircuitsRoutesTableSummaryListResult struct {
  5352  	// The URL to get the next set of results.
  5353  	NextLink *string
  5354  
  5355  	// A list of the routes table.
  5356  	Value []*ExpressRouteCircuitRoutesTableSummary
  5357  }
  5358  
  5359  // ExpressRouteConnection resource.
  5360  type ExpressRouteConnection struct {
  5361  	// REQUIRED; The name of the resource.
  5362  	Name *string
  5363  
  5364  	// Resource ID.
  5365  	ID *string
  5366  
  5367  	// Properties of the express route connection.
  5368  	Properties *ExpressRouteConnectionProperties
  5369  }
  5370  
  5371  // ExpressRouteConnectionID - The ID of the ExpressRouteConnection.
  5372  type ExpressRouteConnectionID struct {
  5373  	// READ-ONLY; The ID of the ExpressRouteConnection.
  5374  	ID *string
  5375  }
  5376  
  5377  // ExpressRouteConnectionList - ExpressRouteConnection list.
  5378  type ExpressRouteConnectionList struct {
  5379  	// The list of ExpressRoute connections.
  5380  	Value []*ExpressRouteConnection
  5381  }
  5382  
  5383  // ExpressRouteConnectionProperties - Properties of the ExpressRouteConnection subresource.
  5384  type ExpressRouteConnectionProperties struct {
  5385  	// REQUIRED; The ExpressRoute circuit peering.
  5386  	ExpressRouteCircuitPeering *ExpressRouteCircuitPeeringID
  5387  
  5388  	// Authorization key to establish the connection.
  5389  	AuthorizationKey *string
  5390  
  5391  	// Enable internet security.
  5392  	EnableInternetSecurity *bool
  5393  
  5394  	// Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be
  5395  	// enabled.
  5396  	EnablePrivateLinkFastPath *bool
  5397  
  5398  	// Enable FastPath to vWan Firewall hub.
  5399  	ExpressRouteGatewayBypass *bool
  5400  
  5401  	// The Routing Configuration indicating the associated and propagated route tables on this connection.
  5402  	RoutingConfiguration *RoutingConfiguration
  5403  
  5404  	// The routing weight associated to the connection.
  5405  	RoutingWeight *int32
  5406  
  5407  	// READ-ONLY; The provisioning state of the express route connection resource.
  5408  	ProvisioningState *ProvisioningState
  5409  }
  5410  
  5411  // ExpressRouteCrossConnection resource.
  5412  type ExpressRouteCrossConnection struct {
  5413  	// Resource ID.
  5414  	ID *string
  5415  
  5416  	// Resource location.
  5417  	Location *string
  5418  
  5419  	// Properties of the express route cross connection.
  5420  	Properties *ExpressRouteCrossConnectionProperties
  5421  
  5422  	// Resource tags.
  5423  	Tags map[string]*string
  5424  
  5425  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5426  	Etag *string
  5427  
  5428  	// READ-ONLY; Resource name.
  5429  	Name *string
  5430  
  5431  	// READ-ONLY; Resource type.
  5432  	Type *string
  5433  }
  5434  
  5435  // ExpressRouteCrossConnectionListResult - Response for ListExpressRouteCrossConnection API service call.
  5436  type ExpressRouteCrossConnectionListResult struct {
  5437  	// A list of ExpressRouteCrossConnection resources.
  5438  	Value []*ExpressRouteCrossConnection
  5439  
  5440  	// READ-ONLY; The URL to get the next set of results.
  5441  	NextLink *string
  5442  }
  5443  
  5444  // ExpressRouteCrossConnectionPeering - Peering in an ExpressRoute Cross Connection resource.
  5445  type ExpressRouteCrossConnectionPeering struct {
  5446  	// Resource ID.
  5447  	ID *string
  5448  
  5449  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  5450  	Name *string
  5451  
  5452  	// Properties of the express route cross connection peering.
  5453  	Properties *ExpressRouteCrossConnectionPeeringProperties
  5454  
  5455  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5456  	Etag *string
  5457  }
  5458  
  5459  // ExpressRouteCrossConnectionPeeringList - Response for ListPeering API service call retrieves all peerings that belong to
  5460  // an ExpressRouteCrossConnection.
  5461  type ExpressRouteCrossConnectionPeeringList struct {
  5462  	// The peerings in an express route cross connection.
  5463  	Value []*ExpressRouteCrossConnectionPeering
  5464  
  5465  	// READ-ONLY; The URL to get the next set of results.
  5466  	NextLink *string
  5467  }
  5468  
  5469  // ExpressRouteCrossConnectionPeeringProperties - Properties of express route cross connection peering.
  5470  type ExpressRouteCrossConnectionPeeringProperties struct {
  5471  	// The GatewayManager Etag.
  5472  	GatewayManagerEtag *string
  5473  
  5474  	// The IPv6 peering configuration.
  5475  	IPv6PeeringConfig *IPv6ExpressRouteCircuitPeeringConfig
  5476  
  5477  	// The Microsoft peering configuration.
  5478  	MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig
  5479  
  5480  	// The peer ASN.
  5481  	PeerASN *int64
  5482  
  5483  	// The peering type.
  5484  	PeeringType *ExpressRoutePeeringType
  5485  
  5486  	// The primary address prefix.
  5487  	PrimaryPeerAddressPrefix *string
  5488  
  5489  	// The secondary address prefix.
  5490  	SecondaryPeerAddressPrefix *string
  5491  
  5492  	// The shared key.
  5493  	SharedKey *string
  5494  
  5495  	// The peering state.
  5496  	State *ExpressRoutePeeringState
  5497  
  5498  	// The VLAN ID.
  5499  	VlanID *int32
  5500  
  5501  	// READ-ONLY; The Azure ASN.
  5502  	AzureASN *int32
  5503  
  5504  	// READ-ONLY; Who was the last to modify the peering.
  5505  	LastModifiedBy *string
  5506  
  5507  	// READ-ONLY; The primary port.
  5508  	PrimaryAzurePort *string
  5509  
  5510  	// READ-ONLY; The provisioning state of the express route cross connection peering resource.
  5511  	ProvisioningState *ProvisioningState
  5512  
  5513  	// READ-ONLY; The secondary port.
  5514  	SecondaryAzurePort *string
  5515  }
  5516  
  5517  // ExpressRouteCrossConnectionProperties - Properties of ExpressRouteCrossConnection.
  5518  type ExpressRouteCrossConnectionProperties struct {
  5519  	// The ExpressRouteCircuit.
  5520  	ExpressRouteCircuit *ExpressRouteCircuitReference
  5521  
  5522  	// The list of peerings.
  5523  	Peerings []*ExpressRouteCrossConnectionPeering
  5524  
  5525  	// Additional read only notes set by the connectivity provider.
  5526  	ServiceProviderNotes *string
  5527  
  5528  	// The provisioning state of the circuit in the connectivity provider system.
  5529  	ServiceProviderProvisioningState *ServiceProviderProvisioningState
  5530  
  5531  	// READ-ONLY; The circuit bandwidth In Mbps.
  5532  	BandwidthInMbps *int32
  5533  
  5534  	// READ-ONLY; The peering location of the ExpressRoute circuit.
  5535  	PeeringLocation *string
  5536  
  5537  	// READ-ONLY; The name of the primary port.
  5538  	PrimaryAzurePort *string
  5539  
  5540  	// READ-ONLY; The provisioning state of the express route cross connection resource.
  5541  	ProvisioningState *ProvisioningState
  5542  
  5543  	// READ-ONLY; The identifier of the circuit traffic.
  5544  	STag *int32
  5545  
  5546  	// READ-ONLY; The name of the secondary port.
  5547  	SecondaryAzurePort *string
  5548  }
  5549  
  5550  // ExpressRouteCrossConnectionRoutesTableSummary - The routes table associated with the ExpressRouteCircuit.
  5551  type ExpressRouteCrossConnectionRoutesTableSummary struct {
  5552  	// Autonomous system number.
  5553  	Asn *int32
  5554  
  5555  	// IP address of Neighbor router.
  5556  	Neighbor *string
  5557  
  5558  	// Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group.
  5559  	StateOrPrefixesReceived *string
  5560  
  5561  	// The length of time that the BGP session has been in the Established state, or the current status if not in the Established
  5562  	// state.
  5563  	UpDown *string
  5564  }
  5565  
  5566  // ExpressRouteCrossConnectionsRoutesTableSummaryListResult - Response for ListRoutesTable associated with the Express Route
  5567  // Cross Connections.
  5568  type ExpressRouteCrossConnectionsRoutesTableSummaryListResult struct {
  5569  	// A list of the routes table.
  5570  	Value []*ExpressRouteCrossConnectionRoutesTableSummary
  5571  
  5572  	// READ-ONLY; The URL to get the next set of results.
  5573  	NextLink *string
  5574  }
  5575  
  5576  type ExpressRouteFailoverCircuitResourceDetails struct {
  5577  	// Connection name associated with the circuit
  5578  	ConnectionName *string
  5579  
  5580  	// Circuit Name
  5581  	Name *string
  5582  
  5583  	// NRP Resource URI of the circuit
  5584  	NrpResourceURI *string
  5585  }
  5586  
  5587  type ExpressRouteFailoverConnectionResourceDetails struct {
  5588  	// Time when the connection was last updated
  5589  	LastUpdatedTime *string
  5590  
  5591  	// Connection Name
  5592  	Name *string
  5593  
  5594  	// NRP Resource URI of the connection
  5595  	NrpResourceURI *string
  5596  
  5597  	// The current status of the connection
  5598  	Status *FailoverConnectionStatus
  5599  }
  5600  
  5601  type ExpressRouteFailoverRedundantRoute struct {
  5602  	// A list of all the peering locations for the redundant routes
  5603  	PeeringLocations []*string
  5604  
  5605  	// A list of all the redundant routes in the peering locations
  5606  	Routes []*string
  5607  }
  5608  
  5609  // ExpressRouteFailoverSingleTestDetails - ExpressRoute failover single test details
  5610  type ExpressRouteFailoverSingleTestDetails struct {
  5611  	// Time when the test was completed
  5612  	EndTimeUTC *string
  5613  
  5614  	// List of all the failover connections for this peering location
  5615  	FailoverConnectionDetails []*FailoverConnectionDetails
  5616  
  5617  	// List of al the routes that were received only from this peering location
  5618  	NonRedundantRoutes []*string
  5619  
  5620  	// Peering location of the test
  5621  	PeeringLocation *string
  5622  
  5623  	// List of routes received from this peering as well as some other peering location
  5624  	RedundantRoutes []*ExpressRouteFailoverRedundantRoute
  5625  
  5626  	// Time when the test was started
  5627  	StartTimeUTC *string
  5628  
  5629  	// The current status of the test
  5630  	Status *FailoverTestStatusForSingleTest
  5631  
  5632  	// Whether the failover simulation was successful or not
  5633  	WasSimulationSuccessful *bool
  5634  }
  5635  
  5636  // ExpressRouteFailoverStopAPIParameters - Start packet capture parameters on virtual network gateway.
  5637  type ExpressRouteFailoverStopAPIParameters struct {
  5638  	// List of all the failover connections for this peering location
  5639  	Details []*FailoverConnectionDetails
  5640  
  5641  	// Peering location of the test
  5642  	PeeringLocation *string
  5643  
  5644  	// Whether the failover simulation was successful or not
  5645  	WasSimulationSuccessful *bool
  5646  }
  5647  
  5648  // ExpressRouteFailoverTestDetails - ExpressRoute failover test details
  5649  type ExpressRouteFailoverTestDetails struct {
  5650  	// All circuits in the peering location
  5651  	Circuits []*ExpressRouteFailoverCircuitResourceDetails
  5652  
  5653  	// All connections to the circuits in the peering location
  5654  	Connections []*ExpressRouteFailoverConnectionResourceDetails
  5655  
  5656  	// Time when the test was completed
  5657  	EndTime *string
  5658  
  5659  	// A list of all issues with the test
  5660  	Issues []*string
  5661  
  5662  	// Peering location of the test
  5663  	PeeringLocation *string
  5664  
  5665  	// Time when the test was started
  5666  	StartTime *string
  5667  
  5668  	// The current status of the test
  5669  	Status *FailoverTestStatus
  5670  
  5671  	// The unique GUID associated with the test
  5672  	TestGUID *string
  5673  
  5674  	// The type of failover test
  5675  	TestType *FailoverTestType
  5676  }
  5677  
  5678  // ExpressRouteGateway - ExpressRoute gateway resource.
  5679  type ExpressRouteGateway struct {
  5680  	// Resource ID.
  5681  	ID *string
  5682  
  5683  	// Resource location.
  5684  	Location *string
  5685  
  5686  	// Properties of the express route gateway.
  5687  	Properties *ExpressRouteGatewayProperties
  5688  
  5689  	// Resource tags.
  5690  	Tags map[string]*string
  5691  
  5692  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5693  	Etag *string
  5694  
  5695  	// READ-ONLY; Resource name.
  5696  	Name *string
  5697  
  5698  	// READ-ONLY; Resource type.
  5699  	Type *string
  5700  }
  5701  
  5702  // ExpressRouteGatewayList - List of ExpressRoute gateways.
  5703  type ExpressRouteGatewayList struct {
  5704  	// List of ExpressRoute gateways.
  5705  	Value []*ExpressRouteGateway
  5706  }
  5707  
  5708  // ExpressRouteGatewayProperties - ExpressRoute gateway resource properties.
  5709  type ExpressRouteGatewayProperties struct {
  5710  	// REQUIRED; The Virtual Hub where the ExpressRoute gateway is or will be deployed.
  5711  	VirtualHub *VirtualHubID
  5712  
  5713  	// Configures this gateway to accept traffic from non Virtual WAN networks.
  5714  	AllowNonVirtualWanTraffic *bool
  5715  
  5716  	// Configuration for auto scaling.
  5717  	AutoScaleConfiguration *ExpressRouteGatewayPropertiesAutoScaleConfiguration
  5718  
  5719  	// List of ExpressRoute connections to the ExpressRoute gateway.
  5720  	ExpressRouteConnections []*ExpressRouteConnection
  5721  
  5722  	// READ-ONLY; The provisioning state of the express route gateway resource.
  5723  	ProvisioningState *ProvisioningState
  5724  }
  5725  
  5726  // ExpressRouteGatewayPropertiesAutoScaleConfiguration - Configuration for auto scaling.
  5727  type ExpressRouteGatewayPropertiesAutoScaleConfiguration struct {
  5728  	// Minimum and maximum number of scale units to deploy.
  5729  	Bounds *ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds
  5730  }
  5731  
  5732  // ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds - Minimum and maximum number of scale units to deploy.
  5733  type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds struct {
  5734  	// Maximum number of scale units deployed for ExpressRoute gateway.
  5735  	Max *int32
  5736  
  5737  	// Minimum number of scale units deployed for ExpressRoute gateway.
  5738  	Min *int32
  5739  }
  5740  
  5741  // ExpressRouteLink child resource definition.
  5742  type ExpressRouteLink struct {
  5743  	// Resource ID.
  5744  	ID *string
  5745  
  5746  	// Name of child port resource that is unique among child port resources of the parent.
  5747  	Name *string
  5748  
  5749  	// ExpressRouteLink properties.
  5750  	Properties *ExpressRouteLinkPropertiesFormat
  5751  
  5752  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5753  	Etag *string
  5754  }
  5755  
  5756  // ExpressRouteLinkListResult - Response for ListExpressRouteLinks API service call.
  5757  type ExpressRouteLinkListResult struct {
  5758  	// The URL to get the next set of results.
  5759  	NextLink *string
  5760  
  5761  	// The list of ExpressRouteLink sub-resources.
  5762  	Value []*ExpressRouteLink
  5763  }
  5764  
  5765  // ExpressRouteLinkMacSecConfig - ExpressRouteLink Mac Security Configuration.
  5766  type ExpressRouteLinkMacSecConfig struct {
  5767  	// Keyvault Secret Identifier URL containing Mac security CAK key.
  5768  	CakSecretIdentifier *string
  5769  
  5770  	// Mac security cipher.
  5771  	Cipher *ExpressRouteLinkMacSecCipher
  5772  
  5773  	// Keyvault Secret Identifier URL containing Mac security CKN key.
  5774  	CknSecretIdentifier *string
  5775  
  5776  	// Sci mode enabled/disabled.
  5777  	SciState *ExpressRouteLinkMacSecSciState
  5778  }
  5779  
  5780  // ExpressRouteLinkPropertiesFormat - Properties specific to ExpressRouteLink resources.
  5781  type ExpressRouteLinkPropertiesFormat struct {
  5782  	// Administrative state of the physical port.
  5783  	AdminState *ExpressRouteLinkAdminState
  5784  
  5785  	// MacSec configuration.
  5786  	MacSecConfig *ExpressRouteLinkMacSecConfig
  5787  
  5788  	// READ-ONLY; Cololocation for ExpressRoute Hybrid Direct.
  5789  	ColoLocation *string
  5790  
  5791  	// READ-ONLY; Physical fiber port type.
  5792  	ConnectorType *ExpressRouteLinkConnectorType
  5793  
  5794  	// READ-ONLY; Name of Azure router interface.
  5795  	InterfaceName *string
  5796  
  5797  	// READ-ONLY; Mapping between physical port to patch panel port.
  5798  	PatchPanelID *string
  5799  
  5800  	// READ-ONLY; The provisioning state of the express route link resource.
  5801  	ProvisioningState *ProvisioningState
  5802  
  5803  	// READ-ONLY; Mapping of physical patch panel to rack.
  5804  	RackID *string
  5805  
  5806  	// READ-ONLY; Name of Azure router associated with physical port.
  5807  	RouterName *string
  5808  }
  5809  
  5810  // ExpressRoutePort resource definition.
  5811  type ExpressRoutePort struct {
  5812  	// Resource ID.
  5813  	ID *string
  5814  
  5815  	// The identity of ExpressRoutePort, if configured.
  5816  	Identity *ManagedServiceIdentity
  5817  
  5818  	// Resource location.
  5819  	Location *string
  5820  
  5821  	// ExpressRoutePort properties.
  5822  	Properties *ExpressRoutePortPropertiesFormat
  5823  
  5824  	// Resource tags.
  5825  	Tags map[string]*string
  5826  
  5827  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5828  	Etag *string
  5829  
  5830  	// READ-ONLY; Resource name.
  5831  	Name *string
  5832  
  5833  	// READ-ONLY; Resource type.
  5834  	Type *string
  5835  }
  5836  
  5837  // ExpressRoutePortAuthorization - ExpressRoutePort Authorization resource definition.
  5838  type ExpressRoutePortAuthorization struct {
  5839  	// Resource ID.
  5840  	ID *string
  5841  
  5842  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  5843  	Name *string
  5844  
  5845  	// ExpressRoutePort properties.
  5846  	Properties *ExpressRoutePortAuthorizationPropertiesFormat
  5847  
  5848  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5849  	Etag *string
  5850  
  5851  	// READ-ONLY; Type of the resource.
  5852  	Type *string
  5853  }
  5854  
  5855  // ExpressRoutePortAuthorizationListResult - Response for ListExpressRoutePortAuthorizations API service call.
  5856  type ExpressRoutePortAuthorizationListResult struct {
  5857  	// The URL to get the next set of results.
  5858  	NextLink *string
  5859  
  5860  	// The authorizations in an ExpressRoute Port.
  5861  	Value []*ExpressRoutePortAuthorization
  5862  }
  5863  
  5864  // ExpressRoutePortAuthorizationPropertiesFormat - Properties of ExpressRoutePort Authorization.
  5865  type ExpressRoutePortAuthorizationPropertiesFormat struct {
  5866  	// READ-ONLY; The authorization key.
  5867  	AuthorizationKey *string
  5868  
  5869  	// READ-ONLY; The authorization use status.
  5870  	AuthorizationUseStatus *ExpressRoutePortAuthorizationUseStatus
  5871  
  5872  	// READ-ONLY; The reference to the ExpressRoute circuit resource using the authorization.
  5873  	CircuitResourceURI *string
  5874  
  5875  	// READ-ONLY; The provisioning state of the authorization resource.
  5876  	ProvisioningState *ProvisioningState
  5877  }
  5878  
  5879  // ExpressRoutePortListResult - Response for ListExpressRoutePorts API service call.
  5880  type ExpressRoutePortListResult struct {
  5881  	// The URL to get the next set of results.
  5882  	NextLink *string
  5883  
  5884  	// A list of ExpressRoutePort resources.
  5885  	Value []*ExpressRoutePort
  5886  }
  5887  
  5888  // ExpressRoutePortPropertiesFormat - Properties specific to ExpressRoutePort resources.
  5889  type ExpressRoutePortPropertiesFormat struct {
  5890  	// Bandwidth of procured ports in Gbps.
  5891  	BandwidthInGbps *int32
  5892  
  5893  	// The billing type of the ExpressRoutePort resource.
  5894  	BillingType *ExpressRoutePortsBillingType
  5895  
  5896  	// Encapsulation method on physical ports.
  5897  	Encapsulation *ExpressRoutePortsEncapsulation
  5898  
  5899  	// The set of physical links of the ExpressRoutePort resource.
  5900  	Links []*ExpressRouteLink
  5901  
  5902  	// The name of the peering location that the ExpressRoutePort is mapped to physically.
  5903  	PeeringLocation *string
  5904  
  5905  	// READ-ONLY; Date of the physical port allocation to be used in Letter of Authorization.
  5906  	AllocationDate *string
  5907  
  5908  	// READ-ONLY; Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource.
  5909  	Circuits []*SubResource
  5910  
  5911  	// READ-ONLY; Ether type of the physical port.
  5912  	EtherType *string
  5913  
  5914  	// READ-ONLY; Maximum transmission unit of the physical port pair(s).
  5915  	Mtu *string
  5916  
  5917  	// READ-ONLY; Aggregate Gbps of associated circuit bandwidths.
  5918  	ProvisionedBandwidthInGbps *float32
  5919  
  5920  	// READ-ONLY; The provisioning state of the express route port resource.
  5921  	ProvisioningState *ProvisioningState
  5922  
  5923  	// READ-ONLY; The resource GUID property of the express route port resource.
  5924  	ResourceGUID *string
  5925  }
  5926  
  5927  // ExpressRoutePortsLocation - Definition of the ExpressRoutePorts peering location resource.
  5928  type ExpressRoutePortsLocation struct {
  5929  	// Resource ID.
  5930  	ID *string
  5931  
  5932  	// Resource location.
  5933  	Location *string
  5934  
  5935  	// ExpressRoutePort peering location properties.
  5936  	Properties *ExpressRoutePortsLocationPropertiesFormat
  5937  
  5938  	// Resource tags.
  5939  	Tags map[string]*string
  5940  
  5941  	// READ-ONLY; Resource name.
  5942  	Name *string
  5943  
  5944  	// READ-ONLY; Resource type.
  5945  	Type *string
  5946  }
  5947  
  5948  // ExpressRoutePortsLocationBandwidths - Real-time inventory of available ExpressRoute port bandwidths.
  5949  type ExpressRoutePortsLocationBandwidths struct {
  5950  	// READ-ONLY; Bandwidth descriptive name.
  5951  	OfferName *string
  5952  
  5953  	// READ-ONLY; Bandwidth value in Gbps.
  5954  	ValueInGbps *int32
  5955  }
  5956  
  5957  // ExpressRoutePortsLocationListResult - Response for ListExpressRoutePortsLocations API service call.
  5958  type ExpressRoutePortsLocationListResult struct {
  5959  	// The URL to get the next set of results.
  5960  	NextLink *string
  5961  
  5962  	// The list of all ExpressRoutePort peering locations.
  5963  	Value []*ExpressRoutePortsLocation
  5964  }
  5965  
  5966  // ExpressRoutePortsLocationPropertiesFormat - Properties specific to ExpressRoutePorts peering location resources.
  5967  type ExpressRoutePortsLocationPropertiesFormat struct {
  5968  	// The inventory of available ExpressRoutePort bandwidths.
  5969  	AvailableBandwidths []*ExpressRoutePortsLocationBandwidths
  5970  
  5971  	// READ-ONLY; Address of peering location.
  5972  	Address *string
  5973  
  5974  	// READ-ONLY; Contact details of peering locations.
  5975  	Contact *string
  5976  
  5977  	// READ-ONLY; The provisioning state of the express route port location resource.
  5978  	ProvisioningState *ProvisioningState
  5979  }
  5980  
  5981  // ExpressRouteProviderPort resource.
  5982  type ExpressRouteProviderPort struct {
  5983  	// Resource ID.
  5984  	ID *string
  5985  
  5986  	// Resource location.
  5987  	Location *string
  5988  
  5989  	// Properties of the express route Service Provider Port.
  5990  	Properties *ExpressRouteProviderPortProperties
  5991  
  5992  	// Resource tags.
  5993  	Tags map[string]*string
  5994  
  5995  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  5996  	Etag *string
  5997  
  5998  	// READ-ONLY; Resource name.
  5999  	Name *string
  6000  
  6001  	// READ-ONLY; Resource type.
  6002  	Type *string
  6003  }
  6004  
  6005  // ExpressRouteProviderPortListResult - Response for ListExpressRouteProviderPort API service call.
  6006  type ExpressRouteProviderPortListResult struct {
  6007  	// A list of ExpressRouteProviderPort resources.
  6008  	Value []*ExpressRouteProviderPort
  6009  
  6010  	// READ-ONLY; The URL to get the next set of results.
  6011  	NextLink *string
  6012  }
  6013  
  6014  // ExpressRouteProviderPortProperties - Properties of ExpressRouteProviderPort.
  6015  type ExpressRouteProviderPortProperties struct {
  6016  	// Overprovisioning factor for the port pair.
  6017  	OverprovisionFactor *int32
  6018  
  6019  	// The peering location of the port pair.
  6020  	PeeringLocation *string
  6021  
  6022  	// Bandwidth of the port in Mbps
  6023  	PortBandwidthInMbps *int32
  6024  
  6025  	// Remaining Bandwidth of the port in Mbps
  6026  	RemainingBandwidthInMbps *int32
  6027  
  6028  	// Used Bandwidth of the port in Mbps
  6029  	UsedBandwidthInMbps *int32
  6030  
  6031  	// READ-ONLY; The name of the port pair.
  6032  	PortPairDescriptor *string
  6033  
  6034  	// READ-ONLY; The name of the primary port.
  6035  	PrimaryAzurePort *string
  6036  
  6037  	// READ-ONLY; The name of the secondary port.
  6038  	SecondaryAzurePort *string
  6039  }
  6040  
  6041  // ExpressRouteServiceProvider - A ExpressRouteResourceProvider object.
  6042  type ExpressRouteServiceProvider struct {
  6043  	// Resource ID.
  6044  	ID *string
  6045  
  6046  	// Resource location.
  6047  	Location *string
  6048  
  6049  	// Properties of the express route service provider.
  6050  	Properties *ExpressRouteServiceProviderPropertiesFormat
  6051  
  6052  	// Resource tags.
  6053  	Tags map[string]*string
  6054  
  6055  	// READ-ONLY; Resource name.
  6056  	Name *string
  6057  
  6058  	// READ-ONLY; Resource type.
  6059  	Type *string
  6060  }
  6061  
  6062  // ExpressRouteServiceProviderBandwidthsOffered - Contains bandwidths offered in ExpressRouteServiceProvider resources.
  6063  type ExpressRouteServiceProviderBandwidthsOffered struct {
  6064  	// The OfferName.
  6065  	OfferName *string
  6066  
  6067  	// The ValueInMbps.
  6068  	ValueInMbps *int32
  6069  }
  6070  
  6071  // ExpressRouteServiceProviderListResult - Response for the ListExpressRouteServiceProvider API service call.
  6072  type ExpressRouteServiceProviderListResult struct {
  6073  	// The URL to get the next set of results.
  6074  	NextLink *string
  6075  
  6076  	// A list of ExpressRouteResourceProvider resources.
  6077  	Value []*ExpressRouteServiceProvider
  6078  }
  6079  
  6080  // ExpressRouteServiceProviderPropertiesFormat - Properties of ExpressRouteServiceProvider.
  6081  type ExpressRouteServiceProviderPropertiesFormat struct {
  6082  	// A list of bandwidths offered.
  6083  	BandwidthsOffered []*ExpressRouteServiceProviderBandwidthsOffered
  6084  
  6085  	// A list of peering locations.
  6086  	PeeringLocations []*string
  6087  
  6088  	// READ-ONLY; The provisioning state of the express route service provider resource.
  6089  	ProvisioningState *ProvisioningState
  6090  }
  6091  
  6092  // ExtendedLocation complex type.
  6093  type ExtendedLocation struct {
  6094  	// The name of the extended location.
  6095  	Name *string
  6096  
  6097  	// The type of the extended location.
  6098  	Type *ExtendedLocationTypes
  6099  }
  6100  
  6101  type FailoverConnectionDetails struct {
  6102  	// Name of the failover connection
  6103  	FailoverConnectionName *string
  6104  
  6105  	// Location of the failover connection
  6106  	FailoverLocation *string
  6107  
  6108  	// Whether the customer was able to establish connectivity through this failover connection or not
  6109  	IsVerified *bool
  6110  }
  6111  
  6112  // FilterItems - Will contain the filter name and values to operate on
  6113  type FilterItems struct {
  6114  	// The name of the field we would like to filter
  6115  	Field *string
  6116  
  6117  	// List of values to filter the current field by
  6118  	Values []*string
  6119  }
  6120  
  6121  // FirewallPacketCaptureParameters - Azure Firewall Packet Capture Parameters.
  6122  type FirewallPacketCaptureParameters struct {
  6123  	// Duration of packet capture in seconds.
  6124  	DurationInSeconds *int32
  6125  
  6126  	// Name of file to be uploaded to sasURL
  6127  	FileName *string
  6128  
  6129  	// Rules to filter packet captures.
  6130  	Filters []*AzureFirewallPacketCaptureRule
  6131  
  6132  	// The tcp-flag type to be captured. Used with protocol TCP
  6133  	Flags []*AzureFirewallPacketCaptureFlags
  6134  
  6135  	// Number of packets to be captured.
  6136  	NumberOfPacketsToCapture *int32
  6137  
  6138  	// The protocol of packets to capture
  6139  	Protocol *AzureFirewallNetworkRuleProtocol
  6140  
  6141  	// Upload capture location
  6142  	SasURL *string
  6143  }
  6144  
  6145  // FirewallPolicy Resource.
  6146  type FirewallPolicy struct {
  6147  	// Resource ID.
  6148  	ID *string
  6149  
  6150  	// The identity of the firewall policy.
  6151  	Identity *ManagedServiceIdentity
  6152  
  6153  	// Resource location.
  6154  	Location *string
  6155  
  6156  	// Properties of the firewall policy.
  6157  	Properties *FirewallPolicyPropertiesFormat
  6158  
  6159  	// Resource tags.
  6160  	Tags map[string]*string
  6161  
  6162  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  6163  	Etag *string
  6164  
  6165  	// READ-ONLY; Resource name.
  6166  	Name *string
  6167  
  6168  	// READ-ONLY; Resource type.
  6169  	Type *string
  6170  }
  6171  
  6172  // FirewallPolicyCertificateAuthority - Trusted Root certificates properties for tls.
  6173  type FirewallPolicyCertificateAuthority struct {
  6174  	// Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault.
  6175  	KeyVaultSecretID *string
  6176  
  6177  	// Name of the CA certificate.
  6178  	Name *string
  6179  }
  6180  
  6181  // FirewallPolicyDraft - FirewallPolicy Resource.
  6182  type FirewallPolicyDraft struct {
  6183  	// Resource ID.
  6184  	ID *string
  6185  
  6186  	// Resource location.
  6187  	Location *string
  6188  
  6189  	// Properties of the firewall policy.
  6190  	Properties *FirewallPolicyDraftProperties
  6191  
  6192  	// Resource tags.
  6193  	Tags map[string]*string
  6194  
  6195  	// READ-ONLY; Resource name.
  6196  	Name *string
  6197  
  6198  	// READ-ONLY; Resource type.
  6199  	Type *string
  6200  }
  6201  
  6202  type FirewallPolicyDraftProperties struct {
  6203  	// The parent firewall policy from which rules are inherited.
  6204  	BasePolicy *SubResource
  6205  
  6206  	// DNS Proxy Settings definition.
  6207  	DNSSettings *DNSSettings
  6208  
  6209  	// Explicit Proxy Settings definition.
  6210  	ExplicitProxy *ExplicitProxySettings
  6211  
  6212  	// Insights on Firewall Policy.
  6213  	Insights *FirewallPolicyInsights
  6214  
  6215  	// The configuration for Intrusion detection.
  6216  	IntrusionDetection *FirewallPolicyIntrusionDetection
  6217  
  6218  	// SQL Settings definition.
  6219  	SQL *FirewallPolicySQL
  6220  
  6221  	// The private IP addresses/IP ranges to which traffic will not be SNAT.
  6222  	Snat *FirewallPolicySNAT
  6223  
  6224  	// The operation mode for Threat Intelligence.
  6225  	ThreatIntelMode *AzureFirewallThreatIntelMode
  6226  
  6227  	// ThreatIntel Whitelist for Firewall Policy.
  6228  	ThreatIntelWhitelist *FirewallPolicyThreatIntelWhitelist
  6229  }
  6230  
  6231  // FirewallPolicyFilterRuleCollection - Firewall Policy Filter Rule Collection.
  6232  type FirewallPolicyFilterRuleCollection struct {
  6233  	// REQUIRED; The type of the rule collection.
  6234  	RuleCollectionType *FirewallPolicyRuleCollectionType
  6235  
  6236  	// The action type of a Filter rule collection.
  6237  	Action *FirewallPolicyFilterRuleCollectionAction
  6238  
  6239  	// The name of the rule collection.
  6240  	Name *string
  6241  
  6242  	// Priority of the Firewall Policy Rule Collection resource.
  6243  	Priority *int32
  6244  
  6245  	// List of rules included in a rule collection.
  6246  	Rules []FirewallPolicyRuleClassification
  6247  }
  6248  
  6249  // GetFirewallPolicyRuleCollection implements the FirewallPolicyRuleCollectionClassification interface for type FirewallPolicyFilterRuleCollection.
  6250  func (f *FirewallPolicyFilterRuleCollection) GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection {
  6251  	return &FirewallPolicyRuleCollection{
  6252  		Name:               f.Name,
  6253  		Priority:           f.Priority,
  6254  		RuleCollectionType: f.RuleCollectionType,
  6255  	}
  6256  }
  6257  
  6258  // FirewallPolicyFilterRuleCollectionAction - Properties of the FirewallPolicyFilterRuleCollectionAction.
  6259  type FirewallPolicyFilterRuleCollectionAction struct {
  6260  	// The type of action.
  6261  	Type *FirewallPolicyFilterRuleCollectionActionType
  6262  }
  6263  
  6264  // FirewallPolicyHTTPHeaderToInsert - name and value of HTTP/S header to insert
  6265  type FirewallPolicyHTTPHeaderToInsert struct {
  6266  	// Contains the name of the header
  6267  	HeaderName *string
  6268  
  6269  	// Contains the value of the header
  6270  	HeaderValue *string
  6271  }
  6272  
  6273  // FirewallPolicyInsights - Firewall Policy Insights.
  6274  type FirewallPolicyInsights struct {
  6275  	// A flag to indicate if the insights are enabled on the policy.
  6276  	IsEnabled *bool
  6277  
  6278  	// Workspaces needed to configure the Firewall Policy Insights.
  6279  	LogAnalyticsResources *FirewallPolicyLogAnalyticsResources
  6280  
  6281  	// Number of days the insights should be enabled on the policy.
  6282  	RetentionDays *int32
  6283  }
  6284  
  6285  // FirewallPolicyIntrusionDetection - Configuration for intrusion detection mode and rules.
  6286  type FirewallPolicyIntrusionDetection struct {
  6287  	// Intrusion detection configuration properties.
  6288  	Configuration *FirewallPolicyIntrusionDetectionConfiguration
  6289  
  6290  	// Intrusion detection general state. When attached to a parent policy, the firewall's effective IDPS mode is the stricter
  6291  	// mode of the two.
  6292  	Mode *FirewallPolicyIntrusionDetectionStateType
  6293  
  6294  	// IDPS profile name. When attached to a parent policy, the firewall's effective profile is the profile name of the parent
  6295  	// policy.
  6296  	Profile *FirewallPolicyIntrusionDetectionProfileType
  6297  }
  6298  
  6299  // FirewallPolicyIntrusionDetectionBypassTrafficSpecifications - Intrusion detection bypass traffic specification.
  6300  type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications struct {
  6301  	// Description of the bypass traffic rule.
  6302  	Description *string
  6303  
  6304  	// List of destination IP addresses or ranges for this rule.
  6305  	DestinationAddresses []*string
  6306  
  6307  	// List of destination IpGroups for this rule.
  6308  	DestinationIPGroups []*string
  6309  
  6310  	// List of destination ports or ranges.
  6311  	DestinationPorts []*string
  6312  
  6313  	// Name of the bypass traffic rule.
  6314  	Name *string
  6315  
  6316  	// The rule bypass protocol.
  6317  	Protocol *FirewallPolicyIntrusionDetectionProtocol
  6318  
  6319  	// List of source IP addresses or ranges for this rule.
  6320  	SourceAddresses []*string
  6321  
  6322  	// List of source IpGroups for this rule.
  6323  	SourceIPGroups []*string
  6324  }
  6325  
  6326  // FirewallPolicyIntrusionDetectionConfiguration - The operation for configuring intrusion detection.
  6327  type FirewallPolicyIntrusionDetectionConfiguration struct {
  6328  	// List of rules for traffic to bypass.
  6329  	BypassTrafficSettings []*FirewallPolicyIntrusionDetectionBypassTrafficSpecifications
  6330  
  6331  	// IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By default, only
  6332  	// ranges defined by IANA RFC 1918 are considered private IP addresses. To modify
  6333  	// default ranges, specify your Private IP address ranges with this property
  6334  	PrivateRanges []*string
  6335  
  6336  	// List of specific signatures states.
  6337  	SignatureOverrides []*FirewallPolicyIntrusionDetectionSignatureSpecification
  6338  }
  6339  
  6340  // FirewallPolicyIntrusionDetectionSignatureSpecification - Intrusion detection signatures specification states.
  6341  type FirewallPolicyIntrusionDetectionSignatureSpecification struct {
  6342  	// Signature id.
  6343  	ID *string
  6344  
  6345  	// The signature state.
  6346  	Mode *FirewallPolicyIntrusionDetectionStateType
  6347  }
  6348  
  6349  // FirewallPolicyListResult - Response for ListFirewallPolicies API service call.
  6350  type FirewallPolicyListResult struct {
  6351  	// URL to get the next set of results.
  6352  	NextLink *string
  6353  
  6354  	// List of Firewall Policies in a resource group.
  6355  	Value []*FirewallPolicy
  6356  }
  6357  
  6358  // FirewallPolicyLogAnalyticsResources - Log Analytics Resources for Firewall Policy Insights.
  6359  type FirewallPolicyLogAnalyticsResources struct {
  6360  	// The default workspace Id for Firewall Policy Insights.
  6361  	DefaultWorkspaceID *SubResource
  6362  
  6363  	// List of workspaces for Firewall Policy Insights.
  6364  	Workspaces []*FirewallPolicyLogAnalyticsWorkspace
  6365  }
  6366  
  6367  // FirewallPolicyLogAnalyticsWorkspace - Log Analytics Workspace for Firewall Policy Insights.
  6368  type FirewallPolicyLogAnalyticsWorkspace struct {
  6369  	// Region to configure the Workspace.
  6370  	Region *string
  6371  
  6372  	// The workspace Id for Firewall Policy Insights.
  6373  	WorkspaceID *SubResource
  6374  }
  6375  
  6376  // FirewallPolicyNatRuleCollection - Firewall Policy NAT Rule Collection.
  6377  type FirewallPolicyNatRuleCollection struct {
  6378  	// REQUIRED; The type of the rule collection.
  6379  	RuleCollectionType *FirewallPolicyRuleCollectionType
  6380  
  6381  	// The action type of a Nat rule collection.
  6382  	Action *FirewallPolicyNatRuleCollectionAction
  6383  
  6384  	// The name of the rule collection.
  6385  	Name *string
  6386  
  6387  	// Priority of the Firewall Policy Rule Collection resource.
  6388  	Priority *int32
  6389  
  6390  	// List of rules included in a rule collection.
  6391  	Rules []FirewallPolicyRuleClassification
  6392  }
  6393  
  6394  // GetFirewallPolicyRuleCollection implements the FirewallPolicyRuleCollectionClassification interface for type FirewallPolicyNatRuleCollection.
  6395  func (f *FirewallPolicyNatRuleCollection) GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection {
  6396  	return &FirewallPolicyRuleCollection{
  6397  		Name:               f.Name,
  6398  		Priority:           f.Priority,
  6399  		RuleCollectionType: f.RuleCollectionType,
  6400  	}
  6401  }
  6402  
  6403  // FirewallPolicyNatRuleCollectionAction - Properties of the FirewallPolicyNatRuleCollectionAction.
  6404  type FirewallPolicyNatRuleCollectionAction struct {
  6405  	// The type of action.
  6406  	Type *FirewallPolicyNatRuleCollectionActionType
  6407  }
  6408  
  6409  // FirewallPolicyPropertiesFormat - Firewall Policy definition.
  6410  type FirewallPolicyPropertiesFormat struct {
  6411  	// The parent firewall policy from which rules are inherited.
  6412  	BasePolicy *SubResource
  6413  
  6414  	// DNS Proxy Settings definition.
  6415  	DNSSettings *DNSSettings
  6416  
  6417  	// Explicit Proxy Settings definition.
  6418  	ExplicitProxySettings *ExplicitProxySettings
  6419  
  6420  	// Insights on Firewall Policy.
  6421  	Insights *FirewallPolicyInsights
  6422  
  6423  	// The configuration for Intrusion detection.
  6424  	IntrusionDetection *FirewallPolicyIntrusionDetection
  6425  
  6426  	// The Firewall Policy SKU.
  6427  	SKU *FirewallPolicySKU
  6428  
  6429  	// SQL Settings definition.
  6430  	SQL *FirewallPolicySQL
  6431  
  6432  	// The private IP addresses/IP ranges to which traffic will not be SNAT.
  6433  	Snat *FirewallPolicySNAT
  6434  
  6435  	// The operation mode for Threat Intelligence.
  6436  	ThreatIntelMode *AzureFirewallThreatIntelMode
  6437  
  6438  	// ThreatIntel Whitelist for Firewall Policy.
  6439  	ThreatIntelWhitelist *FirewallPolicyThreatIntelWhitelist
  6440  
  6441  	// TLS Configuration definition.
  6442  	TransportSecurity *FirewallPolicyTransportSecurity
  6443  
  6444  	// READ-ONLY; List of references to Child Firewall Policies.
  6445  	ChildPolicies []*SubResource
  6446  
  6447  	// READ-ONLY; List of references to Azure Firewalls that this Firewall Policy is associated with.
  6448  	Firewalls []*SubResource
  6449  
  6450  	// READ-ONLY; The provisioning state of the firewall policy resource.
  6451  	ProvisioningState *ProvisioningState
  6452  
  6453  	// READ-ONLY; List of references to FirewallPolicyRuleCollectionGroups.
  6454  	RuleCollectionGroups []*SubResource
  6455  
  6456  	// READ-ONLY; A read-only string that represents the size of the FirewallPolicyPropertiesFormat in MB. (ex 0.5MB)
  6457  	Size *string
  6458  }
  6459  
  6460  // FirewallPolicyRule - Properties of a rule.
  6461  type FirewallPolicyRule struct {
  6462  	// REQUIRED; Rule Type.
  6463  	RuleType *FirewallPolicyRuleType
  6464  
  6465  	// Description of the rule.
  6466  	Description *string
  6467  
  6468  	// Name of the rule.
  6469  	Name *string
  6470  }
  6471  
  6472  // GetFirewallPolicyRule implements the FirewallPolicyRuleClassification interface for type FirewallPolicyRule.
  6473  func (f *FirewallPolicyRule) GetFirewallPolicyRule() *FirewallPolicyRule { return f }
  6474  
  6475  // FirewallPolicyRuleApplicationProtocol - Properties of the application rule protocol.
  6476  type FirewallPolicyRuleApplicationProtocol struct {
  6477  	// Port number for the protocol, cannot be greater than 64000.
  6478  	Port *int32
  6479  
  6480  	// Protocol type.
  6481  	ProtocolType *FirewallPolicyRuleApplicationProtocolType
  6482  }
  6483  
  6484  // FirewallPolicyRuleCollection - Properties of the rule collection.
  6485  type FirewallPolicyRuleCollection struct {
  6486  	// REQUIRED; The type of the rule collection.
  6487  	RuleCollectionType *FirewallPolicyRuleCollectionType
  6488  
  6489  	// The name of the rule collection.
  6490  	Name *string
  6491  
  6492  	// Priority of the Firewall Policy Rule Collection resource.
  6493  	Priority *int32
  6494  }
  6495  
  6496  // GetFirewallPolicyRuleCollection implements the FirewallPolicyRuleCollectionClassification interface for type FirewallPolicyRuleCollection.
  6497  func (f *FirewallPolicyRuleCollection) GetFirewallPolicyRuleCollection() *FirewallPolicyRuleCollection {
  6498  	return f
  6499  }
  6500  
  6501  // FirewallPolicyRuleCollectionGroup - Rule Collection Group resource.
  6502  type FirewallPolicyRuleCollectionGroup struct {
  6503  	// Resource ID.
  6504  	ID *string
  6505  
  6506  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  6507  	Name *string
  6508  
  6509  	// The properties of the firewall policy rule collection group.
  6510  	Properties *FirewallPolicyRuleCollectionGroupProperties
  6511  
  6512  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  6513  	Etag *string
  6514  
  6515  	// READ-ONLY; Rule Group type.
  6516  	Type *string
  6517  }
  6518  
  6519  // FirewallPolicyRuleCollectionGroupDraft - Rule Collection Group resource.
  6520  type FirewallPolicyRuleCollectionGroupDraft struct {
  6521  	// Resource ID.
  6522  	ID *string
  6523  
  6524  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  6525  	Name *string
  6526  
  6527  	// The properties of the firewall policy rule collection group.
  6528  	Properties *FirewallPolicyRuleCollectionGroupDraftProperties
  6529  
  6530  	// READ-ONLY; Rule Group type.
  6531  	Type *string
  6532  }
  6533  
  6534  // FirewallPolicyRuleCollectionGroupDraftProperties - Properties of the rule collection group draft.
  6535  type FirewallPolicyRuleCollectionGroupDraftProperties struct {
  6536  	// Priority of the Firewall Policy Rule Collection Group resource.
  6537  	Priority *int32
  6538  
  6539  	// Group of Firewall Policy rule collections.
  6540  	RuleCollections []FirewallPolicyRuleCollectionClassification
  6541  
  6542  	// READ-ONLY; A read-only string that represents the size of the FirewallPolicyRuleCollectionGroupProperties in MB. (ex 1.2MB)
  6543  	Size *string
  6544  }
  6545  
  6546  // FirewallPolicyRuleCollectionGroupListResult - Response for ListFirewallPolicyRuleCollectionGroups API service call.
  6547  type FirewallPolicyRuleCollectionGroupListResult struct {
  6548  	// URL to get the next set of results.
  6549  	NextLink *string
  6550  
  6551  	// List of FirewallPolicyRuleCollectionGroups in a FirewallPolicy.
  6552  	Value []*FirewallPolicyRuleCollectionGroup
  6553  }
  6554  
  6555  // FirewallPolicyRuleCollectionGroupProperties - Properties of the rule collection group.
  6556  type FirewallPolicyRuleCollectionGroupProperties struct {
  6557  	// Priority of the Firewall Policy Rule Collection Group resource.
  6558  	Priority *int32
  6559  
  6560  	// Group of Firewall Policy rule collections.
  6561  	RuleCollections []FirewallPolicyRuleCollectionClassification
  6562  
  6563  	// READ-ONLY; The provisioning state of the firewall policy rule collection group resource.
  6564  	ProvisioningState *ProvisioningState
  6565  
  6566  	// READ-ONLY; A read-only string that represents the size of the FirewallPolicyRuleCollectionGroupProperties in MB. (ex 1.2MB)
  6567  	Size *string
  6568  }
  6569  
  6570  // FirewallPolicySKU - SKU of Firewall policy.
  6571  type FirewallPolicySKU struct {
  6572  	// Tier of Firewall Policy.
  6573  	Tier *FirewallPolicySKUTier
  6574  }
  6575  
  6576  // FirewallPolicySNAT - The private IP addresses/IP ranges to which traffic will not be SNAT.
  6577  type FirewallPolicySNAT struct {
  6578  	// The operation mode for automatically learning private ranges to not be SNAT
  6579  	AutoLearnPrivateRanges *AutoLearnPrivateRangesMode
  6580  
  6581  	// List of private IP addresses/IP address ranges to not be SNAT.
  6582  	PrivateRanges []*string
  6583  }
  6584  
  6585  // FirewallPolicySQL - SQL Settings in Firewall Policy.
  6586  type FirewallPolicySQL struct {
  6587  	// A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999.
  6588  	AllowSQLRedirect *bool
  6589  }
  6590  
  6591  // FirewallPolicyThreatIntelWhitelist - ThreatIntel Whitelist for Firewall Policy.
  6592  type FirewallPolicyThreatIntelWhitelist struct {
  6593  	// List of FQDNs for the ThreatIntel Whitelist.
  6594  	Fqdns []*string
  6595  
  6596  	// List of IP addresses for the ThreatIntel Whitelist.
  6597  	IPAddresses []*string
  6598  }
  6599  
  6600  // FirewallPolicyTransportSecurity - Configuration needed to perform TLS termination & initiation.
  6601  type FirewallPolicyTransportSecurity struct {
  6602  	// The CA used for intermediate CA generation.
  6603  	CertificateAuthority *FirewallPolicyCertificateAuthority
  6604  }
  6605  
  6606  // FlowLog - A flow log resource.
  6607  type FlowLog struct {
  6608  	// Resource ID.
  6609  	ID *string
  6610  
  6611  	// FlowLog resource Managed Identity
  6612  	Identity *ManagedServiceIdentity
  6613  
  6614  	// Resource location.
  6615  	Location *string
  6616  
  6617  	// Properties of the flow log.
  6618  	Properties *FlowLogPropertiesFormat
  6619  
  6620  	// Resource tags.
  6621  	Tags map[string]*string
  6622  
  6623  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  6624  	Etag *string
  6625  
  6626  	// READ-ONLY; Resource name.
  6627  	Name *string
  6628  
  6629  	// READ-ONLY; Resource type.
  6630  	Type *string
  6631  }
  6632  
  6633  // FlowLogFormatParameters - Parameters that define the flow log format.
  6634  type FlowLogFormatParameters struct {
  6635  	// The file type of flow log.
  6636  	Type *FlowLogFormatType
  6637  
  6638  	// The version (revision) of the flow log.
  6639  	Version *int32
  6640  }
  6641  
  6642  // FlowLogInformation - Information on the configuration of flow log and traffic analytics (optional) .
  6643  type FlowLogInformation struct {
  6644  	// REQUIRED; Properties of the flow log.
  6645  	Properties *FlowLogProperties
  6646  
  6647  	// REQUIRED; The ID of the resource to configure for flow log and traffic analytics (optional) .
  6648  	TargetResourceID *string
  6649  
  6650  	// Parameters that define the configuration of traffic analytics.
  6651  	FlowAnalyticsConfiguration *TrafficAnalyticsProperties
  6652  
  6653  	// FlowLog resource Managed Identity
  6654  	Identity *ManagedServiceIdentity
  6655  }
  6656  
  6657  // FlowLogListResult - List of flow logs.
  6658  type FlowLogListResult struct {
  6659  	// Information about flow log resource.
  6660  	Value []*FlowLog
  6661  
  6662  	// READ-ONLY; The URL to get the next set of results.
  6663  	NextLink *string
  6664  }
  6665  
  6666  // FlowLogProperties - Parameters that define the configuration of flow log.
  6667  type FlowLogProperties struct {
  6668  	// REQUIRED; Flag to enable/disable flow logging.
  6669  	Enabled *bool
  6670  
  6671  	// REQUIRED; ID of the storage account which is used to store the flow log.
  6672  	StorageID *string
  6673  
  6674  	// Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction
  6675  	// and Action. If not specified, all network traffic will be logged.
  6676  	EnabledFilteringCriteria *string
  6677  
  6678  	// Parameters that define the flow log format.
  6679  	Format *FlowLogFormatParameters
  6680  
  6681  	// Parameters that define the retention policy for flow log.
  6682  	RetentionPolicy *RetentionPolicyParameters
  6683  }
  6684  
  6685  // FlowLogPropertiesFormat - Parameters that define the configuration of flow log.
  6686  type FlowLogPropertiesFormat struct {
  6687  	// REQUIRED; ID of the storage account which is used to store the flow log.
  6688  	StorageID *string
  6689  
  6690  	// REQUIRED; ID of network security group to which flow log will be applied.
  6691  	TargetResourceID *string
  6692  
  6693  	// Flag to enable/disable flow logging.
  6694  	Enabled *bool
  6695  
  6696  	// Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction
  6697  	// and Action. If not specified, all network traffic will be logged.
  6698  	EnabledFilteringCriteria *string
  6699  
  6700  	// Parameters that define the configuration of traffic analytics.
  6701  	FlowAnalyticsConfiguration *TrafficAnalyticsProperties
  6702  
  6703  	// Parameters that define the flow log format.
  6704  	Format *FlowLogFormatParameters
  6705  
  6706  	// Parameters that define the retention policy for flow log.
  6707  	RetentionPolicy *RetentionPolicyParameters
  6708  
  6709  	// READ-ONLY; The provisioning state of the flow log.
  6710  	ProvisioningState *ProvisioningState
  6711  
  6712  	// READ-ONLY; Guid of network security group to which flow log will be applied.
  6713  	TargetResourceGUID *string
  6714  }
  6715  
  6716  // FlowLogStatusParameters - Parameters that define a resource to query flow log and traffic analytics (optional) status.
  6717  type FlowLogStatusParameters struct {
  6718  	// REQUIRED; The target resource where getting the flow log and traffic analytics (optional) status.
  6719  	TargetResourceID *string
  6720  }
  6721  
  6722  // FrontendIPConfiguration - Frontend IP address of the load balancer.
  6723  type FrontendIPConfiguration struct {
  6724  	// Resource ID.
  6725  	ID *string
  6726  
  6727  	// The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name
  6728  	// can be used to access the resource.
  6729  	Name *string
  6730  
  6731  	// Properties of the load balancer probe.
  6732  	Properties *FrontendIPConfigurationPropertiesFormat
  6733  
  6734  	// A list of availability zones denoting the IP allocated for the resource needs to come from.
  6735  	Zones []*string
  6736  
  6737  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  6738  	Etag *string
  6739  
  6740  	// READ-ONLY; Type of the resource.
  6741  	Type *string
  6742  }
  6743  
  6744  // FrontendIPConfigurationPropertiesFormat - Properties of Frontend IP Configuration of the load balancer.
  6745  type FrontendIPConfigurationPropertiesFormat struct {
  6746  	// The reference to gateway load balancer frontend IP.
  6747  	GatewayLoadBalancer *SubResource
  6748  
  6749  	// The private IP address of the IP configuration.
  6750  	PrivateIPAddress *string
  6751  
  6752  	// Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
  6753  	PrivateIPAddressVersion *IPVersion
  6754  
  6755  	// The Private IP allocation method.
  6756  	PrivateIPAllocationMethod *IPAllocationMethod
  6757  
  6758  	// The reference to the Public IP resource.
  6759  	PublicIPAddress *PublicIPAddress
  6760  
  6761  	// The reference to the Public IP Prefix resource.
  6762  	PublicIPPrefix *SubResource
  6763  
  6764  	// The reference to the subnet resource.
  6765  	Subnet *Subnet
  6766  
  6767  	// READ-ONLY; An array of references to inbound pools that use this frontend IP.
  6768  	InboundNatPools []*SubResource
  6769  
  6770  	// READ-ONLY; An array of references to inbound rules that use this frontend IP.
  6771  	InboundNatRules []*SubResource
  6772  
  6773  	// READ-ONLY; An array of references to load balancing rules that use this frontend IP.
  6774  	LoadBalancingRules []*SubResource
  6775  
  6776  	// READ-ONLY; An array of references to outbound rules that use this frontend IP.
  6777  	OutboundRules []*SubResource
  6778  
  6779  	// READ-ONLY; The provisioning state of the frontend IP configuration resource.
  6780  	ProvisioningState *ProvisioningState
  6781  }
  6782  
  6783  // GatewayCustomBgpIPAddressIPConfiguration - GatewayCustomBgpIpAddressIpConfiguration for a virtual network gateway connection.
  6784  type GatewayCustomBgpIPAddressIPConfiguration struct {
  6785  	// REQUIRED; The custom BgpPeeringAddress which belongs to IpconfigurationId.
  6786  	CustomBgpIPAddress *string
  6787  
  6788  	// REQUIRED; The IpconfigurationId of ipconfiguration which belongs to gateway.
  6789  	IPConfigurationID *string
  6790  }
  6791  
  6792  // GatewayLoadBalancerTunnelInterface - Gateway load balancer tunnel interface of a load balancer backend address pool.
  6793  type GatewayLoadBalancerTunnelInterface struct {
  6794  	// Identifier of gateway load balancer tunnel interface.
  6795  	Identifier *int32
  6796  
  6797  	// Port of gateway load balancer tunnel interface.
  6798  	Port *int32
  6799  
  6800  	// Protocol of gateway load balancer tunnel interface.
  6801  	Protocol *GatewayLoadBalancerTunnelProtocol
  6802  
  6803  	// Traffic type of gateway load balancer tunnel interface.
  6804  	Type *GatewayLoadBalancerTunnelInterfaceType
  6805  }
  6806  
  6807  // GatewayRoute - Gateway routing details.
  6808  type GatewayRoute struct {
  6809  	// READ-ONLY; The route's AS path sequence.
  6810  	AsPath *string
  6811  
  6812  	// READ-ONLY; The gateway's local address.
  6813  	LocalAddress *string
  6814  
  6815  	// READ-ONLY; The route's network prefix.
  6816  	Network *string
  6817  
  6818  	// READ-ONLY; The route's next hop.
  6819  	NextHop *string
  6820  
  6821  	// READ-ONLY; The source this route was learned from.
  6822  	Origin *string
  6823  
  6824  	// READ-ONLY; The peer this route was learned from.
  6825  	SourcePeer *string
  6826  
  6827  	// READ-ONLY; The route's weight.
  6828  	Weight *int32
  6829  }
  6830  
  6831  // GatewayRouteListResult - List of virtual network gateway routes.
  6832  type GatewayRouteListResult struct {
  6833  	// List of gateway routes.
  6834  	Value []*GatewayRoute
  6835  }
  6836  
  6837  // GenerateExpressRoutePortsLOARequest - The customer name to be printed on a letter of authorization.
  6838  type GenerateExpressRoutePortsLOARequest struct {
  6839  	// REQUIRED; The customer name.
  6840  	CustomerName *string
  6841  }
  6842  
  6843  // GenerateExpressRoutePortsLOAResult - Response for GenerateExpressRoutePortsLOA API service call.
  6844  type GenerateExpressRoutePortsLOAResult struct {
  6845  	// The content as a base64 encoded string.
  6846  	EncodedContent *string
  6847  }
  6848  
  6849  // GetInboundRoutesParameters - The parameters specifying the connection resource whose inbound routes are being requested.
  6850  type GetInboundRoutesParameters struct {
  6851  	// The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and
  6852  	// P2SConnection.
  6853  	ConnectionType *string
  6854  
  6855  	// The connection resource whose inbound routes are being requested.
  6856  	ResourceURI *string
  6857  }
  6858  
  6859  // GetOutboundRoutesParameters - The parameters specifying the connection resource whose outbound routes are being requested.
  6860  type GetOutboundRoutesParameters struct {
  6861  	// The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and
  6862  	// P2SConnection.
  6863  	ConnectionType *string
  6864  
  6865  	// The connection resource whose outbound routes are being requested.
  6866  	ResourceURI *string
  6867  }
  6868  
  6869  // GetVPNSitesConfigurationRequest - List of Vpn-Sites.
  6870  type GetVPNSitesConfigurationRequest struct {
  6871  	// REQUIRED; The sas-url to download the configurations for vpn-sites.
  6872  	OutputBlobSasURL *string
  6873  
  6874  	// List of resource-ids of the vpn-sites for which config is to be downloaded.
  6875  	VPNSites []*string
  6876  }
  6877  
  6878  // Group - The network group resource
  6879  type Group struct {
  6880  	// The Network Group properties
  6881  	Properties *GroupProperties
  6882  
  6883  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  6884  	Etag *string
  6885  
  6886  	// READ-ONLY; Resource ID.
  6887  	ID *string
  6888  
  6889  	// READ-ONLY; Resource name.
  6890  	Name *string
  6891  
  6892  	// READ-ONLY; The system metadata related to this resource.
  6893  	SystemData *SystemData
  6894  
  6895  	// READ-ONLY; Resource type.
  6896  	Type *string
  6897  }
  6898  
  6899  // GroupByUserSession - Define user session identifier group by clauses.
  6900  type GroupByUserSession struct {
  6901  	// REQUIRED; List of group by clause variables.
  6902  	GroupByVariables []*GroupByVariable
  6903  }
  6904  
  6905  // GroupByVariable - Define user session group by clause variables.
  6906  type GroupByVariable struct {
  6907  	// REQUIRED; User Session clause variable.
  6908  	VariableName *ApplicationGatewayFirewallUserSessionVariable
  6909  }
  6910  
  6911  // GroupListResult - Result of the request to list NetworkGroup. It contains a list of groups and a URL link to get the next
  6912  // set of results.
  6913  type GroupListResult struct {
  6914  	// Gets the URL to get the next set of results.
  6915  	NextLink *string
  6916  
  6917  	// Gets a page of NetworkGroup
  6918  	Value []*Group
  6919  }
  6920  
  6921  // GroupProperties - Properties of network group
  6922  type GroupProperties struct {
  6923  	// A description of the network group.
  6924  	Description *string
  6925  
  6926  	// The type of the group member.
  6927  	MemberType *GroupMemberType
  6928  
  6929  	// READ-ONLY; The provisioning state of the scope assignment resource.
  6930  	ProvisioningState *ProvisioningState
  6931  
  6932  	// READ-ONLY; Unique identifier for this resource.
  6933  	ResourceGUID *string
  6934  }
  6935  
  6936  // HTTPConfiguration - HTTP configuration of the connectivity check.
  6937  type HTTPConfiguration struct {
  6938  	// List of HTTP headers.
  6939  	Headers []*HTTPHeader
  6940  
  6941  	// HTTP method.
  6942  	Method *HTTPMethod
  6943  
  6944  	// Valid status codes.
  6945  	ValidStatusCodes []*int32
  6946  }
  6947  
  6948  // HTTPHeader - The HTTP header.
  6949  type HTTPHeader struct {
  6950  	// The name in HTTP header.
  6951  	Name *string
  6952  
  6953  	// The value in HTTP header.
  6954  	Value *string
  6955  }
  6956  
  6957  // HeaderValueMatcher - An optional field under "Rewrite Action". It lets you capture and modify the value(s) of a specific
  6958  // header when multiple headers with the same name exist. Currently supported for Set-Cookie Response
  6959  // header only. For more details, visit https://aka.ms/appgwheadercrud
  6960  type HeaderValueMatcher struct {
  6961  	// Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison.
  6962  	IgnoreCase *bool
  6963  
  6964  	// Setting this value as truth will force to check the negation of the condition given by the user in the pattern field.
  6965  	Negate *bool
  6966  
  6967  	// The pattern, either fixed string or regular expression, that evaluates if a header value should be selected for rewrite.
  6968  	Pattern *string
  6969  }
  6970  
  6971  // HopLink - Hop link.
  6972  type HopLink struct {
  6973  	// Hop link properties.
  6974  	Properties *HopLinkProperties
  6975  
  6976  	// READ-ONLY; Provides additional context on links.
  6977  	Context map[string]*string
  6978  
  6979  	// READ-ONLY; List of issues.
  6980  	Issues []*ConnectivityIssue
  6981  
  6982  	// READ-ONLY; Link type.
  6983  	LinkType *string
  6984  
  6985  	// READ-ONLY; The ID of the next hop.
  6986  	NextHopID *string
  6987  
  6988  	// READ-ONLY; Resource ID.
  6989  	ResourceID *string
  6990  }
  6991  
  6992  // HopLinkProperties - Hop link properties.
  6993  type HopLinkProperties struct {
  6994  	// READ-ONLY; Average roundtrip time in milliseconds.
  6995  	RoundTripTimeAvg *int64
  6996  
  6997  	// READ-ONLY; Maximum roundtrip time in milliseconds.
  6998  	RoundTripTimeMax *int64
  6999  
  7000  	// READ-ONLY; Minimum roundtrip time in milliseconds.
  7001  	RoundTripTimeMin *int64
  7002  }
  7003  
  7004  // Hub Item.
  7005  type Hub struct {
  7006  	// Resource Id.
  7007  	ResourceID *string
  7008  
  7009  	// Resource Type.
  7010  	ResourceType *string
  7011  }
  7012  
  7013  // HubIPAddresses - IP addresses associated with azure firewall.
  7014  type HubIPAddresses struct {
  7015  	// Private IP Address associated with azure firewall.
  7016  	PrivateIPAddress *string
  7017  
  7018  	// Public IP addresses associated with azure firewall.
  7019  	PublicIPs *HubPublicIPAddresses
  7020  }
  7021  
  7022  // HubIPConfiguration - IpConfigurations.
  7023  type HubIPConfiguration struct {
  7024  	// Resource ID.
  7025  	ID *string
  7026  
  7027  	// Name of the Ip Configuration.
  7028  	Name *string
  7029  
  7030  	// The properties of the Virtual Hub IPConfigurations.
  7031  	Properties *HubIPConfigurationPropertiesFormat
  7032  
  7033  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7034  	Etag *string
  7035  
  7036  	// READ-ONLY; Ipconfiguration type.
  7037  	Type *string
  7038  }
  7039  
  7040  // HubIPConfigurationPropertiesFormat - Properties of IP configuration.
  7041  type HubIPConfigurationPropertiesFormat struct {
  7042  	// The private IP address of the IP configuration.
  7043  	PrivateIPAddress *string
  7044  
  7045  	// The private IP address allocation method.
  7046  	PrivateIPAllocationMethod *IPAllocationMethod
  7047  
  7048  	// The reference to the public IP resource.
  7049  	PublicIPAddress *PublicIPAddress
  7050  
  7051  	// The reference to the subnet resource.
  7052  	Subnet *Subnet
  7053  
  7054  	// READ-ONLY; The provisioning state of the IP configuration resource.
  7055  	ProvisioningState *ProvisioningState
  7056  }
  7057  
  7058  // HubPublicIPAddresses - Public IP addresses associated with azure firewall.
  7059  type HubPublicIPAddresses struct {
  7060  	// The list of Public IP addresses associated with azure firewall or IP addresses to be retained.
  7061  	Addresses []*AzureFirewallPublicIPAddress
  7062  
  7063  	// The number of Public IP addresses associated with azure firewall.
  7064  	Count *int32
  7065  }
  7066  
  7067  // HubRoute - RouteTable route.
  7068  type HubRoute struct {
  7069  	// REQUIRED; The type of destinations (eg: CIDR, ResourceId, Service).
  7070  	DestinationType *string
  7071  
  7072  	// REQUIRED; List of all destinations.
  7073  	Destinations []*string
  7074  
  7075  	// REQUIRED; The name of the Route that is unique within a RouteTable. This name can be used to access this route.
  7076  	Name *string
  7077  
  7078  	// REQUIRED; NextHop resource ID.
  7079  	NextHop *string
  7080  
  7081  	// REQUIRED; The type of next hop (eg: ResourceId).
  7082  	NextHopType *string
  7083  }
  7084  
  7085  // HubRouteTable - RouteTable resource in a virtual hub.
  7086  type HubRouteTable struct {
  7087  	// Resource ID.
  7088  	ID *string
  7089  
  7090  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  7091  	Name *string
  7092  
  7093  	// Properties of the RouteTable resource.
  7094  	Properties *HubRouteTableProperties
  7095  
  7096  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7097  	Etag *string
  7098  
  7099  	// READ-ONLY; Resource type.
  7100  	Type *string
  7101  }
  7102  
  7103  // HubRouteTableProperties - Parameters for RouteTable.
  7104  type HubRouteTableProperties struct {
  7105  	// List of labels associated with this route table.
  7106  	Labels []*string
  7107  
  7108  	// List of all routes.
  7109  	Routes []*HubRoute
  7110  
  7111  	// READ-ONLY; List of all connections associated with this route table.
  7112  	AssociatedConnections []*string
  7113  
  7114  	// READ-ONLY; List of all connections that advertise to this route table.
  7115  	PropagatingConnections []*string
  7116  
  7117  	// READ-ONLY; The provisioning state of the RouteTable resource.
  7118  	ProvisioningState *ProvisioningState
  7119  }
  7120  
  7121  // HubVirtualNetworkConnection Resource.
  7122  type HubVirtualNetworkConnection struct {
  7123  	// Resource ID.
  7124  	ID *string
  7125  
  7126  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  7127  	Name *string
  7128  
  7129  	// Properties of the hub virtual network connection.
  7130  	Properties *HubVirtualNetworkConnectionProperties
  7131  
  7132  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7133  	Etag *string
  7134  }
  7135  
  7136  // HubVirtualNetworkConnectionProperties - Parameters for HubVirtualNetworkConnection.
  7137  type HubVirtualNetworkConnectionProperties struct {
  7138  	// Deprecated: VirtualHub to RemoteVnet transit to enabled or not.
  7139  	AllowHubToRemoteVnetTransit *bool
  7140  
  7141  	// Deprecated: Allow RemoteVnet to use Virtual Hub's gateways.
  7142  	AllowRemoteVnetToUseHubVnetGateways *bool
  7143  
  7144  	// Enable internet security.
  7145  	EnableInternetSecurity *bool
  7146  
  7147  	// Reference to the remote virtual network.
  7148  	RemoteVirtualNetwork *SubResource
  7149  
  7150  	// The Routing Configuration indicating the associated and propagated route tables on this connection.
  7151  	RoutingConfiguration *RoutingConfiguration
  7152  
  7153  	// READ-ONLY; The provisioning state of the hub virtual network connection resource.
  7154  	ProvisioningState *ProvisioningState
  7155  }
  7156  
  7157  // IDPSQueryObject - Will describe the query to run against the IDPS signatures DB
  7158  type IDPSQueryObject struct {
  7159  	// Contain all filters names and values
  7160  	Filters []*FilterItems
  7161  
  7162  	// Column to sort response by
  7163  	OrderBy *OrderBy
  7164  
  7165  	// The number of the results to return in each page
  7166  	ResultsPerPage *int32
  7167  
  7168  	// Search term in all columns
  7169  	Search *string
  7170  
  7171  	// The number of records matching the filter to skip
  7172  	Skip *int32
  7173  }
  7174  
  7175  // IPAddressAvailabilityResult - Response for CheckIPAddressAvailability API service call.
  7176  type IPAddressAvailabilityResult struct {
  7177  	// Private IP address availability.
  7178  	Available *bool
  7179  
  7180  	// Contains other available private IP addresses if the asked for address is taken.
  7181  	AvailableIPAddresses []*string
  7182  
  7183  	// Private IP address platform reserved.
  7184  	IsPlatformReserved *bool
  7185  }
  7186  
  7187  // IPAllocation - IpAllocation resource.
  7188  type IPAllocation struct {
  7189  	// Resource ID.
  7190  	ID *string
  7191  
  7192  	// Resource location.
  7193  	Location *string
  7194  
  7195  	// Properties of the IpAllocation.
  7196  	Properties *IPAllocationPropertiesFormat
  7197  
  7198  	// Resource tags.
  7199  	Tags map[string]*string
  7200  
  7201  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7202  	Etag *string
  7203  
  7204  	// READ-ONLY; Resource name.
  7205  	Name *string
  7206  
  7207  	// READ-ONLY; Resource type.
  7208  	Type *string
  7209  }
  7210  
  7211  // IPAllocationListResult - Response for the ListIpAllocations API service call.
  7212  type IPAllocationListResult struct {
  7213  	// The URL to get the next set of results.
  7214  	NextLink *string
  7215  
  7216  	// A list of IpAllocation resources.
  7217  	Value []*IPAllocation
  7218  }
  7219  
  7220  // IPAllocationPropertiesFormat - Properties of the IpAllocation.
  7221  type IPAllocationPropertiesFormat struct {
  7222  	// IpAllocation tags.
  7223  	AllocationTags map[string]*string
  7224  
  7225  	// The IPAM allocation ID.
  7226  	IpamAllocationID *string
  7227  
  7228  	// The address prefix for the IpAllocation.
  7229  	Prefix *string
  7230  
  7231  	// The address prefix length for the IpAllocation.
  7232  	PrefixLength *int32
  7233  
  7234  	// The address prefix Type for the IpAllocation.
  7235  	PrefixType *IPVersion
  7236  
  7237  	// The type for the IpAllocation.
  7238  	Type *IPAllocationType
  7239  
  7240  	// READ-ONLY; The Subnet that using the prefix of this IpAllocation resource.
  7241  	Subnet *SubResource
  7242  
  7243  	// READ-ONLY; The VirtualNetwork that using the prefix of this IpAllocation resource.
  7244  	VirtualNetwork *SubResource
  7245  }
  7246  
  7247  // IPConfiguration - IP configuration.
  7248  type IPConfiguration struct {
  7249  	// Resource ID.
  7250  	ID *string
  7251  
  7252  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  7253  	Name *string
  7254  
  7255  	// Properties of the IP configuration.
  7256  	Properties *IPConfigurationPropertiesFormat
  7257  
  7258  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7259  	Etag *string
  7260  }
  7261  
  7262  // IPConfigurationBgpPeeringAddress - Properties of IPConfigurationBgpPeeringAddress.
  7263  type IPConfigurationBgpPeeringAddress struct {
  7264  	// The list of custom BGP peering addresses which belong to IP configuration.
  7265  	CustomBgpIPAddresses []*string
  7266  
  7267  	// The ID of IP configuration which belongs to gateway.
  7268  	IPConfigurationID *string
  7269  
  7270  	// READ-ONLY; The list of default BGP peering addresses which belong to IP configuration.
  7271  	DefaultBgpIPAddresses []*string
  7272  
  7273  	// READ-ONLY; The list of tunnel public IP addresses which belong to IP configuration.
  7274  	TunnelIPAddresses []*string
  7275  }
  7276  
  7277  // IPConfigurationProfile - IP configuration profile child resource.
  7278  type IPConfigurationProfile struct {
  7279  	// Resource ID.
  7280  	ID *string
  7281  
  7282  	// The name of the resource. This name can be used to access the resource.
  7283  	Name *string
  7284  
  7285  	// Properties of the IP configuration profile.
  7286  	Properties *IPConfigurationProfilePropertiesFormat
  7287  
  7288  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7289  	Etag *string
  7290  
  7291  	// READ-ONLY; Sub Resource type.
  7292  	Type *string
  7293  }
  7294  
  7295  // IPConfigurationProfilePropertiesFormat - IP configuration profile properties.
  7296  type IPConfigurationProfilePropertiesFormat struct {
  7297  	// The reference to the subnet resource to create a container network interface ip configuration.
  7298  	Subnet *Subnet
  7299  
  7300  	// READ-ONLY; The provisioning state of the IP configuration profile resource.
  7301  	ProvisioningState *ProvisioningState
  7302  }
  7303  
  7304  // IPConfigurationPropertiesFormat - Properties of IP configuration.
  7305  type IPConfigurationPropertiesFormat struct {
  7306  	// The private IP address of the IP configuration.
  7307  	PrivateIPAddress *string
  7308  
  7309  	// The private IP address allocation method.
  7310  	PrivateIPAllocationMethod *IPAllocationMethod
  7311  
  7312  	// The reference to the public IP resource.
  7313  	PublicIPAddress *PublicIPAddress
  7314  
  7315  	// The reference to the subnet resource.
  7316  	Subnet *Subnet
  7317  
  7318  	// READ-ONLY; The provisioning state of the IP configuration resource.
  7319  	ProvisioningState *ProvisioningState
  7320  }
  7321  
  7322  // IPGroup - The IpGroups resource information.
  7323  type IPGroup struct {
  7324  	// Resource ID.
  7325  	ID *string
  7326  
  7327  	// Resource location.
  7328  	Location *string
  7329  
  7330  	// Properties of the IpGroups.
  7331  	Properties *IPGroupPropertiesFormat
  7332  
  7333  	// Resource tags.
  7334  	Tags map[string]*string
  7335  
  7336  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7337  	Etag *string
  7338  
  7339  	// READ-ONLY; Resource name.
  7340  	Name *string
  7341  
  7342  	// READ-ONLY; Resource type.
  7343  	Type *string
  7344  }
  7345  
  7346  // IPGroupListResult - Response for the ListIpGroups API service call.
  7347  type IPGroupListResult struct {
  7348  	// URL to get the next set of results.
  7349  	NextLink *string
  7350  
  7351  	// The list of IpGroups information resources.
  7352  	Value []*IPGroup
  7353  }
  7354  
  7355  // IPGroupPropertiesFormat - The IpGroups property information.
  7356  type IPGroupPropertiesFormat struct {
  7357  	// IpAddresses/IpAddressPrefixes in the IpGroups resource.
  7358  	IPAddresses []*string
  7359  
  7360  	// READ-ONLY; List of references to Firewall Policies resources that this IpGroups is associated with.
  7361  	FirewallPolicies []*SubResource
  7362  
  7363  	// READ-ONLY; List of references to Firewall resources that this IpGroups is associated with.
  7364  	Firewalls []*SubResource
  7365  
  7366  	// READ-ONLY; The provisioning state of the IpGroups resource.
  7367  	ProvisioningState *ProvisioningState
  7368  }
  7369  
  7370  // IPPrefixesList - List of SNAT IP Prefixes learnt by firewall to not SNAT
  7371  type IPPrefixesList struct {
  7372  	// IP Prefix value.
  7373  	IPPrefixes []*string
  7374  }
  7375  
  7376  type IPRule struct {
  7377  	// Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.
  7378  	AddressPrefix *string
  7379  }
  7380  
  7381  // IPSecPolicy - An IPSec Policy configuration for a virtual network gateway connection.
  7382  type IPSecPolicy struct {
  7383  	// REQUIRED; The DH Group used in IKE Phase 1 for initial SA.
  7384  	DhGroup *DhGroup
  7385  
  7386  	// REQUIRED; The IPSec encryption algorithm (IKE phase 1).
  7387  	IPSecEncryption *IPSecEncryption
  7388  
  7389  	// REQUIRED; The IPSec integrity algorithm (IKE phase 1).
  7390  	IPSecIntegrity *IPSecIntegrity
  7391  
  7392  	// REQUIRED; The IKE encryption algorithm (IKE phase 2).
  7393  	IkeEncryption *IkeEncryption
  7394  
  7395  	// REQUIRED; The IKE integrity algorithm (IKE phase 2).
  7396  	IkeIntegrity *IkeIntegrity
  7397  
  7398  	// REQUIRED; The Pfs Group used in IKE Phase 2 for new child SA.
  7399  	PfsGroup *PfsGroup
  7400  
  7401  	// REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN
  7402  	// tunnel.
  7403  	SaDataSizeKilobytes *int32
  7404  
  7405  	// REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site
  7406  	// VPN tunnel.
  7407  	SaLifeTimeSeconds *int32
  7408  }
  7409  
  7410  // IPTag - Contains the IpTag associated with the object.
  7411  type IPTag struct {
  7412  	// The IP tag type. Example: FirstPartyUsage.
  7413  	IPTagType *string
  7414  
  7415  	// The value of the IP tag associated with the public IP. Example: SQL.
  7416  	Tag *string
  7417  }
  7418  
  7419  // IPTraffic - IP traffic information.
  7420  type IPTraffic struct {
  7421  	// REQUIRED; List of destination IP addresses of the traffic..
  7422  	DestinationIPs []*string
  7423  
  7424  	// REQUIRED; The destination ports of the traffic.
  7425  	DestinationPorts []*string
  7426  
  7427  	// REQUIRED
  7428  	Protocols []*NetworkProtocol
  7429  
  7430  	// REQUIRED; List of source IP addresses of the traffic..
  7431  	SourceIPs []*string
  7432  
  7433  	// REQUIRED; The source ports of the traffic.
  7434  	SourcePorts []*string
  7435  }
  7436  
  7437  // IPv6CircuitConnectionConfig - IPv6 Circuit Connection properties for global reach.
  7438  type IPv6CircuitConnectionConfig struct {
  7439  	// /125 IP address space to carve out customer addresses for global reach.
  7440  	AddressPrefix *string
  7441  
  7442  	// READ-ONLY; Express Route Circuit connection state.
  7443  	CircuitConnectionStatus *CircuitConnectionStatus
  7444  }
  7445  
  7446  // IPv6ExpressRouteCircuitPeeringConfig - Contains IPv6 peering config.
  7447  type IPv6ExpressRouteCircuitPeeringConfig struct {
  7448  	// The Microsoft peering configuration.
  7449  	MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig
  7450  
  7451  	// The primary address prefix.
  7452  	PrimaryPeerAddressPrefix *string
  7453  
  7454  	// The reference to the RouteFilter resource.
  7455  	RouteFilter *SubResource
  7456  
  7457  	// The secondary address prefix.
  7458  	SecondaryPeerAddressPrefix *string
  7459  
  7460  	// The state of peering.
  7461  	State *ExpressRouteCircuitPeeringState
  7462  }
  7463  
  7464  // InboundNatPool - Inbound NAT pool of the load balancer.
  7465  type InboundNatPool struct {
  7466  	// Resource ID.
  7467  	ID *string
  7468  
  7469  	// The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be
  7470  	// used to access the resource.
  7471  	Name *string
  7472  
  7473  	// Properties of load balancer inbound nat pool.
  7474  	Properties *InboundNatPoolPropertiesFormat
  7475  
  7476  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7477  	Etag *string
  7478  
  7479  	// READ-ONLY; Type of the resource.
  7480  	Type *string
  7481  }
  7482  
  7483  // InboundNatPoolPropertiesFormat - Properties of Inbound NAT pool.
  7484  type InboundNatPoolPropertiesFormat struct {
  7485  	// REQUIRED; The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.
  7486  	BackendPort *int32
  7487  
  7488  	// REQUIRED; The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated
  7489  	// with a load balancer. Acceptable values range between 1 and 65535.
  7490  	FrontendPortRangeEnd *int32
  7491  
  7492  	// REQUIRED; The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated
  7493  	// with a load balancer. Acceptable values range between 1 and 65534.
  7494  	FrontendPortRangeStart *int32
  7495  
  7496  	// REQUIRED; The reference to the transport protocol used by the inbound NAT pool.
  7497  	Protocol *TransportProtocol
  7498  
  7499  	// Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability
  7500  	// Group. This setting is required when using the SQL AlwaysOn Availability Groups
  7501  	// in SQL server. This setting can't be changed after you create the endpoint.
  7502  	EnableFloatingIP *bool
  7503  
  7504  	// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used
  7505  	// when the protocol is set to TCP.
  7506  	EnableTCPReset *bool
  7507  
  7508  	// A reference to frontend IP addresses.
  7509  	FrontendIPConfiguration *SubResource
  7510  
  7511  	// The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes.
  7512  	// This element is only used when the protocol is set to TCP.
  7513  	IdleTimeoutInMinutes *int32
  7514  
  7515  	// READ-ONLY; The provisioning state of the inbound NAT pool resource.
  7516  	ProvisioningState *ProvisioningState
  7517  }
  7518  
  7519  // InboundNatRule - Inbound NAT rule of the load balancer.
  7520  type InboundNatRule struct {
  7521  	// Resource ID.
  7522  	ID *string
  7523  
  7524  	// The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be
  7525  	// used to access the resource.
  7526  	Name *string
  7527  
  7528  	// Properties of load balancer inbound NAT rule.
  7529  	Properties *InboundNatRulePropertiesFormat
  7530  
  7531  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7532  	Etag *string
  7533  
  7534  	// READ-ONLY; Type of the resource.
  7535  	Type *string
  7536  }
  7537  
  7538  // InboundNatRuleListResult - Response for ListInboundNatRule API service call.
  7539  type InboundNatRuleListResult struct {
  7540  	// A list of inbound NAT rules in a load balancer.
  7541  	Value []*InboundNatRule
  7542  
  7543  	// READ-ONLY; The URL to get the next set of results.
  7544  	NextLink *string
  7545  }
  7546  
  7547  // InboundNatRulePortMapping - Individual port mappings for inbound NAT rule created for backend pool.
  7548  type InboundNatRulePortMapping struct {
  7549  	// READ-ONLY; Backend port.
  7550  	BackendPort *int32
  7551  
  7552  	// READ-ONLY; Frontend port.
  7553  	FrontendPort *int32
  7554  
  7555  	// READ-ONLY; Name of inbound NAT rule.
  7556  	InboundNatRuleName *string
  7557  
  7558  	// READ-ONLY; The reference to the transport protocol used by the inbound NAT rule.
  7559  	Protocol *TransportProtocol
  7560  }
  7561  
  7562  // InboundNatRulePropertiesFormat - Properties of the inbound NAT rule.
  7563  type InboundNatRulePropertiesFormat struct {
  7564  	// A reference to backendAddressPool resource.
  7565  	BackendAddressPool *SubResource
  7566  
  7567  	// The port used for the internal endpoint. Acceptable values range from 1 to 65535.
  7568  	BackendPort *int32
  7569  
  7570  	// Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability
  7571  	// Group. This setting is required when using the SQL AlwaysOn Availability Groups
  7572  	// in SQL server. This setting can't be changed after you create the endpoint.
  7573  	EnableFloatingIP *bool
  7574  
  7575  	// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used
  7576  	// when the protocol is set to TCP.
  7577  	EnableTCPReset *bool
  7578  
  7579  	// A reference to frontend IP addresses.
  7580  	FrontendIPConfiguration *SubResource
  7581  
  7582  	// The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values
  7583  	// range from 1 to 65534.
  7584  	FrontendPort *int32
  7585  
  7586  	// The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart.
  7587  	// Individual inbound NAT rule port mappings will be created for each
  7588  	// backend address from BackendAddressPool. Acceptable values range from 1 to 65534.
  7589  	FrontendPortRangeEnd *int32
  7590  
  7591  	// The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd.
  7592  	// Individual inbound NAT rule port mappings will be created for each
  7593  	// backend address from BackendAddressPool. Acceptable values range from 1 to 65534.
  7594  	FrontendPortRangeStart *int32
  7595  
  7596  	// The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes.
  7597  	// This element is only used when the protocol is set to TCP.
  7598  	IdleTimeoutInMinutes *int32
  7599  
  7600  	// The reference to the transport protocol used by the load balancing rule.
  7601  	Protocol *TransportProtocol
  7602  
  7603  	// READ-ONLY; A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port
  7604  	// of each of the frontend IP configurations is forwarded to the backend IP.
  7605  	BackendIPConfiguration *InterfaceIPConfiguration
  7606  
  7607  	// READ-ONLY; The provisioning state of the inbound NAT rule resource.
  7608  	ProvisioningState *ProvisioningState
  7609  }
  7610  
  7611  // InboundSecurityRule - NVA Inbound Security Rule resource.
  7612  type InboundSecurityRule struct {
  7613  	// Resource ID.
  7614  	ID *string
  7615  
  7616  	// Name of security rule collection.
  7617  	Name *string
  7618  
  7619  	// The properties of the Inbound Security Rules.
  7620  	Properties *InboundSecurityRuleProperties
  7621  
  7622  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7623  	Etag *string
  7624  
  7625  	// READ-ONLY; NVA inbound security rule type.
  7626  	Type *string
  7627  }
  7628  
  7629  // InboundSecurityRuleProperties - Properties of the Inbound Security Rules resource.
  7630  type InboundSecurityRuleProperties struct {
  7631  	// Rule Type. This should be either AutoExpire or Permanent. Auto Expire Rule only creates NSG rules. Permanent Rule creates
  7632  	// NSG rule and SLB LB Rule.
  7633  	RuleType *InboundSecurityRuleType
  7634  
  7635  	// List of allowed rules.
  7636  	Rules []*InboundSecurityRules
  7637  
  7638  	// READ-ONLY; The provisioning state of the resource.
  7639  	ProvisioningState *ProvisioningState
  7640  }
  7641  
  7642  // InboundSecurityRules - Properties of the Inbound Security Rules resource.
  7643  type InboundSecurityRules struct {
  7644  	// Public IP name in case of Permanent Rule type & Interface Name in case of Auto Expire Rule type
  7645  	AppliesOn []*string
  7646  
  7647  	// NVA port ranges to be opened up. One needs to provide specific ports.
  7648  	DestinationPortRange *int32
  7649  
  7650  	// NVA port ranges to be opened up. One can provide a range of ports. Allowed port value between 0 and 65535.
  7651  	DestinationPortRanges []*string
  7652  
  7653  	// Name of the rule.
  7654  	Name *string
  7655  
  7656  	// Protocol. This should be either TCP or UDP.
  7657  	Protocol *InboundSecurityRulesProtocol
  7658  
  7659  	// The CIDR or source IP range.
  7660  	SourceAddressPrefix *string
  7661  }
  7662  
  7663  // IntentContent - Intent information.
  7664  type IntentContent struct {
  7665  	// REQUIRED; Destination resource id of the intent.
  7666  	DestinationResourceID *string
  7667  
  7668  	// REQUIRED; IP traffic information.
  7669  	IPTraffic *IPTraffic
  7670  
  7671  	// REQUIRED; Source resource id of the intent.
  7672  	SourceResourceID *string
  7673  	Description      *string
  7674  }
  7675  
  7676  // IntentPolicy - Network Intent Policy resource.
  7677  type IntentPolicy struct {
  7678  	// Resource ID.
  7679  	ID *string
  7680  
  7681  	// Resource location.
  7682  	Location *string
  7683  
  7684  	// Resource tags.
  7685  	Tags map[string]*string
  7686  
  7687  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7688  	Etag *string
  7689  
  7690  	// READ-ONLY; Resource name.
  7691  	Name *string
  7692  
  7693  	// READ-ONLY; Resource type.
  7694  	Type *string
  7695  }
  7696  
  7697  // IntentPolicyConfiguration - Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest.
  7698  type IntentPolicyConfiguration struct {
  7699  	// The name of the Network Intent Policy for storing in target subscription.
  7700  	NetworkIntentPolicyName *string
  7701  
  7702  	// Source network intent policy.
  7703  	SourceNetworkIntentPolicy *IntentPolicy
  7704  }
  7705  
  7706  // Interface - A network interface in a resource group.
  7707  type Interface struct {
  7708  	// The extended location of the network interface.
  7709  	ExtendedLocation *ExtendedLocation
  7710  
  7711  	// Resource ID.
  7712  	ID *string
  7713  
  7714  	// Resource location.
  7715  	Location *string
  7716  
  7717  	// Properties of the network interface.
  7718  	Properties *InterfacePropertiesFormat
  7719  
  7720  	// Resource tags.
  7721  	Tags map[string]*string
  7722  
  7723  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7724  	Etag *string
  7725  
  7726  	// READ-ONLY; Resource name.
  7727  	Name *string
  7728  
  7729  	// READ-ONLY; Resource type.
  7730  	Type *string
  7731  }
  7732  
  7733  // InterfaceAssociation - Network interface and its custom security rules.
  7734  type InterfaceAssociation struct {
  7735  	// Collection of custom security rules.
  7736  	SecurityRules []*SecurityRule
  7737  
  7738  	// READ-ONLY; Network interface ID.
  7739  	ID *string
  7740  }
  7741  
  7742  // InterfaceDNSSettings - DNS settings of a network interface.
  7743  type InterfaceDNSSettings struct {
  7744  	// List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS'
  7745  	// value cannot be combined with other IPs, it must be the only value in dnsServers
  7746  	// collection.
  7747  	DNSServers []*string
  7748  
  7749  	// Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
  7750  	InternalDNSNameLabel *string
  7751  
  7752  	// 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
  7753  	// from all NICs that are part of the Availability Set. This property is what is
  7754  	// configured on each of those VMs.
  7755  	AppliedDNSServers []*string
  7756  
  7757  	// READ-ONLY; Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS
  7758  	// name can be constructed by concatenating the VM name with the value of
  7759  	// internalDomainNameSuffix.
  7760  	InternalDomainNameSuffix *string
  7761  
  7762  	// READ-ONLY; Fully qualified DNS name supporting internal communications between VMs in the same virtual network.
  7763  	InternalFqdn *string
  7764  }
  7765  
  7766  // InterfaceIPConfiguration - IPConfiguration in a network interface.
  7767  type InterfaceIPConfiguration struct {
  7768  	// Resource ID.
  7769  	ID *string
  7770  
  7771  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  7772  	Name *string
  7773  
  7774  	// Network interface IP configuration properties.
  7775  	Properties *InterfaceIPConfigurationPropertiesFormat
  7776  
  7777  	// Resource type.
  7778  	Type *string
  7779  
  7780  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7781  	Etag *string
  7782  }
  7783  
  7784  // InterfaceIPConfigurationListResult - Response for list ip configurations API service call.
  7785  type InterfaceIPConfigurationListResult struct {
  7786  	// A list of ip configurations.
  7787  	Value []*InterfaceIPConfiguration
  7788  
  7789  	// READ-ONLY; The URL to get the next set of results.
  7790  	NextLink *string
  7791  }
  7792  
  7793  // InterfaceIPConfigurationPrivateLinkConnectionProperties - PrivateLinkConnection properties for the network interface.
  7794  type InterfaceIPConfigurationPrivateLinkConnectionProperties struct {
  7795  	// READ-ONLY; List of FQDNs for current private link connection.
  7796  	Fqdns []*string
  7797  
  7798  	// READ-ONLY; The group ID for current private link connection.
  7799  	GroupID *string
  7800  
  7801  	// READ-ONLY; The required member name for current private link connection.
  7802  	RequiredMemberName *string
  7803  }
  7804  
  7805  // InterfaceIPConfigurationPropertiesFormat - Properties of IP configuration.
  7806  type InterfaceIPConfigurationPropertiesFormat struct {
  7807  	// The reference to ApplicationGatewayBackendAddressPool resource.
  7808  	ApplicationGatewayBackendAddressPools []*ApplicationGatewayBackendAddressPool
  7809  
  7810  	// Application security groups in which the IP configuration is included.
  7811  	ApplicationSecurityGroups []*ApplicationSecurityGroup
  7812  
  7813  	// The reference to gateway load balancer frontend IP.
  7814  	GatewayLoadBalancer *SubResource
  7815  
  7816  	// The reference to LoadBalancerBackendAddressPool resource.
  7817  	LoadBalancerBackendAddressPools []*BackendAddressPool
  7818  
  7819  	// A list of references of LoadBalancerInboundNatRules.
  7820  	LoadBalancerInboundNatRules []*InboundNatRule
  7821  
  7822  	// Whether this is a primary customer address on the network interface.
  7823  	Primary *bool
  7824  
  7825  	// Private IP address of the IP configuration. It can be a single IP address or a CIDR block in the format /.
  7826  	PrivateIPAddress *string
  7827  
  7828  	// The private IP address prefix length. If specified and the allocation method is dynamic, the service will allocate a CIDR
  7829  	// block instead of a single IP address.
  7830  	PrivateIPAddressPrefixLength *int32
  7831  
  7832  	// Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.
  7833  	PrivateIPAddressVersion *IPVersion
  7834  
  7835  	// The private IP address allocation method.
  7836  	PrivateIPAllocationMethod *IPAllocationMethod
  7837  
  7838  	// Public IP address bound to the IP configuration.
  7839  	PublicIPAddress *PublicIPAddress
  7840  
  7841  	// Subnet bound to the IP configuration.
  7842  	Subnet *Subnet
  7843  
  7844  	// The reference to Virtual Network Taps.
  7845  	VirtualNetworkTaps []*VirtualNetworkTap
  7846  
  7847  	// READ-ONLY; PrivateLinkConnection properties for the network interface.
  7848  	PrivateLinkConnectionProperties *InterfaceIPConfigurationPrivateLinkConnectionProperties
  7849  
  7850  	// READ-ONLY; The provisioning state of the network interface IP configuration.
  7851  	ProvisioningState *ProvisioningState
  7852  }
  7853  
  7854  // InterfaceListResult - Response for the ListNetworkInterface API service call.
  7855  type InterfaceListResult struct {
  7856  	// A list of network interfaces in a resource group.
  7857  	Value []*Interface
  7858  
  7859  	// READ-ONLY; The URL to get the next set of results.
  7860  	NextLink *string
  7861  }
  7862  
  7863  // InterfaceLoadBalancerListResult - Response for list ip configurations API service call.
  7864  type InterfaceLoadBalancerListResult struct {
  7865  	// A list of load balancers.
  7866  	Value []*LoadBalancer
  7867  
  7868  	// READ-ONLY; The URL to get the next set of results.
  7869  	NextLink *string
  7870  }
  7871  
  7872  // InterfacePropertiesFormat - NetworkInterface properties.
  7873  type InterfacePropertiesFormat struct {
  7874  	// Auxiliary mode of Network Interface resource.
  7875  	AuxiliaryMode *NetworkInterfaceAuxiliaryMode
  7876  
  7877  	// Auxiliary sku of Network Interface resource.
  7878  	AuxiliarySKU *NetworkInterfaceAuxiliarySKU
  7879  
  7880  	// The DNS settings in network interface.
  7881  	DNSSettings *InterfaceDNSSettings
  7882  
  7883  	// Indicates whether to disable tcp state tracking.
  7884  	DisableTCPStateTracking *bool
  7885  
  7886  	// If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated
  7887  	// networking.
  7888  	EnableAcceleratedNetworking *bool
  7889  
  7890  	// Indicates whether IP forwarding is enabled on this network interface.
  7891  	EnableIPForwarding *bool
  7892  
  7893  	// A list of IPConfigurations of the network interface.
  7894  	IPConfigurations []*InterfaceIPConfiguration
  7895  
  7896  	// Migration phase of Network Interface resource.
  7897  	MigrationPhase *NetworkInterfaceMigrationPhase
  7898  
  7899  	// The reference to the NetworkSecurityGroup resource.
  7900  	NetworkSecurityGroup *SecurityGroup
  7901  
  7902  	// Type of Network Interface resource.
  7903  	NicType *NetworkInterfaceNicType
  7904  
  7905  	// Privatelinkservice of the network interface resource.
  7906  	PrivateLinkService *PrivateLinkService
  7907  
  7908  	// WorkloadType of the NetworkInterface for BareMetal resources
  7909  	WorkloadType *string
  7910  
  7911  	// READ-ONLY; Whether default outbound connectivity for nic was configured or not.
  7912  	DefaultOutboundConnectivityEnabled *bool
  7913  
  7914  	// READ-ONLY; A reference to the dscp configuration to which the network interface is linked.
  7915  	DscpConfiguration *SubResource
  7916  
  7917  	// READ-ONLY; A list of references to linked BareMetal resources.
  7918  	HostedWorkloads []*string
  7919  
  7920  	// READ-ONLY; The MAC address of the network interface.
  7921  	MacAddress *string
  7922  
  7923  	// READ-ONLY; Whether this is a primary network interface on a virtual machine.
  7924  	Primary *bool
  7925  
  7926  	// READ-ONLY; A reference to the private endpoint to which the network interface is linked.
  7927  	PrivateEndpoint *PrivateEndpoint
  7928  
  7929  	// READ-ONLY; The provisioning state of the network interface resource.
  7930  	ProvisioningState *ProvisioningState
  7931  
  7932  	// READ-ONLY; The resource GUID property of the network interface resource.
  7933  	ResourceGUID *string
  7934  
  7935  	// READ-ONLY; A list of TapConfigurations of the network interface.
  7936  	TapConfigurations []*InterfaceTapConfiguration
  7937  
  7938  	// READ-ONLY; The reference to a virtual machine.
  7939  	VirtualMachine *SubResource
  7940  
  7941  	// READ-ONLY; Whether the virtual machine this nic is attached to supports encryption.
  7942  	VnetEncryptionSupported *bool
  7943  }
  7944  
  7945  // InterfaceTapConfiguration - Tap configuration in a Network Interface.
  7946  type InterfaceTapConfiguration struct {
  7947  	// Resource ID.
  7948  	ID *string
  7949  
  7950  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  7951  	Name *string
  7952  
  7953  	// Properties of the Virtual Network Tap configuration.
  7954  	Properties *InterfaceTapConfigurationPropertiesFormat
  7955  
  7956  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  7957  	Etag *string
  7958  
  7959  	// READ-ONLY; Sub Resource type.
  7960  	Type *string
  7961  }
  7962  
  7963  // InterfaceTapConfigurationListResult - Response for list tap configurations API service call.
  7964  type InterfaceTapConfigurationListResult struct {
  7965  	// A list of tap configurations.
  7966  	Value []*InterfaceTapConfiguration
  7967  
  7968  	// READ-ONLY; The URL to get the next set of results.
  7969  	NextLink *string
  7970  }
  7971  
  7972  // InterfaceTapConfigurationPropertiesFormat - Properties of Virtual Network Tap configuration.
  7973  type InterfaceTapConfigurationPropertiesFormat struct {
  7974  	// The reference to the Virtual Network Tap resource.
  7975  	VirtualNetworkTap *VirtualNetworkTap
  7976  
  7977  	// READ-ONLY; The provisioning state of the network interface tap configuration resource.
  7978  	ProvisioningState *ProvisioningState
  7979  }
  7980  
  7981  // InternetIngressPublicIPsProperties - Resource Uri of Public Ip for Standard Load Balancer Frontend End.
  7982  type InternetIngressPublicIPsProperties struct {
  7983  	// Resource Uri of Public Ip
  7984  	ID *string
  7985  }
  7986  
  7987  // IpamPool - Instance of Pool resource.
  7988  type IpamPool struct {
  7989  	// REQUIRED; The geo-location where the resource lives
  7990  	Location *string
  7991  
  7992  	// REQUIRED; Properties of IpamPool resource properties which are specific to the Pool resource.
  7993  	Properties *IpamPoolProperties
  7994  
  7995  	// Resource tags.
  7996  	Tags map[string]*string
  7997  
  7998  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
  7999  	ID *string
  8000  
  8001  	// READ-ONLY; The name of the resource
  8002  	Name *string
  8003  
  8004  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
  8005  	SystemData *SystemData
  8006  
  8007  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
  8008  	Type *string
  8009  }
  8010  
  8011  // IpamPoolList - List of IpamPool
  8012  type IpamPoolList struct {
  8013  	// The link used to get the next page of operations.
  8014  	NextLink *string
  8015  	Value    []*IpamPool
  8016  }
  8017  
  8018  // IpamPoolPrefixAllocation - IpamPool prefix allocation reference.
  8019  type IpamPoolPrefixAllocation struct {
  8020  	// Number of IP addresses to allocate.
  8021  	NumberOfIPAddresses *string
  8022  	Pool                *IpamPoolPrefixAllocationPool
  8023  
  8024  	// READ-ONLY; List of assigned IP address prefixes in the IpamPool of the associated resource.
  8025  	AllocatedAddressPrefixes []*string
  8026  }
  8027  
  8028  type IpamPoolPrefixAllocationPool struct {
  8029  	// Resource id of the associated Azure IpamPool resource.
  8030  	ID *string
  8031  }
  8032  
  8033  // IpamPoolProperties - Properties of IpamPool resource properties which are specific to the Pool resource.
  8034  type IpamPoolProperties struct {
  8035  	// REQUIRED; List of IP address prefixes of the resource.
  8036  	AddressPrefixes []*string
  8037  	Description     *string
  8038  
  8039  	// String representing a friendly name for the resource.
  8040  	DisplayName *string
  8041  
  8042  	// String representing parent IpamPool resource name. If empty the IpamPool will be a root pool.
  8043  	ParentPoolName *string
  8044  
  8045  	// Provisioning states of a resource.
  8046  	ProvisioningState *ProvisioningState
  8047  
  8048  	// READ-ONLY; List of IP address type for the IpamPool.
  8049  	IPAddressType []*IPType
  8050  }
  8051  
  8052  // IpamPoolUpdate - Represents the IpamPool update API request interface.
  8053  type IpamPoolUpdate struct {
  8054  	// Represents the IpamPool update properties.
  8055  	Properties *IpamPoolUpdateProperties
  8056  
  8057  	// Dictionary of
  8058  	Tags map[string]*string
  8059  }
  8060  
  8061  // IpamPoolUpdateProperties - Represents the IpamPool update properties.
  8062  type IpamPoolUpdateProperties struct {
  8063  	Description *string
  8064  
  8065  	// String representing a friendly name for the resource.
  8066  	DisplayName *string
  8067  }
  8068  
  8069  // ListHubRouteTablesResult - List of RouteTables and a URL nextLink to get the next set of results.
  8070  type ListHubRouteTablesResult struct {
  8071  	// URL to get the next set of operation list results if there are any.
  8072  	NextLink *string
  8073  
  8074  	// List of RouteTables.
  8075  	Value []*HubRouteTable
  8076  }
  8077  
  8078  // ListHubVirtualNetworkConnectionsResult - List of HubVirtualNetworkConnections and a URL nextLink to get the next set of
  8079  // results.
  8080  type ListHubVirtualNetworkConnectionsResult struct {
  8081  	// URL to get the next set of operation list results if there are any.
  8082  	NextLink *string
  8083  
  8084  	// List of HubVirtualNetworkConnections.
  8085  	Value []*HubVirtualNetworkConnection
  8086  }
  8087  
  8088  // ListP2SVPNGatewaysResult - Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL
  8089  // nextLink to get the next set of results.
  8090  type ListP2SVPNGatewaysResult struct {
  8091  	// URL to get the next set of operation list results if there are any.
  8092  	NextLink *string
  8093  
  8094  	// List of P2SVpnGateways.
  8095  	Value []*P2SVPNGateway
  8096  }
  8097  
  8098  // ListRouteMapsResult - List of RouteMaps and a URL nextLink to get the next set of results.
  8099  type ListRouteMapsResult struct {
  8100  	// URL to get the next set of operation list results if there are any.
  8101  	NextLink *string
  8102  
  8103  	// List of RouteMaps.
  8104  	Value []*RouteMap
  8105  }
  8106  
  8107  // ListRoutingIntentResult - List of the routing intent result and a URL nextLink to get the next set of results.
  8108  type ListRoutingIntentResult struct {
  8109  	// URL to get the next set of operation list results if there are any.
  8110  	NextLink *string
  8111  
  8112  	// List of RoutingIntent resource.
  8113  	Value []*RoutingIntent
  8114  }
  8115  
  8116  // ListVPNConnectionsResult - Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains
  8117  // a list of Vpn Connections and a URL nextLink to get the next set of results.
  8118  type ListVPNConnectionsResult struct {
  8119  	// URL to get the next set of operation list results if there are any.
  8120  	NextLink *string
  8121  
  8122  	// List of Vpn Connections.
  8123  	Value []*VPNConnection
  8124  }
  8125  
  8126  // ListVPNGatewayNatRulesResult - Result of the request to list all nat rules to a virtual wan vpn gateway. It contains a
  8127  // list of Nat rules and a URL nextLink to get the next set of results.
  8128  type ListVPNGatewayNatRulesResult struct {
  8129  	// URL to get the next set of operation list results if there are any.
  8130  	NextLink *string
  8131  
  8132  	// List of Nat Rules.
  8133  	Value []*VPNGatewayNatRule
  8134  }
  8135  
  8136  // ListVPNGatewaysResult - Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink
  8137  // to get the next set of results.
  8138  type ListVPNGatewaysResult struct {
  8139  	// URL to get the next set of operation list results if there are any.
  8140  	NextLink *string
  8141  
  8142  	// List of VpnGateways.
  8143  	Value []*VPNGateway
  8144  }
  8145  
  8146  // ListVPNServerConfigurationPolicyGroupsResult - Result of the request to list VpnServerConfigurationPolicyGroups. It contains
  8147  // a list of VpnServerConfigurationPolicyGroups and a URL nextLink to get the next set of results.
  8148  type ListVPNServerConfigurationPolicyGroupsResult struct {
  8149  	// URL to get the next set of operation list results if there are any.
  8150  	NextLink *string
  8151  
  8152  	// List of VpnServerConfigurationPolicyGroups.
  8153  	Value []*VPNServerConfigurationPolicyGroup
  8154  }
  8155  
  8156  // ListVPNServerConfigurationsResult - Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations
  8157  // and a URL nextLink to get the next set of results.
  8158  type ListVPNServerConfigurationsResult struct {
  8159  	// URL to get the next set of operation list results if there are any.
  8160  	NextLink *string
  8161  
  8162  	// List of VpnServerConfigurations.
  8163  	Value []*VPNServerConfiguration
  8164  }
  8165  
  8166  // ListVPNSiteLinkConnectionsResult - Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains
  8167  // a list of Vpn Connections and a URL nextLink to get the next set of results.
  8168  type ListVPNSiteLinkConnectionsResult struct {
  8169  	// URL to get the next set of operation list results if there are any.
  8170  	NextLink *string
  8171  
  8172  	// List of VpnSiteLinkConnections.
  8173  	Value []*VPNSiteLinkConnection
  8174  }
  8175  
  8176  // ListVPNSiteLinksResult - Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink
  8177  // to get the next set of results.
  8178  type ListVPNSiteLinksResult struct {
  8179  	// URL to get the next set of operation list results if there are any.
  8180  	NextLink *string
  8181  
  8182  	// List of VpnSitesLinks.
  8183  	Value []*VPNSiteLink
  8184  }
  8185  
  8186  // ListVPNSitesResult - Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the
  8187  // next set of results.
  8188  type ListVPNSitesResult struct {
  8189  	// URL to get the next set of operation list results if there are any.
  8190  	NextLink *string
  8191  
  8192  	// List of VpnSites.
  8193  	Value []*VPNSite
  8194  }
  8195  
  8196  // ListVirtualHubBgpConnectionResults - VirtualHubBgpConnections list.
  8197  type ListVirtualHubBgpConnectionResults struct {
  8198  	// URL to get the next set of results.
  8199  	NextLink *string
  8200  
  8201  	// The list of VirtualHubBgpConnections.
  8202  	Value []*BgpConnection
  8203  }
  8204  
  8205  // ListVirtualHubIPConfigurationResults - VirtualHubIpConfigurations list.
  8206  type ListVirtualHubIPConfigurationResults struct {
  8207  	// URL to get the next set of results.
  8208  	NextLink *string
  8209  
  8210  	// The list of VirtualHubIpConfigurations.
  8211  	Value []*HubIPConfiguration
  8212  }
  8213  
  8214  // ListVirtualHubRouteTableV2SResult - List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results.
  8215  type ListVirtualHubRouteTableV2SResult struct {
  8216  	// URL to get the next set of operation list results if there are any.
  8217  	NextLink *string
  8218  
  8219  	// List of VirtualHubRouteTableV2s.
  8220  	Value []*VirtualHubRouteTableV2
  8221  }
  8222  
  8223  // ListVirtualHubsResult - Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink
  8224  // to get the next set of results.
  8225  type ListVirtualHubsResult struct {
  8226  	// URL to get the next set of operation list results if there are any.
  8227  	NextLink *string
  8228  
  8229  	// List of VirtualHubs.
  8230  	Value []*VirtualHub
  8231  }
  8232  
  8233  // ListVirtualNetworkGatewayNatRulesResult - Result of the request to list all nat rules to a virtual network gateway. It
  8234  // contains a list of Nat rules and a URL nextLink to get the next set of results.
  8235  type ListVirtualNetworkGatewayNatRulesResult struct {
  8236  	// URL to get the next set of operation list results if there are any.
  8237  	NextLink *string
  8238  
  8239  	// List of Nat Rules.
  8240  	Value []*VirtualNetworkGatewayNatRule
  8241  }
  8242  
  8243  // ListVirtualWANsResult - Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink
  8244  // to get the next set of results.
  8245  type ListVirtualWANsResult struct {
  8246  	// URL to get the next set of operation list results if there are any.
  8247  	NextLink *string
  8248  
  8249  	// List of VirtualWANs.
  8250  	Value []*VirtualWAN
  8251  }
  8252  
  8253  // LoadBalancer resource.
  8254  type LoadBalancer struct {
  8255  	// The extended location of the load balancer.
  8256  	ExtendedLocation *ExtendedLocation
  8257  
  8258  	// Resource ID.
  8259  	ID *string
  8260  
  8261  	// Resource location.
  8262  	Location *string
  8263  
  8264  	// Properties of load balancer.
  8265  	Properties *LoadBalancerPropertiesFormat
  8266  
  8267  	// The load balancer SKU.
  8268  	SKU *LoadBalancerSKU
  8269  
  8270  	// Resource tags.
  8271  	Tags map[string]*string
  8272  
  8273  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  8274  	Etag *string
  8275  
  8276  	// READ-ONLY; Resource name.
  8277  	Name *string
  8278  
  8279  	// READ-ONLY; Resource type.
  8280  	Type *string
  8281  }
  8282  
  8283  // LoadBalancerBackendAddress - Load balancer backend addresses.
  8284  type LoadBalancerBackendAddress struct {
  8285  	// Name of the backend address.
  8286  	Name *string
  8287  
  8288  	// Properties of load balancer backend address pool.
  8289  	Properties *LoadBalancerBackendAddressPropertiesFormat
  8290  }
  8291  
  8292  // LoadBalancerBackendAddressPoolListResult - Response for ListBackendAddressPool API service call.
  8293  type LoadBalancerBackendAddressPoolListResult struct {
  8294  	// A list of backend address pools in a load balancer.
  8295  	Value []*BackendAddressPool
  8296  
  8297  	// READ-ONLY; The URL to get the next set of results.
  8298  	NextLink *string
  8299  }
  8300  
  8301  // LoadBalancerBackendAddressPropertiesFormat - Properties of the load balancer backend addresses.
  8302  type LoadBalancerBackendAddressPropertiesFormat struct {
  8303  	// A list of administrative states which once set can override health probe so that Load Balancer will always forward new
  8304  	// connections to backend, or deny new connections and reset existing connections.
  8305  	AdminState *LoadBalancerBackendAddressAdminState
  8306  
  8307  	// IP Address belonging to the referenced virtual network.
  8308  	IPAddress *string
  8309  
  8310  	// Reference to the frontend ip address configuration defined in regional loadbalancer.
  8311  	LoadBalancerFrontendIPConfiguration *SubResource
  8312  
  8313  	// Reference to an existing subnet.
  8314  	Subnet *SubResource
  8315  
  8316  	// Reference to an existing virtual network.
  8317  	VirtualNetwork *SubResource
  8318  
  8319  	// READ-ONLY; Collection of inbound NAT rule port mappings.
  8320  	InboundNatRulesPortMapping []*NatRulePortMapping
  8321  
  8322  	// READ-ONLY; Reference to IP address defined in network interfaces.
  8323  	NetworkInterfaceIPConfiguration *SubResource
  8324  }
  8325  
  8326  // LoadBalancerFrontendIPConfigurationListResult - Response for ListFrontendIPConfiguration API service call.
  8327  type LoadBalancerFrontendIPConfigurationListResult struct {
  8328  	// A list of frontend IP configurations in a load balancer.
  8329  	Value []*FrontendIPConfiguration
  8330  
  8331  	// READ-ONLY; The URL to get the next set of results.
  8332  	NextLink *string
  8333  }
  8334  
  8335  // LoadBalancerHealthPerRule - The response for a Health API.
  8336  type LoadBalancerHealthPerRule struct {
  8337  	// Number of backend instances associated to the LB rule that are considered unhealthy.
  8338  	Down *int32
  8339  
  8340  	// Information about the health per rule of the backend addresses.
  8341  	LoadBalancerBackendAddresses []*LoadBalancerHealthPerRulePerBackendAddress
  8342  
  8343  	// Number of backend instances associated to the LB rule that are considered healthy.
  8344  	Up *int32
  8345  }
  8346  
  8347  // LoadBalancerHealthPerRulePerBackendAddress - The information about health per rule per backend address.
  8348  type LoadBalancerHealthPerRulePerBackendAddress struct {
  8349  	// The IP address belonging to the backend address.
  8350  	IPAddress *string
  8351  
  8352  	// The id of the network interface ip configuration belonging to the backend address
  8353  	NetworkInterfaceIPConfigurationID *InterfaceIPConfiguration
  8354  
  8355  	// The explanation of the State
  8356  	Reason *string
  8357  
  8358  	// The current health of the backend instances that is associated to the LB rule.
  8359  	State *string
  8360  }
  8361  
  8362  // LoadBalancerListResult - Response for ListLoadBalancers API service call.
  8363  type LoadBalancerListResult struct {
  8364  	// A list of load balancers in a resource group.
  8365  	Value []*LoadBalancer
  8366  
  8367  	// READ-ONLY; The URL to get the next set of results.
  8368  	NextLink *string
  8369  }
  8370  
  8371  // LoadBalancerLoadBalancingRuleListResult - Response for ListLoadBalancingRule API service call.
  8372  type LoadBalancerLoadBalancingRuleListResult struct {
  8373  	// A list of load balancing rules in a load balancer.
  8374  	Value []*LoadBalancingRule
  8375  
  8376  	// READ-ONLY; The URL to get the next set of results.
  8377  	NextLink *string
  8378  }
  8379  
  8380  // LoadBalancerOutboundRuleListResult - Response for ListOutboundRule API service call.
  8381  type LoadBalancerOutboundRuleListResult struct {
  8382  	// A list of outbound rules in a load balancer.
  8383  	Value []*OutboundRule
  8384  
  8385  	// READ-ONLY; The URL to get the next set of results.
  8386  	NextLink *string
  8387  }
  8388  
  8389  // LoadBalancerProbeListResult - Response for ListProbe API service call.
  8390  type LoadBalancerProbeListResult struct {
  8391  	// A list of probes in a load balancer.
  8392  	Value []*Probe
  8393  
  8394  	// READ-ONLY; The URL to get the next set of results.
  8395  	NextLink *string
  8396  }
  8397  
  8398  // LoadBalancerPropertiesFormat - Properties of the load balancer.
  8399  type LoadBalancerPropertiesFormat struct {
  8400  	// Collection of backend address pools used by a load balancer.
  8401  	BackendAddressPools []*BackendAddressPool
  8402  
  8403  	// Object representing the frontend IPs to be used for the load balancer.
  8404  	FrontendIPConfigurations []*FrontendIPConfiguration
  8405  
  8406  	// Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound
  8407  	// NAT rules are created automatically for each NIC associated with the Load
  8408  	// Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive
  8409  	// with defining inbound NAT rules. Inbound NAT pools are referenced from virtual
  8410  	// machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They
  8411  	// have to reference individual inbound NAT rules.
  8412  	InboundNatPools []*InboundNatPool
  8413  
  8414  	// Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive
  8415  	// with defining an inbound NAT pool. Inbound NAT pools are referenced from
  8416  	// virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool.
  8417  	// They have to reference individual inbound NAT rules.
  8418  	InboundNatRules []*InboundNatRule
  8419  
  8420  	// Object collection representing the load balancing rules Gets the provisioning.
  8421  	LoadBalancingRules []*LoadBalancingRule
  8422  
  8423  	// The outbound rules.
  8424  	OutboundRules []*OutboundRule
  8425  
  8426  	// Collection of probe objects used in the load balancer.
  8427  	Probes []*Probe
  8428  
  8429  	// READ-ONLY; The provisioning state of the load balancer resource.
  8430  	ProvisioningState *ProvisioningState
  8431  
  8432  	// READ-ONLY; The resource GUID property of the load balancer resource.
  8433  	ResourceGUID *string
  8434  }
  8435  
  8436  // LoadBalancerSKU - SKU of a load balancer.
  8437  type LoadBalancerSKU struct {
  8438  	// Name of a load balancer SKU.
  8439  	Name *LoadBalancerSKUName
  8440  
  8441  	// Tier of a load balancer SKU.
  8442  	Tier *LoadBalancerSKUTier
  8443  }
  8444  
  8445  // LoadBalancerVipSwapRequest - The request for a VIP swap.
  8446  type LoadBalancerVipSwapRequest struct {
  8447  	// A list of frontend IP configuration resources that should swap VIPs.
  8448  	FrontendIPConfigurations []*LoadBalancerVipSwapRequestFrontendIPConfiguration
  8449  }
  8450  
  8451  // LoadBalancerVipSwapRequestFrontendIPConfiguration - VIP swap request's frontend IP configuration object.
  8452  type LoadBalancerVipSwapRequestFrontendIPConfiguration struct {
  8453  	// The ID of frontend IP configuration resource.
  8454  	ID *string
  8455  
  8456  	// The properties of VIP swap request's frontend IP configuration object.
  8457  	Properties *LoadBalancerVipSwapRequestFrontendIPConfigurationProperties
  8458  }
  8459  
  8460  // LoadBalancerVipSwapRequestFrontendIPConfigurationProperties - The properties of VIP swap request's frontend IP configuration
  8461  // object.
  8462  type LoadBalancerVipSwapRequestFrontendIPConfigurationProperties struct {
  8463  	// A reference to public IP address resource.
  8464  	PublicIPAddress *SubResource
  8465  }
  8466  
  8467  // LoadBalancingRule - A load balancing rule for a load balancer.
  8468  type LoadBalancingRule struct {
  8469  	// Resource ID.
  8470  	ID *string
  8471  
  8472  	// The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can
  8473  	// be used to access the resource.
  8474  	Name *string
  8475  
  8476  	// Properties of load balancer load balancing rule.
  8477  	Properties *LoadBalancingRulePropertiesFormat
  8478  
  8479  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  8480  	Etag *string
  8481  
  8482  	// READ-ONLY; Type of the resource.
  8483  	Type *string
  8484  }
  8485  
  8486  // LoadBalancingRulePropertiesFormat - Properties of the load balancer.
  8487  type LoadBalancingRulePropertiesFormat struct {
  8488  	// REQUIRED; The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable
  8489  	// values are between 0 and 65534. Note that value 0 enables "Any Port".
  8490  	FrontendPort *int32
  8491  
  8492  	// REQUIRED; The reference to the transport protocol used by the load balancing rule.
  8493  	Protocol *TransportProtocol
  8494  
  8495  	// A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs.
  8496  	BackendAddressPool *SubResource
  8497  
  8498  	// An array of references to pool of DIPs.
  8499  	BackendAddressPools []*SubResource
  8500  
  8501  	// The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables
  8502  	// "Any Port".
  8503  	BackendPort *int32
  8504  
  8505  	// Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing
  8506  	// rule.
  8507  	DisableOutboundSnat *bool
  8508  
  8509  	// Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability
  8510  	// Group. This setting is required when using the SQL AlwaysOn Availability Groups
  8511  	// in SQL server. This setting can't be changed after you create the endpoint.
  8512  	EnableFloatingIP *bool
  8513  
  8514  	// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used
  8515  	// when the protocol is set to TCP.
  8516  	EnableTCPReset *bool
  8517  
  8518  	// A reference to frontend IP addresses.
  8519  	FrontendIPConfiguration *SubResource
  8520  
  8521  	// The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes.
  8522  	// This element is only used when the protocol is set to TCP.
  8523  	IdleTimeoutInMinutes *int32
  8524  
  8525  	// The load distribution policy for this rule.
  8526  	LoadDistribution *LoadDistribution
  8527  
  8528  	// The reference to the load balancer probe used by the load balancing rule.
  8529  	Probe *SubResource
  8530  
  8531  	// READ-ONLY; The provisioning state of the load balancing rule resource.
  8532  	ProvisioningState *ProvisioningState
  8533  }
  8534  
  8535  // LocalNetworkGateway - A common class for general resource information.
  8536  type LocalNetworkGateway struct {
  8537  	// REQUIRED; Properties of the local network gateway.
  8538  	Properties *LocalNetworkGatewayPropertiesFormat
  8539  
  8540  	// Resource ID.
  8541  	ID *string
  8542  
  8543  	// Resource location.
  8544  	Location *string
  8545  
  8546  	// Resource tags.
  8547  	Tags map[string]*string
  8548  
  8549  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  8550  	Etag *string
  8551  
  8552  	// READ-ONLY; Resource name.
  8553  	Name *string
  8554  
  8555  	// READ-ONLY; Resource type.
  8556  	Type *string
  8557  }
  8558  
  8559  // LocalNetworkGatewayListResult - Response for ListLocalNetworkGateways API service call.
  8560  type LocalNetworkGatewayListResult struct {
  8561  	// A list of local network gateways that exists in a resource group.
  8562  	Value []*LocalNetworkGateway
  8563  
  8564  	// READ-ONLY; The URL to get the next set of results.
  8565  	NextLink *string
  8566  }
  8567  
  8568  // LocalNetworkGatewayPropertiesFormat - LocalNetworkGateway properties.
  8569  type LocalNetworkGatewayPropertiesFormat struct {
  8570  	// Local network gateway's BGP speaker settings.
  8571  	BgpSettings *BgpSettings
  8572  
  8573  	// FQDN of local network gateway.
  8574  	Fqdn *string
  8575  
  8576  	// IP address of local network gateway.
  8577  	GatewayIPAddress *string
  8578  
  8579  	// Local network site address space.
  8580  	LocalNetworkAddressSpace *AddressSpace
  8581  
  8582  	// READ-ONLY; The provisioning state of the local network gateway resource.
  8583  	ProvisioningState *ProvisioningState
  8584  
  8585  	// READ-ONLY; The resource GUID property of the local network gateway resource.
  8586  	ResourceGUID *string
  8587  }
  8588  
  8589  // LogSpecification - Description of logging specification.
  8590  type LogSpecification struct {
  8591  	// Duration of the blob.
  8592  	BlobDuration *string
  8593  
  8594  	// The display name of the specification.
  8595  	DisplayName *string
  8596  
  8597  	// The name of the specification.
  8598  	Name *string
  8599  }
  8600  
  8601  // ManagedRuleGroupOverride - Defines a managed rule group override setting.
  8602  type ManagedRuleGroupOverride struct {
  8603  	// REQUIRED; The managed rule group to override.
  8604  	RuleGroupName *string
  8605  
  8606  	// List of rules that will be disabled. If none specified, all rules in the group will be disabled.
  8607  	Rules []*ManagedRuleOverride
  8608  }
  8609  
  8610  // ManagedRuleOverride - Defines a managed rule group override setting.
  8611  type ManagedRuleOverride struct {
  8612  	// REQUIRED; Identifier for the managed rule.
  8613  	RuleID *string
  8614  
  8615  	// Describes the override action to be applied when rule matches.
  8616  	Action *ActionType
  8617  
  8618  	// Describes the override sensitivity to be applied when rule matches.
  8619  	Sensitivity *SensitivityType
  8620  
  8621  	// The state of the managed rule. Defaults to Disabled if not specified.
  8622  	State *ManagedRuleEnabledState
  8623  }
  8624  
  8625  // ManagedRuleSet - Defines a managed rule set.
  8626  type ManagedRuleSet struct {
  8627  	// REQUIRED; Defines the rule set type to use.
  8628  	RuleSetType *string
  8629  
  8630  	// REQUIRED; Defines the version of the rule set to use.
  8631  	RuleSetVersion *string
  8632  
  8633  	// Defines the rule group overrides to apply to the rule set.
  8634  	RuleGroupOverrides []*ManagedRuleGroupOverride
  8635  }
  8636  
  8637  // ManagedRulesDefinition - Allow to exclude some variable satisfy the condition for the WAF check.
  8638  type ManagedRulesDefinition struct {
  8639  	// REQUIRED; The managed rule sets that are associated with the policy.
  8640  	ManagedRuleSets []*ManagedRuleSet
  8641  
  8642  	// The exceptions that are applied on the policy.
  8643  	Exceptions []*ExceptionEntry
  8644  
  8645  	// The Exclusions that are applied on the policy.
  8646  	Exclusions []*OwaspCrsExclusionEntry
  8647  }
  8648  
  8649  // ManagedServiceIdentity - Identity for the resource.
  8650  type ManagedServiceIdentity struct {
  8651  	// The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created
  8652  	// identity and a set of user assigned identities. The type 'None' will remove any
  8653  	// identities from the virtual machine.
  8654  	Type *ResourceIdentityType
  8655  
  8656  	// The list of user identities associated with resource. The user identity dictionary key references will be ARM resource
  8657  	// ids in the form:
  8658  	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
  8659  	UserAssignedIdentities map[string]*Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties
  8660  
  8661  	// READ-ONLY; The principal id of the system assigned identity. This property will only be provided for a system assigned
  8662  	// identity.
  8663  	PrincipalID *string
  8664  
  8665  	// READ-ONLY; The tenant id of the system assigned identity. This property will only be provided for a system assigned identity.
  8666  	TenantID *string
  8667  }
  8668  
  8669  // Manager - The Managed Network resource
  8670  type Manager struct {
  8671  	// Resource ID.
  8672  	ID *string
  8673  
  8674  	// Resource location.
  8675  	Location *string
  8676  
  8677  	// The network manager properties
  8678  	Properties *ManagerProperties
  8679  
  8680  	// Resource tags.
  8681  	Tags map[string]*string
  8682  
  8683  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  8684  	Etag *string
  8685  
  8686  	// READ-ONLY; Resource name.
  8687  	Name *string
  8688  
  8689  	// READ-ONLY; The system metadata related to this resource.
  8690  	SystemData *SystemData
  8691  
  8692  	// READ-ONLY; Resource type.
  8693  	Type *string
  8694  }
  8695  
  8696  // ManagerCommit - Network Manager Commit.
  8697  type ManagerCommit struct {
  8698  	// REQUIRED; Commit Type.
  8699  	CommitType *ConfigurationType
  8700  
  8701  	// REQUIRED; List of target locations.
  8702  	TargetLocations []*string
  8703  
  8704  	// List of configuration ids.
  8705  	ConfigurationIDs []*string
  8706  
  8707  	// READ-ONLY; Commit Id.
  8708  	CommitID *string
  8709  }
  8710  
  8711  // ManagerConnection - The Network Manager Connection resource
  8712  type ManagerConnection struct {
  8713  	// The scope connection properties
  8714  	Properties *ManagerConnectionProperties
  8715  
  8716  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  8717  	Etag *string
  8718  
  8719  	// READ-ONLY; Resource ID.
  8720  	ID *string
  8721  
  8722  	// READ-ONLY; Resource name.
  8723  	Name *string
  8724  
  8725  	// READ-ONLY; The system metadata related to this resource.
  8726  	SystemData *SystemData
  8727  
  8728  	// READ-ONLY; Resource type.
  8729  	Type *string
  8730  }
  8731  
  8732  // ManagerConnectionListResult - List of network manager connections.
  8733  type ManagerConnectionListResult struct {
  8734  	// Gets the URL to get the next page of results.
  8735  	NextLink *string
  8736  
  8737  	// List of network manager connections.
  8738  	Value []*ManagerConnection
  8739  }
  8740  
  8741  // ManagerConnectionProperties - Information about the network manager connection.
  8742  type ManagerConnectionProperties struct {
  8743  	// A description of the network manager connection.
  8744  	Description *string
  8745  
  8746  	// Network Manager Id.
  8747  	NetworkManagerID *string
  8748  
  8749  	// READ-ONLY; Connection state.
  8750  	ConnectionState *ScopeConnectionState
  8751  }
  8752  
  8753  // ManagerDeploymentStatus - Network Manager Deployment Status.
  8754  type ManagerDeploymentStatus struct {
  8755  	// Commit Time.
  8756  	CommitTime *time.Time
  8757  
  8758  	// List of configuration ids.
  8759  	ConfigurationIDs []*string
  8760  
  8761  	// Deployment Status.
  8762  	DeploymentStatus *DeploymentStatus
  8763  
  8764  	// Configuration Deployment Type.
  8765  	DeploymentType *ConfigurationType
  8766  
  8767  	// Error Message.
  8768  	ErrorMessage *string
  8769  
  8770  	// Region Name.
  8771  	Region *string
  8772  }
  8773  
  8774  // ManagerDeploymentStatusListResult - A list of Network Manager Deployment Status
  8775  type ManagerDeploymentStatusListResult struct {
  8776  	// When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current
  8777  	// request) to retrieve the next page of data.
  8778  	SkipToken *string
  8779  
  8780  	// Gets a page of Network Manager Deployment Status
  8781  	Value []*ManagerDeploymentStatus
  8782  }
  8783  
  8784  // ManagerDeploymentStatusParameter - Network Manager Deployment Status Parameter.
  8785  type ManagerDeploymentStatusParameter struct {
  8786  	// List of deployment types.
  8787  	DeploymentTypes []*ConfigurationType
  8788  
  8789  	// List of locations.
  8790  	Regions []*string
  8791  
  8792  	// Continuation token for pagination, capturing the next page size and offset, as well as the context of the query.
  8793  	SkipToken *string
  8794  }
  8795  
  8796  // ManagerEffectiveConnectivityConfigurationListResult - Result of the request to list networkManagerEffectiveConnectivityConfiguration.
  8797  // It contains a list of groups and a skiptoken to get the next set of results.
  8798  type ManagerEffectiveConnectivityConfigurationListResult struct {
  8799  	// When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current
  8800  	// request) to retrieve the next page of data.
  8801  	SkipToken *string
  8802  
  8803  	// Gets a page of NetworkManagerEffectiveConnectivityConfiguration
  8804  	Value []*EffectiveConnectivityConfiguration
  8805  }
  8806  
  8807  // ManagerEffectiveSecurityAdminRulesListResult - Result of the request to list networkManagerEffectiveSecurityAdminRules.
  8808  // It contains a list of groups and a skiptoken to get the next set of results.
  8809  type ManagerEffectiveSecurityAdminRulesListResult struct {
  8810  	// When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current
  8811  	// request) to retrieve the next page of data.
  8812  	SkipToken *string
  8813  
  8814  	// Gets a page of NetworkManagerEffectiveSecurityAdminRules
  8815  	Value []EffectiveBaseSecurityAdminRuleClassification
  8816  }
  8817  
  8818  // ManagerListResult - Result of the request to list NetworkManager. It contains a list of network managers and a URL link
  8819  // to get the next set of results.
  8820  type ManagerListResult struct {
  8821  	// Gets the URL to get the next page of results.
  8822  	NextLink *string
  8823  
  8824  	// Gets a page of NetworkManager
  8825  	Value []*Manager
  8826  }
  8827  
  8828  // ManagerProperties - Properties of Managed Network
  8829  type ManagerProperties struct {
  8830  	// REQUIRED; Scope of Network Manager.
  8831  	NetworkManagerScopes *ManagerPropertiesNetworkManagerScopes
  8832  
  8833  	// A description of the network manager.
  8834  	Description *string
  8835  
  8836  	// Scope Access.
  8837  	NetworkManagerScopeAccesses []*ConfigurationType
  8838  
  8839  	// READ-ONLY; The provisioning state of the network manager resource.
  8840  	ProvisioningState *ProvisioningState
  8841  
  8842  	// READ-ONLY; Unique identifier for this resource.
  8843  	ResourceGUID *string
  8844  }
  8845  
  8846  // ManagerPropertiesNetworkManagerScopes - Scope of Network Manager.
  8847  type ManagerPropertiesNetworkManagerScopes struct {
  8848  	// List of management groups.
  8849  	ManagementGroups []*string
  8850  
  8851  	// List of subscriptions.
  8852  	Subscriptions []*string
  8853  
  8854  	// READ-ONLY; List of cross tenant scopes.
  8855  	CrossTenantScopes []*CrossTenantScopes
  8856  }
  8857  
  8858  // ManagerRoutingConfiguration - Defines the routing configuration
  8859  type ManagerRoutingConfiguration struct {
  8860  	// Indicates the properties for the network manager routing configuration.
  8861  	Properties *ManagerRoutingConfigurationPropertiesFormat
  8862  
  8863  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  8864  	Etag *string
  8865  
  8866  	// READ-ONLY; Resource ID.
  8867  	ID *string
  8868  
  8869  	// READ-ONLY; Resource name.
  8870  	Name *string
  8871  
  8872  	// READ-ONLY; The system metadata related to this resource.
  8873  	SystemData *SystemData
  8874  
  8875  	// READ-ONLY; Resource type.
  8876  	Type *string
  8877  }
  8878  
  8879  // ManagerRoutingConfigurationListResult - A list of network manager routing configurations
  8880  type ManagerRoutingConfigurationListResult struct {
  8881  	// Gets the URL to get the next page of results.
  8882  	NextLink *string
  8883  
  8884  	// Gets a page of routing configurations
  8885  	Value []*ManagerRoutingConfiguration
  8886  }
  8887  
  8888  // ManagerRoutingConfigurationPropertiesFormat - Defines the routing configuration properties.
  8889  type ManagerRoutingConfigurationPropertiesFormat struct {
  8890  	// A description of the routing configuration.
  8891  	Description *string
  8892  
  8893  	// READ-ONLY; The provisioning state of the resource.
  8894  	ProvisioningState *ProvisioningState
  8895  
  8896  	// READ-ONLY; Unique identifier for this resource.
  8897  	ResourceGUID *string
  8898  }
  8899  
  8900  // ManagerRoutingGroupItem - Network manager routing group item.
  8901  type ManagerRoutingGroupItem struct {
  8902  	// REQUIRED; Network manager group Id.
  8903  	NetworkGroupID *string
  8904  }
  8905  
  8906  // ManagerSecurityGroupItem - Network manager security group item.
  8907  type ManagerSecurityGroupItem struct {
  8908  	// REQUIRED; Network manager group Id.
  8909  	NetworkGroupID *string
  8910  }
  8911  
  8912  // MatchCondition - Define match conditions.
  8913  type MatchCondition struct {
  8914  	// REQUIRED; Match value.
  8915  	MatchValues []*string
  8916  
  8917  	// REQUIRED; List of match variables.
  8918  	MatchVariables []*MatchVariable
  8919  
  8920  	// REQUIRED; The operator to be matched.
  8921  	Operator *WebApplicationFirewallOperator
  8922  
  8923  	// Whether this is negate condition or not.
  8924  	NegationConditon *bool
  8925  
  8926  	// List of transforms.
  8927  	Transforms []*WebApplicationFirewallTransform
  8928  }
  8929  
  8930  // MatchVariable - Define match variables.
  8931  type MatchVariable struct {
  8932  	// REQUIRED; Match Variable.
  8933  	VariableName *WebApplicationFirewallMatchVariable
  8934  
  8935  	// The selector of match variable.
  8936  	Selector *string
  8937  }
  8938  
  8939  // MatchedRule - Matched rule.
  8940  type MatchedRule struct {
  8941  	// The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'.
  8942  	Action *string
  8943  
  8944  	// Name of the matched network security rule.
  8945  	RuleName *string
  8946  }
  8947  
  8948  // MetricSpecification - Description of metrics specification.
  8949  type MetricSpecification struct {
  8950  	// The aggregation type.
  8951  	AggregationType *string
  8952  
  8953  	// List of availability.
  8954  	Availabilities []*Availability
  8955  
  8956  	// List of dimensions.
  8957  	Dimensions []*Dimension
  8958  
  8959  	// The description of the metric.
  8960  	DisplayDescription *string
  8961  
  8962  	// The display name of the metric.
  8963  	DisplayName *string
  8964  
  8965  	// Whether regional MDM account enabled.
  8966  	EnableRegionalMdmAccount *bool
  8967  
  8968  	// Whether gaps would be filled with zeros.
  8969  	FillGapWithZero *bool
  8970  
  8971  	// Whether the metric is internal.
  8972  	IsInternal *bool
  8973  
  8974  	// Pattern for the filter of the metric.
  8975  	MetricFilterPattern *string
  8976  
  8977  	// The name of the metric.
  8978  	Name *string
  8979  
  8980  	// The resource Id dimension name override.
  8981  	ResourceIDDimensionNameOverride *string
  8982  
  8983  	// The source MDM account.
  8984  	SourceMdmAccount *string
  8985  
  8986  	// The source MDM namespace.
  8987  	SourceMdmNamespace *string
  8988  
  8989  	// Units the metric to be displayed in.
  8990  	Unit *string
  8991  }
  8992  
  8993  // MigrateLoadBalancerToIPBasedRequest - The request for a migrateToIpBased API.
  8994  type MigrateLoadBalancerToIPBasedRequest struct {
  8995  	// A list of pool names that should be migrated from Nic based to IP based pool
  8996  	Pools []*string
  8997  }
  8998  
  8999  // MigratedPools - The response for a migrateToIpBased API.
  9000  type MigratedPools struct {
  9001  	// A list of pools migrated from Nic based to IP based pool
  9002  	MigratedPools []*string
  9003  }
  9004  
  9005  // NatGateway - Nat Gateway resource.
  9006  type NatGateway struct {
  9007  	// Resource ID.
  9008  	ID *string
  9009  
  9010  	// Resource location.
  9011  	Location *string
  9012  
  9013  	// Nat Gateway properties.
  9014  	Properties *NatGatewayPropertiesFormat
  9015  
  9016  	// The nat gateway SKU.
  9017  	SKU *NatGatewaySKU
  9018  
  9019  	// Resource tags.
  9020  	Tags map[string]*string
  9021  
  9022  	// A list of availability zones denoting the zone in which Nat Gateway should be deployed.
  9023  	Zones []*string
  9024  
  9025  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9026  	Etag *string
  9027  
  9028  	// READ-ONLY; Resource name.
  9029  	Name *string
  9030  
  9031  	// READ-ONLY; Resource type.
  9032  	Type *string
  9033  }
  9034  
  9035  // NatGatewayListResult - Response for ListNatGateways API service call.
  9036  type NatGatewayListResult struct {
  9037  	// The URL to get the next set of results.
  9038  	NextLink *string
  9039  
  9040  	// A list of Nat Gateways that exists in a resource group.
  9041  	Value []*NatGateway
  9042  }
  9043  
  9044  // NatGatewayPropertiesFormat - Nat Gateway properties.
  9045  type NatGatewayPropertiesFormat struct {
  9046  	// The idle timeout of the nat gateway.
  9047  	IdleTimeoutInMinutes *int32
  9048  
  9049  	// An array of public ip addresses associated with the nat gateway resource.
  9050  	PublicIPAddresses []*SubResource
  9051  
  9052  	// An array of public ip prefixes associated with the nat gateway resource.
  9053  	PublicIPPrefixes []*SubResource
  9054  
  9055  	// READ-ONLY; The provisioning state of the NAT gateway resource.
  9056  	ProvisioningState *ProvisioningState
  9057  
  9058  	// READ-ONLY; The resource GUID property of the NAT gateway resource.
  9059  	ResourceGUID *string
  9060  
  9061  	// READ-ONLY; An array of references to the subnets using this nat gateway resource.
  9062  	Subnets []*SubResource
  9063  }
  9064  
  9065  // NatGatewaySKU - SKU of nat gateway.
  9066  type NatGatewaySKU struct {
  9067  	// Name of Nat Gateway SKU.
  9068  	Name *NatGatewaySKUName
  9069  }
  9070  
  9071  // NatRule - Rule of type nat.
  9072  type NatRule struct {
  9073  	// REQUIRED; Rule Type.
  9074  	RuleType *FirewallPolicyRuleType
  9075  
  9076  	// Description of the rule.
  9077  	Description *string
  9078  
  9079  	// List of destination IP addresses or Service Tags.
  9080  	DestinationAddresses []*string
  9081  
  9082  	// List of destination ports.
  9083  	DestinationPorts []*string
  9084  
  9085  	// Array of FirewallPolicyRuleNetworkProtocols.
  9086  	IPProtocols []*FirewallPolicyRuleNetworkProtocol
  9087  
  9088  	// Name of the rule.
  9089  	Name *string
  9090  
  9091  	// List of source IP addresses for this rule.
  9092  	SourceAddresses []*string
  9093  
  9094  	// List of source IpGroups for this rule.
  9095  	SourceIPGroups []*string
  9096  
  9097  	// The translated address for this NAT rule.
  9098  	TranslatedAddress *string
  9099  
  9100  	// The translated FQDN for this NAT rule.
  9101  	TranslatedFqdn *string
  9102  
  9103  	// The translated port for this NAT rule.
  9104  	TranslatedPort *string
  9105  }
  9106  
  9107  // GetFirewallPolicyRule implements the FirewallPolicyRuleClassification interface for type NatRule.
  9108  func (n *NatRule) GetFirewallPolicyRule() *FirewallPolicyRule {
  9109  	return &FirewallPolicyRule{
  9110  		Description: n.Description,
  9111  		Name:        n.Name,
  9112  		RuleType:    n.RuleType,
  9113  	}
  9114  }
  9115  
  9116  // NatRulePortMapping - Individual port mappings for inbound NAT rule created for backend pool.
  9117  type NatRulePortMapping struct {
  9118  	// Backend port.
  9119  	BackendPort *int32
  9120  
  9121  	// Frontend port.
  9122  	FrontendPort *int32
  9123  
  9124  	// Name of inbound NAT rule.
  9125  	InboundNatRuleName *string
  9126  }
  9127  
  9128  // NextHopParameters - Parameters that define the source and destination endpoint.
  9129  type NextHopParameters struct {
  9130  	// REQUIRED; The destination IP address.
  9131  	DestinationIPAddress *string
  9132  
  9133  	// REQUIRED; The source IP address.
  9134  	SourceIPAddress *string
  9135  
  9136  	// REQUIRED; The resource identifier of the target resource against which the action is to be performed.
  9137  	TargetResourceID *string
  9138  
  9139  	// The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified.
  9140  	// Otherwise optional).
  9141  	TargetNicResourceID *string
  9142  }
  9143  
  9144  // NextHopResult - The information about next hop from the specified VM.
  9145  type NextHopResult struct {
  9146  	// Next hop IP Address.
  9147  	NextHopIPAddress *string
  9148  
  9149  	// Next hop type.
  9150  	NextHopType *NextHopType
  9151  
  9152  	// The resource identifier for the route table associated with the route being returned. If the route being returned does
  9153  	// not correspond to any user created routes then this field will be the string
  9154  	// 'System Route'.
  9155  	RouteTableID *string
  9156  }
  9157  
  9158  // O365BreakOutCategoryPolicies - Office365 breakout categories.
  9159  type O365BreakOutCategoryPolicies struct {
  9160  	// Flag to control allow category.
  9161  	Allow *bool
  9162  
  9163  	// Flag to control default category.
  9164  	Default *bool
  9165  
  9166  	// Flag to control optimize category.
  9167  	Optimize *bool
  9168  }
  9169  
  9170  // O365PolicyProperties - The Office365 breakout policy.
  9171  type O365PolicyProperties struct {
  9172  	// Office365 breakout categories.
  9173  	BreakOutCategories *O365BreakOutCategoryPolicies
  9174  }
  9175  
  9176  // Office365PolicyProperties - Network Virtual Appliance Sku Properties.
  9177  type Office365PolicyProperties struct {
  9178  	// Office 365 breakout categories.
  9179  	BreakOutCategories *BreakOutCategoryPolicies
  9180  }
  9181  
  9182  // Operation - Network REST API operation definition.
  9183  type Operation struct {
  9184  	// Display metadata associated with the operation.
  9185  	Display *OperationDisplay
  9186  
  9187  	// Operation name: {provider}/{resource}/{operation}.
  9188  	Name *string
  9189  
  9190  	// Origin of the operation.
  9191  	Origin *string
  9192  
  9193  	// Operation properties format.
  9194  	Properties *OperationPropertiesFormat
  9195  }
  9196  
  9197  // OperationDisplay - Display metadata associated with the operation.
  9198  type OperationDisplay struct {
  9199  	// Description of the operation.
  9200  	Description *string
  9201  
  9202  	// Type of the operation: get, read, delete, etc.
  9203  	Operation *string
  9204  
  9205  	// Service provider: Microsoft Network.
  9206  	Provider *string
  9207  
  9208  	// Resource on which the operation is performed.
  9209  	Resource *string
  9210  }
  9211  
  9212  // OperationListResult - Result of the request to list Network operations. It contains a list of operations and a URL link
  9213  // to get the next set of results.
  9214  type OperationListResult struct {
  9215  	// URL to get the next set of operation list results if there are any.
  9216  	NextLink *string
  9217  
  9218  	// List of Network operations supported by the Network resource provider.
  9219  	Value []*Operation
  9220  }
  9221  
  9222  // OperationPropertiesFormat - Description of operation properties format.
  9223  type OperationPropertiesFormat struct {
  9224  	// Specification of the service.
  9225  	ServiceSpecification *OperationPropertiesFormatServiceSpecification
  9226  }
  9227  
  9228  // OperationPropertiesFormatServiceSpecification - Specification of the service.
  9229  type OperationPropertiesFormatServiceSpecification struct {
  9230  	// Operation log specification.
  9231  	LogSpecifications []*LogSpecification
  9232  
  9233  	// Operation service specification.
  9234  	MetricSpecifications []*MetricSpecification
  9235  }
  9236  
  9237  // OrderBy - Describes a column to sort
  9238  type OrderBy struct {
  9239  	// Describes the actual column name to sort by
  9240  	Field *string
  9241  
  9242  	// Describes if results should be in ascending/descending order
  9243  	Order *FirewallPolicyIDPSQuerySortOrder
  9244  }
  9245  
  9246  // OutboundRule - Outbound rule of the load balancer.
  9247  type OutboundRule struct {
  9248  	// Resource ID.
  9249  	ID *string
  9250  
  9251  	// The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used
  9252  	// to access the resource.
  9253  	Name *string
  9254  
  9255  	// Properties of load balancer outbound rule.
  9256  	Properties *OutboundRulePropertiesFormat
  9257  
  9258  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9259  	Etag *string
  9260  
  9261  	// READ-ONLY; Type of the resource.
  9262  	Type *string
  9263  }
  9264  
  9265  // OutboundRulePropertiesFormat - Outbound rule of the load balancer.
  9266  type OutboundRulePropertiesFormat struct {
  9267  	// REQUIRED; A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs.
  9268  	BackendAddressPool *SubResource
  9269  
  9270  	// REQUIRED; The Frontend IP addresses of the load balancer.
  9271  	FrontendIPConfigurations []*SubResource
  9272  
  9273  	// REQUIRED; The protocol for the outbound rule in load balancer.
  9274  	Protocol *LoadBalancerOutboundRuleProtocol
  9275  
  9276  	// The number of outbound ports to be used for NAT.
  9277  	AllocatedOutboundPorts *int32
  9278  
  9279  	// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used
  9280  	// when the protocol is set to TCP.
  9281  	EnableTCPReset *bool
  9282  
  9283  	// The timeout for the TCP idle connection.
  9284  	IdleTimeoutInMinutes *int32
  9285  
  9286  	// READ-ONLY; The provisioning state of the outbound rule resource.
  9287  	ProvisioningState *ProvisioningState
  9288  }
  9289  
  9290  // OwaspCrsExclusionEntry - Allow to exclude some variable satisfy the condition for the WAF check.
  9291  type OwaspCrsExclusionEntry struct {
  9292  	// REQUIRED; The variable to be excluded.
  9293  	MatchVariable *OwaspCrsExclusionEntryMatchVariable
  9294  
  9295  	// REQUIRED; When matchVariable is a collection, operator used to specify which elements in the collection this exclusion
  9296  	// applies to.
  9297  	Selector *string
  9298  
  9299  	// REQUIRED; When matchVariable is a collection, operate on the selector to specify which elements in the collection this
  9300  	// exclusion applies to.
  9301  	SelectorMatchOperator *OwaspCrsExclusionEntrySelectorMatchOperator
  9302  
  9303  	// The managed rule sets that are associated with the exclusion.
  9304  	ExclusionManagedRuleSets []*ExclusionManagedRuleSet
  9305  }
  9306  
  9307  // P2SConnectionConfiguration Resource.
  9308  type P2SConnectionConfiguration struct {
  9309  	// Resource ID.
  9310  	ID *string
  9311  
  9312  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  9313  	Name *string
  9314  
  9315  	// Properties of the P2S connection configuration.
  9316  	Properties *P2SConnectionConfigurationProperties
  9317  
  9318  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9319  	Etag *string
  9320  }
  9321  
  9322  // P2SConnectionConfigurationProperties - Parameters for P2SConnectionConfiguration.
  9323  type P2SConnectionConfigurationProperties struct {
  9324  	// Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not.
  9325  	EnableInternetSecurity *bool
  9326  
  9327  	// The Routing Configuration indicating the associated and propagated route tables on this connection.
  9328  	RoutingConfiguration *RoutingConfiguration
  9329  
  9330  	// The reference to the address space resource which represents Address space for P2S VpnClient.
  9331  	VPNClientAddressPool *AddressSpace
  9332  
  9333  	// READ-ONLY; List of Configuration Policy Groups that this P2SConnectionConfiguration is attached to.
  9334  	ConfigurationPolicyGroupAssociations []*SubResource
  9335  
  9336  	// READ-ONLY; List of previous Configuration Policy Groups that this P2SConnectionConfiguration was attached to.
  9337  	PreviousConfigurationPolicyGroupAssociations []*VPNServerConfigurationPolicyGroup
  9338  
  9339  	// READ-ONLY; The provisioning state of the P2SConnectionConfiguration resource.
  9340  	ProvisioningState *ProvisioningState
  9341  }
  9342  
  9343  // P2SVPNConnectionHealth - P2S Vpn connection detailed health written to sas url.
  9344  type P2SVPNConnectionHealth struct {
  9345  	// Returned sas url of the blob to which the p2s vpn connection detailed health will be written.
  9346  	SasURL *string
  9347  }
  9348  
  9349  // P2SVPNConnectionHealthRequest - List of P2S Vpn connection health request.
  9350  type P2SVPNConnectionHealthRequest struct {
  9351  	// The sas-url to download the P2S Vpn connection health detail.
  9352  	OutputBlobSasURL *string
  9353  
  9354  	// The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for.
  9355  	VPNUserNamesFilter []*string
  9356  }
  9357  
  9358  // P2SVPNConnectionRequest - List of p2s vpn connections to be disconnected.
  9359  type P2SVPNConnectionRequest struct {
  9360  	// List of p2s vpn connection Ids.
  9361  	VPNConnectionIDs []*string
  9362  }
  9363  
  9364  // P2SVPNGateway - P2SVpnGateway Resource.
  9365  type P2SVPNGateway struct {
  9366  	// Resource ID.
  9367  	ID *string
  9368  
  9369  	// Resource location.
  9370  	Location *string
  9371  
  9372  	// Properties of the P2SVpnGateway.
  9373  	Properties *P2SVPNGatewayProperties
  9374  
  9375  	// Resource tags.
  9376  	Tags map[string]*string
  9377  
  9378  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9379  	Etag *string
  9380  
  9381  	// READ-ONLY; Resource name.
  9382  	Name *string
  9383  
  9384  	// READ-ONLY; Resource type.
  9385  	Type *string
  9386  }
  9387  
  9388  // P2SVPNGatewayProperties - Parameters for P2SVpnGateway.
  9389  type P2SVPNGatewayProperties struct {
  9390  	// List of all customer specified DNS servers IP addresses.
  9391  	CustomDNSServers []*string
  9392  
  9393  	// Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway.
  9394  	IsRoutingPreferenceInternet *bool
  9395  
  9396  	// List of all p2s connection configurations of the gateway.
  9397  	P2SConnectionConfigurations []*P2SConnectionConfiguration
  9398  
  9399  	// The scale unit for this p2s vpn gateway.
  9400  	VPNGatewayScaleUnit *int32
  9401  
  9402  	// The VpnServerConfiguration to which the p2sVpnGateway is attached to.
  9403  	VPNServerConfiguration *SubResource
  9404  
  9405  	// The VirtualHub to which the gateway belongs.
  9406  	VirtualHub *SubResource
  9407  
  9408  	// READ-ONLY; The provisioning state of the P2S VPN gateway resource.
  9409  	ProvisioningState *ProvisioningState
  9410  
  9411  	// READ-ONLY; All P2S VPN clients' connection health status.
  9412  	VPNClientConnectionHealth *VPNClientConnectionHealth
  9413  }
  9414  
  9415  // P2SVPNProfileParameters - Vpn Client Parameters for package generation.
  9416  type P2SVPNProfileParameters struct {
  9417  	// VPN client authentication method.
  9418  	AuthenticationMethod *AuthenticationMethod
  9419  }
  9420  
  9421  // PacketCapture - Parameters that define the create packet capture operation.
  9422  type PacketCapture struct {
  9423  	// REQUIRED; Properties of the packet capture.
  9424  	Properties *PacketCaptureParameters
  9425  }
  9426  
  9427  // PacketCaptureFilter - Filter that is applied to packet capture request. Multiple filters can be applied.
  9428  type PacketCaptureFilter struct {
  9429  	// 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.
  9430  	// "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently
  9431  	// supported. Mixing ranges with multiple entries not currently supported. Default = null.
  9432  	LocalIPAddress *string
  9433  
  9434  	// Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple
  9435  	// ranges not currently supported. Mixing ranges with multiple entries not
  9436  	// currently supported. Default = null.
  9437  	LocalPort *string
  9438  
  9439  	// Protocol to be filtered on.
  9440  	Protocol *PcProtocol
  9441  
  9442  	// 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.
  9443  	// "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently
  9444  	// supported. Mixing ranges with multiple entries not currently supported. Default = null.
  9445  	RemoteIPAddress *string
  9446  
  9447  	// Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries.
  9448  	// Multiple ranges not currently supported. Mixing ranges with multiple entries not
  9449  	// currently supported. Default = null.
  9450  	RemotePort *string
  9451  }
  9452  
  9453  // PacketCaptureListResult - List of packet capture sessions.
  9454  type PacketCaptureListResult struct {
  9455  	// Information about packet capture sessions.
  9456  	Value []*PacketCaptureResult
  9457  }
  9458  
  9459  // PacketCaptureMachineScope - A list of AzureVMSS instances which can be included or excluded to run packet capture. If both
  9460  // included and excluded are empty, then the packet capture will run on all instances of AzureVMSS.
  9461  type PacketCaptureMachineScope struct {
  9462  	// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture.
  9463  	Exclude []*string
  9464  
  9465  	// List of AzureVMSS instances to run packet capture on.
  9466  	Include []*string
  9467  }
  9468  
  9469  // PacketCaptureParameters - Parameters that define the create packet capture operation.
  9470  type PacketCaptureParameters struct {
  9471  	// REQUIRED; The storage location for a packet capture session.
  9472  	StorageLocation *PacketCaptureStorageLocation
  9473  
  9474  	// REQUIRED; The ID of the targeted resource, only AzureVM and AzureVMSS as target type are currently supported.
  9475  	Target *string
  9476  
  9477  	// Number of bytes captured per packet, the remaining bytes are truncated.
  9478  	BytesToCapturePerPacket *int64
  9479  
  9480  	// The capture setting holds the 'FileCount', 'FileSizeInBytes', 'SessionTimeLimitInSeconds' values.
  9481  	CaptureSettings *PacketCaptureSettings
  9482  
  9483  	// This continuous capture is a nullable boolean, which can hold 'null', 'true' or 'false' value. If we do not pass this parameter,
  9484  	// it would be consider as 'null', default value is 'null'.
  9485  	ContinuousCapture *bool
  9486  
  9487  	// A list of packet capture filters.
  9488  	Filters []*PacketCaptureFilter
  9489  
  9490  	// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are
  9491  	// empty, then the packet capture will run on all instances of AzureVMSS.
  9492  	Scope *PacketCaptureMachineScope
  9493  
  9494  	// Target type of the resource provided.
  9495  	TargetType *PacketCaptureTargetType
  9496  
  9497  	// Maximum duration of the capture session in seconds.
  9498  	TimeLimitInSeconds *int32
  9499  
  9500  	// Maximum size of the capture output.
  9501  	TotalBytesPerSession *int64
  9502  }
  9503  
  9504  // PacketCaptureQueryStatusResult - Status of packet capture session.
  9505  type PacketCaptureQueryStatusResult struct {
  9506  	// The start time of the packet capture session.
  9507  	CaptureStartTime *time.Time
  9508  
  9509  	// The ID of the packet capture resource.
  9510  	ID *string
  9511  
  9512  	// The name of the packet capture resource.
  9513  	Name *string
  9514  
  9515  	// List of errors of packet capture session.
  9516  	PacketCaptureError []*PcError
  9517  
  9518  	// The status of the packet capture session.
  9519  	PacketCaptureStatus *PcStatus
  9520  
  9521  	// The reason the current packet capture session was stopped.
  9522  	StopReason *string
  9523  }
  9524  
  9525  // PacketCaptureResult - Information about packet capture session.
  9526  type PacketCaptureResult struct {
  9527  	// Properties of the packet capture result.
  9528  	Properties *PacketCaptureResultProperties
  9529  
  9530  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9531  	Etag *string
  9532  
  9533  	// READ-ONLY; ID of the packet capture operation.
  9534  	ID *string
  9535  
  9536  	// READ-ONLY; Name of the packet capture session.
  9537  	Name *string
  9538  }
  9539  
  9540  // PacketCaptureResultProperties - The properties of a packet capture session.
  9541  type PacketCaptureResultProperties struct {
  9542  	// REQUIRED; The storage location for a packet capture session.
  9543  	StorageLocation *PacketCaptureStorageLocation
  9544  
  9545  	// REQUIRED; The ID of the targeted resource, only AzureVM and AzureVMSS as target type are currently supported.
  9546  	Target *string
  9547  
  9548  	// Number of bytes captured per packet, the remaining bytes are truncated.
  9549  	BytesToCapturePerPacket *int64
  9550  
  9551  	// The capture setting holds the 'FileCount', 'FileSizeInBytes', 'SessionTimeLimitInSeconds' values.
  9552  	CaptureSettings *PacketCaptureSettings
  9553  
  9554  	// This continuous capture is a nullable boolean, which can hold 'null', 'true' or 'false' value. If we do not pass this parameter,
  9555  	// it would be consider as 'null', default value is 'null'.
  9556  	ContinuousCapture *bool
  9557  
  9558  	// A list of packet capture filters.
  9559  	Filters []*PacketCaptureFilter
  9560  
  9561  	// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are
  9562  	// empty, then the packet capture will run on all instances of AzureVMSS.
  9563  	Scope *PacketCaptureMachineScope
  9564  
  9565  	// Target type of the resource provided.
  9566  	TargetType *PacketCaptureTargetType
  9567  
  9568  	// Maximum duration of the capture session in seconds.
  9569  	TimeLimitInSeconds *int32
  9570  
  9571  	// Maximum size of the capture output.
  9572  	TotalBytesPerSession *int64
  9573  
  9574  	// READ-ONLY; The provisioning state of the packet capture session.
  9575  	ProvisioningState *ProvisioningState
  9576  }
  9577  
  9578  // PacketCaptureSettings - The storage location for a packet capture session.
  9579  type PacketCaptureSettings struct {
  9580  	// Number of file count. Default value of count is 10 and maximum number is 10000.
  9581  	FileCount *int32
  9582  
  9583  	// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB).
  9584  	FileSizeInBytes *int64
  9585  
  9586  	// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day).
  9587  	SessionTimeLimitInSeconds *int32
  9588  }
  9589  
  9590  // PacketCaptureStorageLocation - The storage location for a packet capture session.
  9591  type PacketCaptureStorageLocation struct {
  9592  	// This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM.
  9593  	// Must include the name of the capture file (*.cap). For linux virtual machine it
  9594  	// must start with /var/captures. Required if no storage ID is provided, otherwise optional.
  9595  	FilePath *string
  9596  
  9597  	// This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided,
  9598  	// otherwise optional. Must include the name of the capture file (*.cap). For
  9599  	// linux virtual machine it must start with /var/captures.
  9600  	LocalPath *string
  9601  
  9602  	// The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided.
  9603  	StorageID *string
  9604  
  9605  	// The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet
  9606  	// capture.
  9607  	StoragePath *string
  9608  }
  9609  
  9610  // Parameters for an Action.
  9611  type Parameter struct {
  9612  	// List of AS paths.
  9613  	AsPath []*string
  9614  
  9615  	// List of BGP communities.
  9616  	Community []*string
  9617  
  9618  	// List of route prefixes.
  9619  	RoutePrefix []*string
  9620  }
  9621  
  9622  // PartnerManagedResourceProperties - Properties of the partner managed resource.
  9623  type PartnerManagedResourceProperties struct {
  9624  	// READ-ONLY; The partner managed resource id.
  9625  	ID *string
  9626  
  9627  	// READ-ONLY; The partner managed ILB resource id
  9628  	InternalLoadBalancerID *string
  9629  
  9630  	// READ-ONLY; The partner managed SLB resource id
  9631  	StandardLoadBalancerID *string
  9632  }
  9633  
  9634  // PatchObject - Object for patch operations.
  9635  type PatchObject struct {
  9636  	// Resource tags.
  9637  	Tags map[string]*string
  9638  }
  9639  
  9640  // PatchRouteFilter - Route Filter Resource.
  9641  type PatchRouteFilter struct {
  9642  	// Resource ID.
  9643  	ID *string
  9644  
  9645  	// Properties of the route filter.
  9646  	Properties *RouteFilterPropertiesFormat
  9647  
  9648  	// Resource tags.
  9649  	Tags map[string]*string
  9650  
  9651  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9652  	Etag *string
  9653  
  9654  	// READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource.
  9655  	Name *string
  9656  
  9657  	// READ-ONLY; Resource type.
  9658  	Type *string
  9659  }
  9660  
  9661  // PatchRouteFilterRule - Route Filter Rule Resource.
  9662  type PatchRouteFilterRule struct {
  9663  	// Resource ID.
  9664  	ID *string
  9665  
  9666  	// Properties of the route filter rule.
  9667  	Properties *RouteFilterRulePropertiesFormat
  9668  
  9669  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9670  	Etag *string
  9671  
  9672  	// READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource.
  9673  	Name *string
  9674  }
  9675  
  9676  // PeerExpressRouteCircuitConnection - Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource.
  9677  type PeerExpressRouteCircuitConnection struct {
  9678  	// Resource ID.
  9679  	ID *string
  9680  
  9681  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  9682  	Name *string
  9683  
  9684  	// Properties of the peer express route circuit connection.
  9685  	Properties *PeerExpressRouteCircuitConnectionPropertiesFormat
  9686  
  9687  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9688  	Etag *string
  9689  
  9690  	// READ-ONLY; Type of the resource.
  9691  	Type *string
  9692  }
  9693  
  9694  // PeerExpressRouteCircuitConnectionListResult - Response for ListPeeredConnections API service call retrieves all global
  9695  // reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit.
  9696  type PeerExpressRouteCircuitConnectionListResult struct {
  9697  	// The URL to get the next set of results.
  9698  	NextLink *string
  9699  
  9700  	// The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit.
  9701  	Value []*PeerExpressRouteCircuitConnection
  9702  }
  9703  
  9704  // PeerExpressRouteCircuitConnectionPropertiesFormat - Properties of the peer express route circuit connection.
  9705  type PeerExpressRouteCircuitConnectionPropertiesFormat struct {
  9706  	// /29 IP address space to carve out Customer addresses for tunnels.
  9707  	AddressPrefix *string
  9708  
  9709  	// The resource guid of the authorization used for the express route circuit connection.
  9710  	AuthResourceGUID *string
  9711  
  9712  	// The name of the express route circuit connection resource.
  9713  	ConnectionName *string
  9714  
  9715  	// Reference to Express Route Circuit Private Peering Resource of the circuit.
  9716  	ExpressRouteCircuitPeering *SubResource
  9717  
  9718  	// Reference to Express Route Circuit Private Peering Resource of the peered circuit.
  9719  	PeerExpressRouteCircuitPeering *SubResource
  9720  
  9721  	// READ-ONLY; Express Route Circuit connection state.
  9722  	CircuitConnectionStatus *CircuitConnectionStatus
  9723  
  9724  	// READ-ONLY; The provisioning state of the peer express route circuit connection resource.
  9725  	ProvisioningState *ProvisioningState
  9726  }
  9727  
  9728  // PeerRoute - Peer routing details.
  9729  type PeerRoute struct {
  9730  	// READ-ONLY; The route's AS path sequence.
  9731  	AsPath *string
  9732  
  9733  	// READ-ONLY; The peer's local address.
  9734  	LocalAddress *string
  9735  
  9736  	// READ-ONLY; The route's network prefix.
  9737  	Network *string
  9738  
  9739  	// READ-ONLY; The route's next hop.
  9740  	NextHop *string
  9741  
  9742  	// READ-ONLY; The source this route was learned from.
  9743  	Origin *string
  9744  
  9745  	// READ-ONLY; The peer this route was learned from.
  9746  	SourcePeer *string
  9747  
  9748  	// READ-ONLY; The route's weight.
  9749  	Weight *int32
  9750  }
  9751  
  9752  // PolicySettings - Defines contents of a web application firewall global configuration.
  9753  type PolicySettings struct {
  9754  	// If the action type is block, customer can override the response body. The body must be specified in base64 encoding.
  9755  	CustomBlockResponseBody *string
  9756  
  9757  	// If the action type is block, customer can override the response status code.
  9758  	CustomBlockResponseStatusCode *int32
  9759  
  9760  	// Whether allow WAF to enforce file upload limits.
  9761  	FileUploadEnforcement *bool
  9762  
  9763  	// Maximum file upload size in Mb for WAF.
  9764  	FileUploadLimitInMb *int32
  9765  
  9766  	// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes.
  9767  	JsChallengeCookieExpirationInMins *int32
  9768  
  9769  	// To scrub sensitive log fields
  9770  	LogScrubbing *PolicySettingsLogScrubbing
  9771  
  9772  	// Maximum request body size in Kb for WAF.
  9773  	MaxRequestBodySizeInKb *int32
  9774  
  9775  	// The mode of the policy.
  9776  	Mode *WebApplicationFirewallMode
  9777  
  9778  	// Whether to allow WAF to check request Body.
  9779  	RequestBodyCheck *bool
  9780  
  9781  	// Whether allow WAF to enforce request body limits.
  9782  	RequestBodyEnforcement *bool
  9783  
  9784  	// Max inspection limit in KB for request body inspection for WAF.
  9785  	RequestBodyInspectLimitInKB *int32
  9786  
  9787  	// The state of the policy.
  9788  	State *WebApplicationFirewallEnabledState
  9789  }
  9790  
  9791  // PolicySettingsLogScrubbing - To scrub sensitive log fields
  9792  type PolicySettingsLogScrubbing struct {
  9793  	// The rules that are applied to the logs for scrubbing.
  9794  	ScrubbingRules []*WebApplicationFirewallScrubbingRules
  9795  
  9796  	// State of the log scrubbing config. Default value is Enabled.
  9797  	State *WebApplicationFirewallScrubbingState
  9798  }
  9799  
  9800  // PoolAssociation - IpamPool association information.
  9801  type PoolAssociation struct {
  9802  	// REQUIRED; Resource id of the associated Azure resource.
  9803  	ResourceID  *string
  9804  	Description *string
  9805  
  9806  	// IpamPool id for which the resource is associated to.
  9807  	PoolID *string
  9808  
  9809  	// READ-ONLY; List of assigned IP address prefixes in the IpamPool of the associated resource.
  9810  	AddressPrefixes []*string
  9811  
  9812  	// READ-ONLY; Creation time of the association.
  9813  	CreatedAt *time.Time
  9814  
  9815  	// READ-ONLY; Total number of reserved IP addresses of the association.
  9816  	NumberOfReservedIPAddresses *string
  9817  
  9818  	// READ-ONLY; Expire time for IP addresses reserved.
  9819  	ReservationExpiresAt *time.Time
  9820  
  9821  	// READ-ONLY; List of reserved IP address prefixes in the IpamPool of the associated resource.
  9822  	ReservedPrefixes []*string
  9823  
  9824  	// READ-ONLY; Total number of assigned IP addresses of the association.
  9825  	TotalNumberOfIPAddresses *string
  9826  }
  9827  
  9828  // PoolAssociationList - List of PoolAssociation
  9829  type PoolAssociationList struct {
  9830  	// The link used to get the next page of operations.
  9831  	NextLink *string
  9832  	Value    []*PoolAssociation
  9833  }
  9834  
  9835  // PoolUsage - IpamPool usage information.
  9836  type PoolUsage struct {
  9837  	// READ-ONLY; List of IP address prefixes of the resource.
  9838  	AddressPrefixes []*string
  9839  
  9840  	// READ-ONLY; List of assigned IP address prefixes.
  9841  	AllocatedAddressPrefixes []*string
  9842  
  9843  	// READ-ONLY; List of available IP address prefixes.
  9844  	AvailableAddressPrefixes []*string
  9845  
  9846  	// READ-ONLY; List of IpamPool that are children of this IpamPool.
  9847  	ChildPools []*ResourceBasics
  9848  
  9849  	// READ-ONLY; Total number of assigned IP addresses in the IpamPool.
  9850  	NumberOfAllocatedIPAddresses *string
  9851  
  9852  	// READ-ONLY; Total number of available IP addresses in the IpamPool.
  9853  	NumberOfAvailableIPAddresses *string
  9854  
  9855  	// READ-ONLY; Total number of reserved IP addresses in the IpamPool.
  9856  	NumberOfReservedIPAddresses *string
  9857  
  9858  	// READ-ONLY; List of reserved IP address prefixes. These IP addresses could be reclaimed if not assigned in the given time.
  9859  	ReservedAddressPrefixes []*string
  9860  
  9861  	// READ-ONLY; Total number of IP addresses managed in the IpamPool.
  9862  	TotalNumberOfIPAddresses *string
  9863  }
  9864  
  9865  // PrepareNetworkPoliciesRequest - Details of PrepareNetworkPolicies for Subnet.
  9866  type PrepareNetworkPoliciesRequest struct {
  9867  	// A list of NetworkIntentPolicyConfiguration.
  9868  	NetworkIntentPolicyConfigurations []*IntentPolicyConfiguration
  9869  
  9870  	// The name of the service for which subnet is being prepared for.
  9871  	ServiceName *string
  9872  }
  9873  
  9874  // PrivateDNSZoneConfig - PrivateDnsZoneConfig resource.
  9875  type PrivateDNSZoneConfig struct {
  9876  	// Name of the resource that is unique within a resource group. This name can be used to access the resource.
  9877  	Name *string
  9878  
  9879  	// Properties of the private dns zone configuration.
  9880  	Properties *PrivateDNSZonePropertiesFormat
  9881  }
  9882  
  9883  // PrivateDNSZoneGroup - Private dns zone group resource.
  9884  type PrivateDNSZoneGroup struct {
  9885  	// Resource ID.
  9886  	ID *string
  9887  
  9888  	// Name of the resource that is unique within a resource group. This name can be used to access the resource.
  9889  	Name *string
  9890  
  9891  	// Properties of the private dns zone group.
  9892  	Properties *PrivateDNSZoneGroupPropertiesFormat
  9893  
  9894  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9895  	Etag *string
  9896  }
  9897  
  9898  // PrivateDNSZoneGroupListResult - Response for the ListPrivateDnsZoneGroups API service call.
  9899  type PrivateDNSZoneGroupListResult struct {
  9900  	// A list of private dns zone group resources in a private endpoint.
  9901  	Value []*PrivateDNSZoneGroup
  9902  
  9903  	// READ-ONLY; The URL to get the next set of results.
  9904  	NextLink *string
  9905  }
  9906  
  9907  // PrivateDNSZoneGroupPropertiesFormat - Properties of the private dns zone group.
  9908  type PrivateDNSZoneGroupPropertiesFormat struct {
  9909  	// A collection of private dns zone configurations of the private dns zone group.
  9910  	PrivateDNSZoneConfigs []*PrivateDNSZoneConfig
  9911  
  9912  	// READ-ONLY; The provisioning state of the private dns zone group resource.
  9913  	ProvisioningState *ProvisioningState
  9914  }
  9915  
  9916  // PrivateDNSZonePropertiesFormat - Properties of the private dns zone configuration resource.
  9917  type PrivateDNSZonePropertiesFormat struct {
  9918  	// The resource id of the private dns zone.
  9919  	PrivateDNSZoneID *string
  9920  
  9921  	// READ-ONLY; A collection of information regarding a recordSet, holding information to identify private resources.
  9922  	RecordSets []*RecordSet
  9923  }
  9924  
  9925  // PrivateEndpoint - Private endpoint resource.
  9926  type PrivateEndpoint struct {
  9927  	// The extended location of the load balancer.
  9928  	ExtendedLocation *ExtendedLocation
  9929  
  9930  	// Resource ID.
  9931  	ID *string
  9932  
  9933  	// Resource location.
  9934  	Location *string
  9935  
  9936  	// Properties of the private endpoint.
  9937  	Properties *PrivateEndpointProperties
  9938  
  9939  	// Resource tags.
  9940  	Tags map[string]*string
  9941  
  9942  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9943  	Etag *string
  9944  
  9945  	// READ-ONLY; Resource name.
  9946  	Name *string
  9947  
  9948  	// READ-ONLY; Resource type.
  9949  	Type *string
  9950  }
  9951  
  9952  // PrivateEndpointConnection resource.
  9953  type PrivateEndpointConnection struct {
  9954  	// Resource ID.
  9955  	ID *string
  9956  
  9957  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
  9958  	Name *string
  9959  
  9960  	// Properties of the private end point connection.
  9961  	Properties *PrivateEndpointConnectionProperties
  9962  
  9963  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
  9964  	Etag *string
  9965  
  9966  	// READ-ONLY; The resource type.
  9967  	Type *string
  9968  }
  9969  
  9970  // PrivateEndpointConnectionListResult - Response for the ListPrivateEndpointConnection API service call.
  9971  type PrivateEndpointConnectionListResult struct {
  9972  	// A list of PrivateEndpointConnection resources for a specific private link service.
  9973  	Value []*PrivateEndpointConnection
  9974  
  9975  	// READ-ONLY; The URL to get the next set of results.
  9976  	NextLink *string
  9977  }
  9978  
  9979  // PrivateEndpointConnectionProperties - Properties of the PrivateEndpointConnectProperties.
  9980  type PrivateEndpointConnectionProperties struct {
  9981  	// A collection of information about the state of the connection between service consumer and provider.
  9982  	PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState
  9983  
  9984  	// READ-ONLY; The consumer link id.
  9985  	LinkIdentifier *string
  9986  
  9987  	// READ-ONLY; The resource of private end point.
  9988  	PrivateEndpoint *PrivateEndpoint
  9989  
  9990  	// READ-ONLY; The location of the private endpoint.
  9991  	PrivateEndpointLocation *string
  9992  
  9993  	// READ-ONLY; The provisioning state of the private endpoint connection resource.
  9994  	ProvisioningState *ProvisioningState
  9995  }
  9996  
  9997  // PrivateEndpointIPConfiguration - An IP Configuration of the private endpoint.
  9998  type PrivateEndpointIPConfiguration struct {
  9999  	// The name of the resource that is unique within a resource group.
 10000  	Name *string
 10001  
 10002  	// Properties of private endpoint IP configurations.
 10003  	Properties *PrivateEndpointIPConfigurationProperties
 10004  
 10005  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10006  	Etag *string
 10007  
 10008  	// READ-ONLY; The resource type.
 10009  	Type *string
 10010  }
 10011  
 10012  // PrivateEndpointIPConfigurationProperties - Properties of an IP Configuration of the private endpoint.
 10013  type PrivateEndpointIPConfigurationProperties struct {
 10014  	// The ID of a group obtained from the remote resource that this private endpoint should connect to.
 10015  	GroupID *string
 10016  
 10017  	// The member name of a group obtained from the remote resource that this private endpoint should connect to.
 10018  	MemberName *string
 10019  
 10020  	// A private ip address obtained from the private endpoint's subnet.
 10021  	PrivateIPAddress *string
 10022  }
 10023  
 10024  // PrivateEndpointListResult - Response for the ListPrivateEndpoints API service call.
 10025  type PrivateEndpointListResult struct {
 10026  	// A list of private endpoint resources in a resource group.
 10027  	Value []*PrivateEndpoint
 10028  
 10029  	// READ-ONLY; The URL to get the next set of results.
 10030  	NextLink *string
 10031  }
 10032  
 10033  // PrivateEndpointProperties - Properties of the private endpoint.
 10034  type PrivateEndpointProperties struct {
 10035  	// Application security groups in which the private endpoint IP configuration is included.
 10036  	ApplicationSecurityGroups []*ApplicationSecurityGroup
 10037  
 10038  	// An array of custom dns configurations.
 10039  	CustomDNSConfigs []*CustomDNSConfigPropertiesFormat
 10040  
 10041  	// The custom name of the network interface attached to the private endpoint.
 10042  	CustomNetworkInterfaceName *string
 10043  
 10044  	// A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints.
 10045  	IPConfigurations []*PrivateEndpointIPConfiguration
 10046  
 10047  	// A grouping of information about the connection to the remote resource. Used when the network admin does not have access
 10048  	// to approve connections to the remote resource.
 10049  	ManualPrivateLinkServiceConnections []*PrivateLinkServiceConnection
 10050  
 10051  	// A grouping of information about the connection to the remote resource.
 10052  	PrivateLinkServiceConnections []*PrivateLinkServiceConnection
 10053  
 10054  	// The ID of the subnet from which the private IP will be allocated.
 10055  	Subnet *Subnet
 10056  
 10057  	// READ-ONLY; An array of references to the network interfaces created for this private endpoint.
 10058  	NetworkInterfaces []*Interface
 10059  
 10060  	// READ-ONLY; The provisioning state of the private endpoint resource.
 10061  	ProvisioningState *ProvisioningState
 10062  }
 10063  
 10064  // PrivateLinkService - Private link service resource.
 10065  type PrivateLinkService struct {
 10066  	// The extended location of the load balancer.
 10067  	ExtendedLocation *ExtendedLocation
 10068  
 10069  	// Resource ID.
 10070  	ID *string
 10071  
 10072  	// Resource location.
 10073  	Location *string
 10074  
 10075  	// Properties of the private link service.
 10076  	Properties *PrivateLinkServiceProperties
 10077  
 10078  	// Resource tags.
 10079  	Tags map[string]*string
 10080  
 10081  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10082  	Etag *string
 10083  
 10084  	// READ-ONLY; Resource name.
 10085  	Name *string
 10086  
 10087  	// READ-ONLY; Resource type.
 10088  	Type *string
 10089  }
 10090  
 10091  // PrivateLinkServiceConnection resource.
 10092  type PrivateLinkServiceConnection struct {
 10093  	// Resource ID.
 10094  	ID *string
 10095  
 10096  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 10097  	Name *string
 10098  
 10099  	// Properties of the private link service connection.
 10100  	Properties *PrivateLinkServiceConnectionProperties
 10101  
 10102  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10103  	Etag *string
 10104  
 10105  	// READ-ONLY; The resource type.
 10106  	Type *string
 10107  }
 10108  
 10109  // PrivateLinkServiceConnectionProperties - Properties of the PrivateLinkServiceConnection.
 10110  type PrivateLinkServiceConnectionProperties struct {
 10111  	// The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.
 10112  	GroupIDs []*string
 10113  
 10114  	// A collection of read-only information about the state of the connection to the remote resource.
 10115  	PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState
 10116  
 10117  	// The resource id of private link service.
 10118  	PrivateLinkServiceID *string
 10119  
 10120  	// A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars.
 10121  	RequestMessage *string
 10122  
 10123  	// READ-ONLY; The provisioning state of the private link service connection resource.
 10124  	ProvisioningState *ProvisioningState
 10125  }
 10126  
 10127  // PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer
 10128  // and provider.
 10129  type PrivateLinkServiceConnectionState struct {
 10130  	// A message indicating if changes on the service provider require any updates on the consumer.
 10131  	ActionsRequired *string
 10132  
 10133  	// The reason for approval/rejection of the connection.
 10134  	Description *string
 10135  
 10136  	// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
 10137  	Status *string
 10138  }
 10139  
 10140  // PrivateLinkServiceIPConfiguration - The private link service ip configuration.
 10141  type PrivateLinkServiceIPConfiguration struct {
 10142  	// Resource ID.
 10143  	ID *string
 10144  
 10145  	// The name of private link service ip configuration.
 10146  	Name *string
 10147  
 10148  	// Properties of the private link service ip configuration.
 10149  	Properties *PrivateLinkServiceIPConfigurationProperties
 10150  
 10151  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10152  	Etag *string
 10153  
 10154  	// READ-ONLY; The resource type.
 10155  	Type *string
 10156  }
 10157  
 10158  // PrivateLinkServiceIPConfigurationProperties - Properties of private link service IP configuration.
 10159  type PrivateLinkServiceIPConfigurationProperties struct {
 10160  	// Whether the ip configuration is primary or not.
 10161  	Primary *bool
 10162  
 10163  	// The private IP address of the IP configuration.
 10164  	PrivateIPAddress *string
 10165  
 10166  	// Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.
 10167  	PrivateIPAddressVersion *IPVersion
 10168  
 10169  	// The private IP address allocation method.
 10170  	PrivateIPAllocationMethod *IPAllocationMethod
 10171  
 10172  	// The reference to the subnet resource.
 10173  	Subnet *Subnet
 10174  
 10175  	// READ-ONLY; The provisioning state of the private link service IP configuration resource.
 10176  	ProvisioningState *ProvisioningState
 10177  }
 10178  
 10179  // PrivateLinkServiceListResult - Response for the ListPrivateLinkService API service call.
 10180  type PrivateLinkServiceListResult struct {
 10181  	// A list of PrivateLinkService resources in a resource group.
 10182  	Value []*PrivateLinkService
 10183  
 10184  	// READ-ONLY; The URL to get the next set of results.
 10185  	NextLink *string
 10186  }
 10187  
 10188  // PrivateLinkServiceProperties - Properties of the private link service.
 10189  type PrivateLinkServiceProperties struct {
 10190  	// The auto-approval list of the private link service.
 10191  	AutoApproval *PrivateLinkServicePropertiesAutoApproval
 10192  
 10193  	// The destination IP address of the private link service.
 10194  	DestinationIPAddress *string
 10195  
 10196  	// Whether the private link service is enabled for proxy protocol or not.
 10197  	EnableProxyProtocol *bool
 10198  
 10199  	// The list of Fqdn.
 10200  	Fqdns []*string
 10201  
 10202  	// An array of private link service IP configurations.
 10203  	IPConfigurations []*PrivateLinkServiceIPConfiguration
 10204  
 10205  	// An array of references to the load balancer IP configurations.
 10206  	LoadBalancerFrontendIPConfigurations []*FrontendIPConfiguration
 10207  
 10208  	// The visibility list of the private link service.
 10209  	Visibility *PrivateLinkServicePropertiesVisibility
 10210  
 10211  	// READ-ONLY; The alias of the private link service.
 10212  	Alias *string
 10213  
 10214  	// READ-ONLY; An array of references to the network interfaces created for this private link service.
 10215  	NetworkInterfaces []*Interface
 10216  
 10217  	// READ-ONLY; An array of list about connections to the private endpoint.
 10218  	PrivateEndpointConnections []*PrivateEndpointConnection
 10219  
 10220  	// READ-ONLY; The provisioning state of the private link service resource.
 10221  	ProvisioningState *ProvisioningState
 10222  }
 10223  
 10224  // PrivateLinkServicePropertiesAutoApproval - The auto-approval list of the private link service.
 10225  type PrivateLinkServicePropertiesAutoApproval struct {
 10226  	// The list of subscriptions.
 10227  	Subscriptions []*string
 10228  }
 10229  
 10230  // PrivateLinkServicePropertiesVisibility - The visibility list of the private link service.
 10231  type PrivateLinkServicePropertiesVisibility struct {
 10232  	// The list of subscriptions.
 10233  	Subscriptions []*string
 10234  }
 10235  
 10236  // PrivateLinkServiceVisibility - Response for the CheckPrivateLinkServiceVisibility API service call.
 10237  type PrivateLinkServiceVisibility struct {
 10238  	// Private Link Service Visibility (True/False).
 10239  	Visible *bool
 10240  }
 10241  
 10242  // Probe - A load balancer probe.
 10243  type Probe struct {
 10244  	// Resource ID.
 10245  	ID *string
 10246  
 10247  	// 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
 10248  	// the resource.
 10249  	Name *string
 10250  
 10251  	// Properties of load balancer probe.
 10252  	Properties *ProbePropertiesFormat
 10253  
 10254  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10255  	Etag *string
 10256  
 10257  	// READ-ONLY; Type of the resource.
 10258  	Type *string
 10259  }
 10260  
 10261  // ProbePropertiesFormat - Load balancer probe resource.
 10262  type ProbePropertiesFormat struct {
 10263  	// REQUIRED; The port for communicating the probe. Possible values range from 1 to 65535, inclusive.
 10264  	Port *int32
 10265  
 10266  	// REQUIRED; The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful.
 10267  	// If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required
 10268  	// for the probe to be successful.
 10269  	Protocol *ProbeProtocol
 10270  
 10271  	// The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly
 10272  	// less than half the allocated timeout period (in seconds) which allows two full
 10273  	// probes before taking the instance out of rotation. The default value is 15, the minimum value is 5.
 10274  	IntervalInSeconds *int32
 10275  
 10276  	// Determines how new connections are handled by the load balancer when all backend instances are probed down.
 10277  	NoHealthyBackendsBehavior *ProbeNoHealthyBackendsBehavior
 10278  
 10279  	// The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint.
 10280  	// This values allows endpoints to be taken out of rotation faster or slower than
 10281  	// the typical times used in Azure.
 10282  	NumberOfProbes *int32
 10283  
 10284  	// The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint.
 10285  	// After failing the number of consecutive probes equal to this value, the
 10286  	// endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in
 10287  	// rotation.
 10288  	ProbeThreshold *int32
 10289  
 10290  	// The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is
 10291  	// not allowed. There is no default value.
 10292  	RequestPath *string
 10293  
 10294  	// READ-ONLY; The load balancer rules that use this probe.
 10295  	LoadBalancingRules []*SubResource
 10296  
 10297  	// READ-ONLY; The provisioning state of the probe resource.
 10298  	ProvisioningState *ProvisioningState
 10299  }
 10300  
 10301  // Profile - Network profile resource.
 10302  type Profile struct {
 10303  	// Resource ID.
 10304  	ID *string
 10305  
 10306  	// Resource location.
 10307  	Location *string
 10308  
 10309  	// Network profile properties.
 10310  	Properties *ProfilePropertiesFormat
 10311  
 10312  	// Resource tags.
 10313  	Tags map[string]*string
 10314  
 10315  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10316  	Etag *string
 10317  
 10318  	// READ-ONLY; Resource name.
 10319  	Name *string
 10320  
 10321  	// READ-ONLY; Resource type.
 10322  	Type *string
 10323  }
 10324  
 10325  // ProfileListResult - Response for ListNetworkProfiles API service call.
 10326  type ProfileListResult struct {
 10327  	// The URL to get the next set of results.
 10328  	NextLink *string
 10329  
 10330  	// A list of network profiles that exist in a resource group.
 10331  	Value []*Profile
 10332  }
 10333  
 10334  // ProfilePropertiesFormat - Network profile properties.
 10335  type ProfilePropertiesFormat struct {
 10336  	// List of chid container network interface configurations.
 10337  	ContainerNetworkInterfaceConfigurations []*ContainerNetworkInterfaceConfiguration
 10338  
 10339  	// READ-ONLY; List of child container network interfaces.
 10340  	ContainerNetworkInterfaces []*ContainerNetworkInterface
 10341  
 10342  	// READ-ONLY; The provisioning state of the network profile resource.
 10343  	ProvisioningState *ProvisioningState
 10344  
 10345  	// READ-ONLY; The resource GUID property of the network profile resource.
 10346  	ResourceGUID *string
 10347  }
 10348  
 10349  // PropagatedRouteTable - The list of RouteTables to advertise the routes to.
 10350  type PropagatedRouteTable struct {
 10351  	// The list of resource ids of all the RouteTables.
 10352  	IDs []*SubResource
 10353  
 10354  	// The list of labels.
 10355  	Labels []*string
 10356  }
 10357  
 10358  // ProtocolConfiguration - Configuration of the protocol.
 10359  type ProtocolConfiguration struct {
 10360  	// HTTP configuration of the connectivity check.
 10361  	HTTPConfiguration *HTTPConfiguration
 10362  }
 10363  
 10364  // PublicIPAddress - Public IP address resource.
 10365  type PublicIPAddress struct {
 10366  	// The extended location of the public ip address.
 10367  	ExtendedLocation *ExtendedLocation
 10368  
 10369  	// Resource ID.
 10370  	ID *string
 10371  
 10372  	// Resource location.
 10373  	Location *string
 10374  
 10375  	// Public IP address properties.
 10376  	Properties *PublicIPAddressPropertiesFormat
 10377  
 10378  	// The public IP address SKU.
 10379  	SKU *PublicIPAddressSKU
 10380  
 10381  	// Resource tags.
 10382  	Tags map[string]*string
 10383  
 10384  	// A list of availability zones denoting the IP allocated for the resource needs to come from.
 10385  	Zones []*string
 10386  
 10387  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10388  	Etag *string
 10389  
 10390  	// READ-ONLY; Resource name.
 10391  	Name *string
 10392  
 10393  	// READ-ONLY; Resource type.
 10394  	Type *string
 10395  }
 10396  
 10397  // PublicIPAddressDNSSettings - Contains FQDN of the DNS record associated with the public IP address.
 10398  type PublicIPAddressDNSSettings struct {
 10399  	// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified
 10400  	// domain name associated with the public IP address. If a domain name label is
 10401  	// specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.
 10402  	DomainNameLabel *string
 10403  
 10404  	// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created
 10405  	// for the public IP in the Microsoft Azure DNS system with a hashed value
 10406  	// includes in FQDN.
 10407  	DomainNameLabelScope *PublicIPAddressDNSSettingsDomainNameLabelScope
 10408  
 10409  	// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel
 10410  	// and the regionalized DNS zone.
 10411  	Fqdn *string
 10412  
 10413  	// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn
 10414  	// is specified, then a PTR DNS record is created pointing from the IP address in
 10415  	// the in-addr.arpa domain to the reverse FQDN.
 10416  	ReverseFqdn *string
 10417  }
 10418  
 10419  // PublicIPAddressListResult - Response for ListPublicIpAddresses API service call.
 10420  type PublicIPAddressListResult struct {
 10421  	// The URL to get the next set of results.
 10422  	NextLink *string
 10423  
 10424  	// A list of public IP addresses that exists in a resource group.
 10425  	Value []*PublicIPAddress
 10426  }
 10427  
 10428  // PublicIPAddressPropertiesFormat - Public IP address properties.
 10429  type PublicIPAddressPropertiesFormat struct {
 10430  	// The FQDN of the DNS record associated with the public IP address.
 10431  	DNSSettings *PublicIPAddressDNSSettings
 10432  
 10433  	// The DDoS protection custom policy associated with the public IP address.
 10434  	DdosSettings *DdosSettings
 10435  
 10436  	// Specify what happens to the public IP address when the VM using it is deleted
 10437  	DeleteOption *DeleteOptions
 10438  
 10439  	// The IP address associated with the public IP address resource.
 10440  	IPAddress *string
 10441  
 10442  	// The list of tags associated with the public IP address.
 10443  	IPTags []*IPTag
 10444  
 10445  	// The idle timeout of the public IP address.
 10446  	IdleTimeoutInMinutes *int32
 10447  
 10448  	// The linked public IP address of the public IP address resource.
 10449  	LinkedPublicIPAddress *PublicIPAddress
 10450  
 10451  	// Migration phase of Public IP Address.
 10452  	MigrationPhase *PublicIPAddressMigrationPhase
 10453  
 10454  	// The NatGateway for the Public IP address.
 10455  	NatGateway *NatGateway
 10456  
 10457  	// The public IP address version.
 10458  	PublicIPAddressVersion *IPVersion
 10459  
 10460  	// The public IP address allocation method.
 10461  	PublicIPAllocationMethod *IPAllocationMethod
 10462  
 10463  	// The Public IP Prefix this Public IP Address should be allocated from.
 10464  	PublicIPPrefix *SubResource
 10465  
 10466  	// The service public IP address of the public IP address resource.
 10467  	ServicePublicIPAddress *PublicIPAddress
 10468  
 10469  	// READ-ONLY; The IP configuration associated with the public IP address.
 10470  	IPConfiguration *IPConfiguration
 10471  
 10472  	// READ-ONLY; The provisioning state of the public IP address resource.
 10473  	ProvisioningState *ProvisioningState
 10474  
 10475  	// READ-ONLY; The resource GUID property of the public IP address resource.
 10476  	ResourceGUID *string
 10477  }
 10478  
 10479  // PublicIPAddressSKU - SKU of a public IP address.
 10480  type PublicIPAddressSKU struct {
 10481  	// Name of a public IP address SKU.
 10482  	Name *PublicIPAddressSKUName
 10483  
 10484  	// Tier of a public IP address SKU.
 10485  	Tier *PublicIPAddressSKUTier
 10486  }
 10487  
 10488  // PublicIPDdosProtectionStatusResult - Response for GetPublicIpAddressDdosProtectionStatusOperation API service call.
 10489  type PublicIPDdosProtectionStatusResult struct {
 10490  	// DDoS protection plan Resource Id of a if IP address is protected through a plan.
 10491  	DdosProtectionPlanID *string
 10492  
 10493  	// Value indicating whether the IP address is DDoS workload protected or not.
 10494  	IsWorkloadProtected *IsWorkloadProtected
 10495  
 10496  	// IP Address of the Public IP Resource
 10497  	PublicIPAddress *string
 10498  
 10499  	// Public IP ARM resource ID
 10500  	PublicIPAddressID *string
 10501  }
 10502  
 10503  // PublicIPPrefix - Public IP prefix resource.
 10504  type PublicIPPrefix struct {
 10505  	// The extended location of the public ip address.
 10506  	ExtendedLocation *ExtendedLocation
 10507  
 10508  	// Resource ID.
 10509  	ID *string
 10510  
 10511  	// Resource location.
 10512  	Location *string
 10513  
 10514  	// Public IP prefix properties.
 10515  	Properties *PublicIPPrefixPropertiesFormat
 10516  
 10517  	// The public IP prefix SKU.
 10518  	SKU *PublicIPPrefixSKU
 10519  
 10520  	// Resource tags.
 10521  	Tags map[string]*string
 10522  
 10523  	// A list of availability zones denoting the IP allocated for the resource needs to come from.
 10524  	Zones []*string
 10525  
 10526  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10527  	Etag *string
 10528  
 10529  	// READ-ONLY; Resource name.
 10530  	Name *string
 10531  
 10532  	// READ-ONLY; Resource type.
 10533  	Type *string
 10534  }
 10535  
 10536  // PublicIPPrefixListResult - Response for ListPublicIpPrefixes API service call.
 10537  type PublicIPPrefixListResult struct {
 10538  	// The URL to get the next set of results.
 10539  	NextLink *string
 10540  
 10541  	// A list of public IP prefixes that exists in a resource group.
 10542  	Value []*PublicIPPrefix
 10543  }
 10544  
 10545  // PublicIPPrefixPropertiesFormat - Public IP prefix properties.
 10546  type PublicIPPrefixPropertiesFormat struct {
 10547  	// The customIpPrefix that this prefix is associated with.
 10548  	CustomIPPrefix *SubResource
 10549  
 10550  	// The list of tags associated with the public IP prefix.
 10551  	IPTags []*IPTag
 10552  
 10553  	// NatGateway of Public IP Prefix.
 10554  	NatGateway *NatGateway
 10555  
 10556  	// The Length of the Public IP Prefix.
 10557  	PrefixLength *int32
 10558  
 10559  	// The public IP address version.
 10560  	PublicIPAddressVersion *IPVersion
 10561  
 10562  	// READ-ONLY; The allocated Prefix.
 10563  	IPPrefix *string
 10564  
 10565  	// READ-ONLY; The reference to load balancer frontend IP configuration associated with the public IP prefix.
 10566  	LoadBalancerFrontendIPConfiguration *SubResource
 10567  
 10568  	// READ-ONLY; The provisioning state of the public IP prefix resource.
 10569  	ProvisioningState *ProvisioningState
 10570  
 10571  	// READ-ONLY; The list of all referenced PublicIPAddresses.
 10572  	PublicIPAddresses []*ReferencedPublicIPAddress
 10573  
 10574  	// READ-ONLY; The resource GUID property of the public IP prefix resource.
 10575  	ResourceGUID *string
 10576  }
 10577  
 10578  // PublicIPPrefixSKU - SKU of a public IP prefix.
 10579  type PublicIPPrefixSKU struct {
 10580  	// Name of a public IP prefix SKU.
 10581  	Name *PublicIPPrefixSKUName
 10582  
 10583  	// Tier of a public IP prefix SKU.
 10584  	Tier *PublicIPPrefixSKUTier
 10585  }
 10586  
 10587  // QosDefinition - Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking.
 10588  type QosDefinition struct {
 10589  	// Destination IP ranges.
 10590  	DestinationIPRanges []*QosIPRange
 10591  
 10592  	// Destination port ranges.
 10593  	DestinationPortRanges []*QosPortRange
 10594  
 10595  	// List of markings to be used in the configuration.
 10596  	Markings []*int32
 10597  
 10598  	// RNM supported protocol types.
 10599  	Protocol *ProtocolType
 10600  
 10601  	// Source IP ranges.
 10602  	SourceIPRanges []*QosIPRange
 10603  
 10604  	// Sources port ranges.
 10605  	SourcePortRanges []*QosPortRange
 10606  }
 10607  
 10608  // QosIPRange - Qos Traffic Profiler IP Range properties.
 10609  type QosIPRange struct {
 10610  	// End IP Address.
 10611  	EndIP *string
 10612  
 10613  	// Start IP Address.
 10614  	StartIP *string
 10615  }
 10616  
 10617  // QosPortRange - Qos Traffic Profiler Port range properties.
 10618  type QosPortRange struct {
 10619  	// Qos Port Range end.
 10620  	End *int32
 10621  
 10622  	// Qos Port Range start.
 10623  	Start *int32
 10624  }
 10625  
 10626  // QueryInboundNatRulePortMappingRequest - The request for a QueryInboundNatRulePortMapping API. Either IpConfiguration or
 10627  // IpAddress should be set
 10628  type QueryInboundNatRulePortMappingRequest struct {
 10629  	// IP address set in load balancer backend address.
 10630  	IPAddress *string
 10631  
 10632  	// NetworkInterfaceIPConfiguration set in load balancer backend address.
 10633  	IPConfiguration *SubResource
 10634  }
 10635  
 10636  // QueryRequestOptions - Query Request Options
 10637  type QueryRequestOptions struct {
 10638  	// When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current
 10639  	// request) to retrieve the next page of data.
 10640  	SkipToken *string
 10641  }
 10642  
 10643  // QueryResults - Query result
 10644  type QueryResults struct {
 10645  	// Number of total records matching the query.
 10646  	MatchingRecordsCount *int64
 10647  
 10648  	// Array containing the results of the query
 10649  	Signatures []*SingleQueryResult
 10650  }
 10651  
 10652  // QueryTroubleshootingParameters - Parameters that define the resource to query the troubleshooting result.
 10653  type QueryTroubleshootingParameters struct {
 10654  	// REQUIRED; The target resource ID to query the troubleshooting result.
 10655  	TargetResourceID *string
 10656  }
 10657  
 10658  // RadiusServer - Radius Server Settings.
 10659  type RadiusServer struct {
 10660  	// REQUIRED; The address of this radius server.
 10661  	RadiusServerAddress *string
 10662  
 10663  	// The initial score assigned to this radius server.
 10664  	RadiusServerScore *int64
 10665  
 10666  	// The secret used for this radius server.
 10667  	RadiusServerSecret *string
 10668  }
 10669  
 10670  // ReachabilityAnalysisIntent - Configuration information or intent on which to do the analysis on.
 10671  type ReachabilityAnalysisIntent struct {
 10672  	// REQUIRED; Represents the Reachability Analysis Intent properties.
 10673  	Properties *ReachabilityAnalysisIntentProperties
 10674  
 10675  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
 10676  	ID *string
 10677  
 10678  	// READ-ONLY; The name of the resource
 10679  	Name *string
 10680  
 10681  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
 10682  	SystemData *SystemData
 10683  
 10684  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 10685  	Type *string
 10686  }
 10687  
 10688  // ReachabilityAnalysisIntentListResult - A list of Reachability Analysis Intents.
 10689  type ReachabilityAnalysisIntentListResult struct {
 10690  	// Gets the URL to get the next page of results.
 10691  	NextLink *string
 10692  
 10693  	// Gets a page of Reachability Analysis Intents
 10694  	Value []*ReachabilityAnalysisIntent
 10695  }
 10696  
 10697  // ReachabilityAnalysisIntentProperties - Represents the Reachability Analysis Intent properties.
 10698  type ReachabilityAnalysisIntentProperties struct {
 10699  	// REQUIRED; Destination resource id to verify the reachability path of.
 10700  	DestinationResourceID *string
 10701  
 10702  	// REQUIRED; IP traffic information.
 10703  	IPTraffic *IPTraffic
 10704  
 10705  	// REQUIRED; Source resource id to verify the reachability path of.
 10706  	SourceResourceID *string
 10707  	Description      *string
 10708  
 10709  	// Provisioning states of a resource.
 10710  	ProvisioningState *ProvisioningState
 10711  }
 10712  
 10713  // ReachabilityAnalysisRun - Configuration information for analysis run.
 10714  type ReachabilityAnalysisRun struct {
 10715  	// REQUIRED; Represents the Reachability Analysis Run properties.
 10716  	Properties *ReachabilityAnalysisRunProperties
 10717  
 10718  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
 10719  	ID *string
 10720  
 10721  	// READ-ONLY; The name of the resource
 10722  	Name *string
 10723  
 10724  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
 10725  	SystemData *SystemData
 10726  
 10727  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 10728  	Type *string
 10729  }
 10730  
 10731  // ReachabilityAnalysisRunListResult - A list of Reachability Analysis Run
 10732  type ReachabilityAnalysisRunListResult struct {
 10733  	// Gets the URL to get the next page of results.
 10734  	NextLink *string
 10735  
 10736  	// Gets a page of Reachability Analysis Runs.
 10737  	Value []*ReachabilityAnalysisRun
 10738  }
 10739  
 10740  // ReachabilityAnalysisRunProperties - Represents the Reachability Analysis Run properties.
 10741  type ReachabilityAnalysisRunProperties struct {
 10742  	// REQUIRED; Id of the intent resource to run analysis on.
 10743  	IntentID    *string
 10744  	Description *string
 10745  
 10746  	// Provisioning states of a resource.
 10747  	ProvisioningState *ProvisioningState
 10748  
 10749  	// READ-ONLY
 10750  	AnalysisResult *string
 10751  
 10752  	// READ-ONLY
 10753  	ErrorMessage *string
 10754  
 10755  	// READ-ONLY; Intent information.
 10756  	IntentContent *IntentContent
 10757  }
 10758  
 10759  // RecordSet - A collective group of information about the record set information.
 10760  type RecordSet struct {
 10761  	// Fqdn that resolves to private endpoint ip address.
 10762  	Fqdn *string
 10763  
 10764  	// The private ip address of the private endpoint.
 10765  	IPAddresses []*string
 10766  
 10767  	// Recordset name.
 10768  	RecordSetName *string
 10769  
 10770  	// Resource record type.
 10771  	RecordType *string
 10772  
 10773  	// Recordset time to live.
 10774  	TTL *int32
 10775  
 10776  	// READ-ONLY; The provisioning state of the recordset.
 10777  	ProvisioningState *ProvisioningState
 10778  }
 10779  
 10780  // ReferencedPublicIPAddress - Reference to a public IP address.
 10781  type ReferencedPublicIPAddress struct {
 10782  	// The PublicIPAddress Reference.
 10783  	ID *string
 10784  }
 10785  
 10786  // Resource - Common resource representation.
 10787  type Resource struct {
 10788  	// Resource ID.
 10789  	ID *string
 10790  
 10791  	// Resource location.
 10792  	Location *string
 10793  
 10794  	// Resource tags.
 10795  	Tags map[string]*string
 10796  
 10797  	// READ-ONLY; Resource name.
 10798  	Name *string
 10799  
 10800  	// READ-ONLY; Resource type.
 10801  	Type *string
 10802  }
 10803  
 10804  // ResourceBasics - Representation of basic resource information.
 10805  type ResourceBasics struct {
 10806  	// List of IP address prefixes of the resource.
 10807  	AddressPrefixes []*string
 10808  
 10809  	// ResourceId of the Azure resource.
 10810  	ResourceID *string
 10811  }
 10812  
 10813  // ResourceNavigationLink resource.
 10814  type ResourceNavigationLink struct {
 10815  	// Resource ID.
 10816  	ID *string
 10817  
 10818  	// Name of the resource that is unique within a resource group. This name can be used to access the resource.
 10819  	Name *string
 10820  
 10821  	// Resource navigation link properties format.
 10822  	Properties *ResourceNavigationLinkFormat
 10823  
 10824  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10825  	Etag *string
 10826  
 10827  	// READ-ONLY; Resource type.
 10828  	Type *string
 10829  }
 10830  
 10831  // ResourceNavigationLinkFormat - Properties of ResourceNavigationLink.
 10832  type ResourceNavigationLinkFormat struct {
 10833  	// Link to the external resource.
 10834  	Link *string
 10835  
 10836  	// Resource type of the linked resource.
 10837  	LinkedResourceType *string
 10838  
 10839  	// READ-ONLY; The provisioning state of the resource navigation link resource.
 10840  	ProvisioningState *ProvisioningState
 10841  }
 10842  
 10843  // ResourceNavigationLinksListResult - Response for ResourceNavigationLinks_List operation.
 10844  type ResourceNavigationLinksListResult struct {
 10845  	// The resource navigation links in a subnet.
 10846  	Value []*ResourceNavigationLink
 10847  
 10848  	// READ-ONLY; The URL to get the next set of results.
 10849  	NextLink *string
 10850  }
 10851  
 10852  // ResourceSet - The base resource set for visibility and auto-approval.
 10853  type ResourceSet struct {
 10854  	// The list of subscriptions.
 10855  	Subscriptions []*string
 10856  }
 10857  
 10858  // RetentionPolicyParameters - Parameters that define the retention policy for flow log.
 10859  type RetentionPolicyParameters struct {
 10860  	// Number of days to retain flow log records.
 10861  	Days *int32
 10862  
 10863  	// Flag to enable/disable retention.
 10864  	Enabled *bool
 10865  }
 10866  
 10867  // Route resource.
 10868  type Route struct {
 10869  	// Resource ID.
 10870  	ID *string
 10871  
 10872  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 10873  	Name *string
 10874  
 10875  	// Properties of the route.
 10876  	Properties *RoutePropertiesFormat
 10877  
 10878  	// The type of the resource.
 10879  	Type *string
 10880  
 10881  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10882  	Etag *string
 10883  }
 10884  
 10885  // RouteFilter - Route Filter Resource.
 10886  type RouteFilter struct {
 10887  	// Resource ID.
 10888  	ID *string
 10889  
 10890  	// Resource location.
 10891  	Location *string
 10892  
 10893  	// Properties of the route filter.
 10894  	Properties *RouteFilterPropertiesFormat
 10895  
 10896  	// Resource tags.
 10897  	Tags map[string]*string
 10898  
 10899  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10900  	Etag *string
 10901  
 10902  	// READ-ONLY; Resource name.
 10903  	Name *string
 10904  
 10905  	// READ-ONLY; Resource type.
 10906  	Type *string
 10907  }
 10908  
 10909  // RouteFilterListResult - Response for the ListRouteFilters API service call.
 10910  type RouteFilterListResult struct {
 10911  	// The URL to get the next set of results.
 10912  	NextLink *string
 10913  
 10914  	// A list of route filters in a resource group.
 10915  	Value []*RouteFilter
 10916  }
 10917  
 10918  // RouteFilterPropertiesFormat - Route Filter Resource.
 10919  type RouteFilterPropertiesFormat struct {
 10920  	// Collection of RouteFilterRules contained within a route filter.
 10921  	Rules []*RouteFilterRule
 10922  
 10923  	// READ-ONLY; A collection of references to express route circuit ipv6 peerings.
 10924  	IPv6Peerings []*ExpressRouteCircuitPeering
 10925  
 10926  	// READ-ONLY; A collection of references to express route circuit peerings.
 10927  	Peerings []*ExpressRouteCircuitPeering
 10928  
 10929  	// READ-ONLY; The provisioning state of the route filter resource.
 10930  	ProvisioningState *ProvisioningState
 10931  }
 10932  
 10933  // RouteFilterRule - Route Filter Rule Resource.
 10934  type RouteFilterRule struct {
 10935  	// Resource ID.
 10936  	ID *string
 10937  
 10938  	// Resource location.
 10939  	Location *string
 10940  
 10941  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 10942  	Name *string
 10943  
 10944  	// Properties of the route filter rule.
 10945  	Properties *RouteFilterRulePropertiesFormat
 10946  
 10947  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10948  	Etag *string
 10949  }
 10950  
 10951  // RouteFilterRuleListResult - Response for the ListRouteFilterRules API service call.
 10952  type RouteFilterRuleListResult struct {
 10953  	// The URL to get the next set of results.
 10954  	NextLink *string
 10955  
 10956  	// A list of RouteFilterRules in a resource group.
 10957  	Value []*RouteFilterRule
 10958  }
 10959  
 10960  // RouteFilterRulePropertiesFormat - Route Filter Rule Resource.
 10961  type RouteFilterRulePropertiesFormat struct {
 10962  	// REQUIRED; The access type of the rule.
 10963  	Access *Access
 10964  
 10965  	// REQUIRED; The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'].
 10966  	Communities []*string
 10967  
 10968  	// REQUIRED; The rule type of the rule.
 10969  	RouteFilterRuleType *RouteFilterRuleType
 10970  
 10971  	// READ-ONLY; The provisioning state of the route filter rule resource.
 10972  	ProvisioningState *ProvisioningState
 10973  }
 10974  
 10975  // RouteListResult - Response for the ListRoute API service call.
 10976  type RouteListResult struct {
 10977  	// The URL to get the next set of results.
 10978  	NextLink *string
 10979  
 10980  	// A list of routes in a resource group.
 10981  	Value []*Route
 10982  }
 10983  
 10984  // RouteMap - The RouteMap child resource of a Virtual hub.
 10985  type RouteMap struct {
 10986  	// Resource ID.
 10987  	ID *string
 10988  
 10989  	// Properties of the RouteMap resource.
 10990  	Properties *RouteMapProperties
 10991  
 10992  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 10993  	Etag *string
 10994  
 10995  	// READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource.
 10996  	Name *string
 10997  
 10998  	// READ-ONLY; Resource type.
 10999  	Type *string
 11000  }
 11001  
 11002  // RouteMapProperties - Properties of RouteMap resource
 11003  type RouteMapProperties struct {
 11004  	// List of connections which have this RoutMap associated for inbound traffic.
 11005  	AssociatedInboundConnections []*string
 11006  
 11007  	// List of connections which have this RoutMap associated for outbound traffic.
 11008  	AssociatedOutboundConnections []*string
 11009  
 11010  	// List of RouteMap rules to be applied.
 11011  	Rules []*RouteMapRule
 11012  
 11013  	// READ-ONLY; The provisioning state of the RouteMap resource.
 11014  	ProvisioningState *ProvisioningState
 11015  }
 11016  
 11017  // RouteMapRule - A RouteMap Rule.
 11018  type RouteMapRule struct {
 11019  	// List of actions which will be applied on a match.
 11020  	Actions []*Action
 11021  
 11022  	// List of matching criterion which will be applied to traffic.
 11023  	MatchCriteria []*Criterion
 11024  
 11025  	// The unique name for the rule.
 11026  	Name *string
 11027  
 11028  	// Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'.
 11029  	NextStepIfMatched *NextStep
 11030  }
 11031  
 11032  // RoutePropertiesFormat - Route resource.
 11033  type RoutePropertiesFormat struct {
 11034  	// REQUIRED; The type of Azure hop the packet should be sent to.
 11035  	NextHopType *RouteNextHopType
 11036  
 11037  	// The destination CIDR to which the route applies.
 11038  	AddressPrefix *string
 11039  
 11040  	// The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.
 11041  	NextHopIPAddress *string
 11042  
 11043  	// READ-ONLY; A value indicating whether this route overrides overlapping BGP routes regardless of LPM.
 11044  	HasBgpOverride *bool
 11045  
 11046  	// READ-ONLY; The provisioning state of the route resource.
 11047  	ProvisioningState *ProvisioningState
 11048  }
 11049  
 11050  // RouteTable - Route table resource.
 11051  type RouteTable struct {
 11052  	// Resource ID.
 11053  	ID *string
 11054  
 11055  	// Resource location.
 11056  	Location *string
 11057  
 11058  	// Properties of the route table.
 11059  	Properties *RouteTablePropertiesFormat
 11060  
 11061  	// Resource tags.
 11062  	Tags map[string]*string
 11063  
 11064  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11065  	Etag *string
 11066  
 11067  	// READ-ONLY; Resource name.
 11068  	Name *string
 11069  
 11070  	// READ-ONLY; Resource type.
 11071  	Type *string
 11072  }
 11073  
 11074  // RouteTableListResult - Response for the ListRouteTable API service call.
 11075  type RouteTableListResult struct {
 11076  	// The URL to get the next set of results.
 11077  	NextLink *string
 11078  
 11079  	// A list of route tables in a resource group.
 11080  	Value []*RouteTable
 11081  }
 11082  
 11083  // RouteTablePropertiesFormat - Route Table resource.
 11084  type RouteTablePropertiesFormat struct {
 11085  	// Whether to disable the routes learned by BGP on that route table. True means disable.
 11086  	DisableBgpRoutePropagation *bool
 11087  
 11088  	// Collection of routes contained within a route table.
 11089  	Routes []*Route
 11090  
 11091  	// READ-ONLY; The provisioning state of the route table resource.
 11092  	ProvisioningState *ProvisioningState
 11093  
 11094  	// READ-ONLY; The resource GUID property of the route table.
 11095  	ResourceGUID *string
 11096  
 11097  	// READ-ONLY; A collection of references to subnets.
 11098  	Subnets []*Subnet
 11099  }
 11100  
 11101  // RoutingConfiguration - Routing Configuration indicating the associated and propagated route tables for this connection.
 11102  type RoutingConfiguration struct {
 11103  	// The resource id RouteTable associated with this RoutingConfiguration.
 11104  	AssociatedRouteTable *SubResource
 11105  
 11106  	// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes.
 11107  	InboundRouteMap *SubResource
 11108  
 11109  	// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes.
 11110  	OutboundRouteMap *SubResource
 11111  
 11112  	// The list of RouteTables to advertise the routes to.
 11113  	PropagatedRouteTables *PropagatedRouteTable
 11114  
 11115  	// List of routes that control routing from VirtualHub into a virtual network connection.
 11116  	VnetRoutes *VnetRoute
 11117  }
 11118  
 11119  // RoutingIntent - The routing intent child resource of a Virtual hub.
 11120  type RoutingIntent struct {
 11121  	// Resource ID.
 11122  	ID *string
 11123  
 11124  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 11125  	Name *string
 11126  
 11127  	// Properties of the RoutingIntent resource.
 11128  	Properties *RoutingIntentProperties
 11129  
 11130  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11131  	Etag *string
 11132  
 11133  	// READ-ONLY; Resource type.
 11134  	Type *string
 11135  }
 11136  
 11137  // RoutingIntentProperties - The properties of a RoutingIntent resource.
 11138  type RoutingIntentProperties struct {
 11139  	// List of routing policies.
 11140  	RoutingPolicies []*RoutingPolicy
 11141  
 11142  	// READ-ONLY; The provisioning state of the RoutingIntent resource.
 11143  	ProvisioningState *ProvisioningState
 11144  }
 11145  
 11146  // RoutingPolicy - The routing policy object used in a RoutingIntent resource.
 11147  type RoutingPolicy struct {
 11148  	// REQUIRED; List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic).
 11149  	Destinations []*string
 11150  
 11151  	// REQUIRED; The unique name for the routing policy.
 11152  	Name *string
 11153  
 11154  	// REQUIRED; The next hop resource id on which this routing policy is applicable to.
 11155  	NextHop *string
 11156  }
 11157  
 11158  // RoutingRule - Network routing rule.
 11159  type RoutingRule struct {
 11160  	// Indicates the properties of the routing rule
 11161  	Properties *RoutingRulePropertiesFormat
 11162  
 11163  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11164  	Etag *string
 11165  
 11166  	// READ-ONLY; Resource ID.
 11167  	ID *string
 11168  
 11169  	// READ-ONLY; Resource name.
 11170  	Name *string
 11171  
 11172  	// READ-ONLY; The system metadata related to this resource.
 11173  	SystemData *SystemData
 11174  
 11175  	// READ-ONLY; Resource type.
 11176  	Type *string
 11177  }
 11178  
 11179  // RoutingRuleCollection - Defines the routing rule collection.
 11180  type RoutingRuleCollection struct {
 11181  	// Indicates the properties for the network manager routing rule collection.
 11182  	Properties *RoutingRuleCollectionPropertiesFormat
 11183  
 11184  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11185  	Etag *string
 11186  
 11187  	// READ-ONLY; Resource ID.
 11188  	ID *string
 11189  
 11190  	// READ-ONLY; Resource name.
 11191  	Name *string
 11192  
 11193  	// READ-ONLY; The system metadata related to this resource.
 11194  	SystemData *SystemData
 11195  
 11196  	// READ-ONLY; Resource type.
 11197  	Type *string
 11198  }
 11199  
 11200  // RoutingRuleCollectionListResult - Routing configuration rule collection list result.
 11201  type RoutingRuleCollectionListResult struct {
 11202  	// Gets the URL to get the next set of results.
 11203  	NextLink *string
 11204  
 11205  	// A list of network manager routing configuration rule collections
 11206  	Value []*RoutingRuleCollection
 11207  }
 11208  
 11209  // RoutingRuleCollectionPropertiesFormat - Defines the routing rule collection properties.
 11210  type RoutingRuleCollectionPropertiesFormat struct {
 11211  	// REQUIRED; Groups for configuration
 11212  	AppliesTo []*ManagerRoutingGroupItem
 11213  
 11214  	// A description of the routing rule collection.
 11215  	Description *string
 11216  
 11217  	// Determines whether BGP route propagation is enabled. Defaults to true.
 11218  	DisableBgpRoutePropagation *DisableBgpRoutePropagation
 11219  
 11220  	// READ-ONLY; The provisioning state of the resource.
 11221  	ProvisioningState *ProvisioningState
 11222  
 11223  	// READ-ONLY; Unique identifier for this resource.
 11224  	ResourceGUID *string
 11225  }
 11226  
 11227  // RoutingRuleListResult - Routing configuration rule list result.
 11228  type RoutingRuleListResult struct {
 11229  	// The URL to get the next set of results.
 11230  	NextLink *string
 11231  
 11232  	// A list of routing rules.
 11233  	Value []*RoutingRule
 11234  }
 11235  
 11236  // RoutingRuleNextHop - Next hop.
 11237  type RoutingRuleNextHop struct {
 11238  	// REQUIRED; Next hop type.
 11239  	NextHopType *RoutingRuleNextHopType
 11240  
 11241  	// Next hop address. Only required if the next hop type is VirtualAppliance.
 11242  	NextHopAddress *string
 11243  }
 11244  
 11245  // RoutingRulePropertiesFormat - Routing rule resource.
 11246  type RoutingRulePropertiesFormat struct {
 11247  	// REQUIRED; Indicates the destination for this particular rule.
 11248  	Destination *RoutingRuleRouteDestination
 11249  
 11250  	// REQUIRED; Indicates the next hop for this particular rule.
 11251  	NextHop *RoutingRuleNextHop
 11252  
 11253  	// A description for this rule.
 11254  	Description *string
 11255  
 11256  	// READ-ONLY; The provisioning state of the resource.
 11257  	ProvisioningState *ProvisioningState
 11258  
 11259  	// READ-ONLY; Unique identifier for this resource.
 11260  	ResourceGUID *string
 11261  }
 11262  
 11263  // RoutingRuleRouteDestination - Route destination.
 11264  type RoutingRuleRouteDestination struct {
 11265  	// REQUIRED; Destination address.
 11266  	DestinationAddress *string
 11267  
 11268  	// REQUIRED; Destination type.
 11269  	Type *RoutingRuleDestinationType
 11270  }
 11271  
 11272  // Rule of type network.
 11273  type Rule struct {
 11274  	// REQUIRED; Rule Type.
 11275  	RuleType *FirewallPolicyRuleType
 11276  
 11277  	// Description of the rule.
 11278  	Description *string
 11279  
 11280  	// List of destination IP addresses or Service Tags.
 11281  	DestinationAddresses []*string
 11282  
 11283  	// List of destination FQDNs.
 11284  	DestinationFqdns []*string
 11285  
 11286  	// List of destination IpGroups for this rule.
 11287  	DestinationIPGroups []*string
 11288  
 11289  	// List of destination ports.
 11290  	DestinationPorts []*string
 11291  
 11292  	// Array of FirewallPolicyRuleNetworkProtocols.
 11293  	IPProtocols []*FirewallPolicyRuleNetworkProtocol
 11294  
 11295  	// Name of the rule.
 11296  	Name *string
 11297  
 11298  	// List of source IP addresses for this rule.
 11299  	SourceAddresses []*string
 11300  
 11301  	// List of source IpGroups for this rule.
 11302  	SourceIPGroups []*string
 11303  }
 11304  
 11305  // GetFirewallPolicyRule implements the FirewallPolicyRuleClassification interface for type Rule.
 11306  func (r *Rule) GetFirewallPolicyRule() *FirewallPolicyRule {
 11307  	return &FirewallPolicyRule{
 11308  		Description: r.Description,
 11309  		Name:        r.Name,
 11310  		RuleType:    r.RuleType,
 11311  	}
 11312  }
 11313  
 11314  // SKU - The sku of this Bastion Host.
 11315  type SKU struct {
 11316  	// The name of the sku of this Bastion Host.
 11317  	Name *BastionHostSKUName
 11318  }
 11319  
 11320  // ScopeConnection - The Scope Connections resource
 11321  type ScopeConnection struct {
 11322  	// The scope connection properties
 11323  	Properties *ScopeConnectionProperties
 11324  
 11325  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11326  	Etag *string
 11327  
 11328  	// READ-ONLY; Resource ID.
 11329  	ID *string
 11330  
 11331  	// READ-ONLY; Resource name.
 11332  	Name *string
 11333  
 11334  	// READ-ONLY; The system metadata related to this resource.
 11335  	SystemData *SystemData
 11336  
 11337  	// READ-ONLY; Resource type.
 11338  	Type *string
 11339  }
 11340  
 11341  // ScopeConnectionListResult - List of scope connections.
 11342  type ScopeConnectionListResult struct {
 11343  	// Gets the URL to get the next page of results.
 11344  	NextLink *string
 11345  
 11346  	// List of scope connections.
 11347  	Value []*ScopeConnection
 11348  }
 11349  
 11350  // ScopeConnectionProperties - Scope connection.
 11351  type ScopeConnectionProperties struct {
 11352  	// A description of the scope connection.
 11353  	Description *string
 11354  
 11355  	// Resource ID.
 11356  	ResourceID *string
 11357  
 11358  	// Tenant ID.
 11359  	TenantID *string
 11360  
 11361  	// READ-ONLY; Connection State
 11362  	ConnectionState *ScopeConnectionState
 11363  }
 11364  
 11365  // SecurityAdminConfiguration - Defines the security admin configuration
 11366  type SecurityAdminConfiguration struct {
 11367  	// Indicates the properties for the network manager security admin configuration.
 11368  	Properties *SecurityAdminConfigurationPropertiesFormat
 11369  
 11370  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11371  	Etag *string
 11372  
 11373  	// READ-ONLY; Resource ID.
 11374  	ID *string
 11375  
 11376  	// READ-ONLY; Resource name.
 11377  	Name *string
 11378  
 11379  	// READ-ONLY; The system metadata related to this resource.
 11380  	SystemData *SystemData
 11381  
 11382  	// READ-ONLY; Resource type.
 11383  	Type *string
 11384  }
 11385  
 11386  // SecurityAdminConfigurationListResult - A list of network manager security admin configurations
 11387  type SecurityAdminConfigurationListResult struct {
 11388  	// Gets the URL to get the next page of results.
 11389  	NextLink *string
 11390  
 11391  	// Gets a page of security admin configurations
 11392  	Value []*SecurityAdminConfiguration
 11393  }
 11394  
 11395  // SecurityAdminConfigurationPropertiesFormat - Defines the security admin configuration properties.
 11396  type SecurityAdminConfigurationPropertiesFormat struct {
 11397  	// Enum list of network intent policy based services.
 11398  	ApplyOnNetworkIntentPolicyBasedServices []*NetworkIntentPolicyBasedService
 11399  
 11400  	// A description of the security configuration.
 11401  	Description *string
 11402  
 11403  	// Determine update behavior for changes to network groups referenced within the rules in this configuration.
 11404  	NetworkGroupAddressSpaceAggregationOption *AddressSpaceAggregationOption
 11405  
 11406  	// READ-ONLY; The provisioning state of the resource.
 11407  	ProvisioningState *ProvisioningState
 11408  
 11409  	// READ-ONLY; Unique identifier for this resource.
 11410  	ResourceGUID *string
 11411  }
 11412  
 11413  // SecurityGroup - NetworkSecurityGroup resource.
 11414  type SecurityGroup struct {
 11415  	// Resource ID.
 11416  	ID *string
 11417  
 11418  	// Resource location.
 11419  	Location *string
 11420  
 11421  	// Properties of the network security group.
 11422  	Properties *SecurityGroupPropertiesFormat
 11423  
 11424  	// Resource tags.
 11425  	Tags map[string]*string
 11426  
 11427  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11428  	Etag *string
 11429  
 11430  	// READ-ONLY; Resource name.
 11431  	Name *string
 11432  
 11433  	// READ-ONLY; Resource type.
 11434  	Type *string
 11435  }
 11436  
 11437  // SecurityGroupListResult - Response for ListNetworkSecurityGroups API service call.
 11438  type SecurityGroupListResult struct {
 11439  	// The URL to get the next set of results.
 11440  	NextLink *string
 11441  
 11442  	// A list of NetworkSecurityGroup resources.
 11443  	Value []*SecurityGroup
 11444  }
 11445  
 11446  // SecurityGroupNetworkInterface - Network interface and all its associated security rules.
 11447  type SecurityGroupNetworkInterface struct {
 11448  	// ID of the network interface.
 11449  	ID *string
 11450  
 11451  	// All security rules associated with the network interface.
 11452  	SecurityRuleAssociations *SecurityRuleAssociations
 11453  }
 11454  
 11455  // SecurityGroupPropertiesFormat - Network Security Group resource.
 11456  type SecurityGroupPropertiesFormat struct {
 11457  	// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial
 11458  	// enablement will trigger re-evaluation.
 11459  	FlushConnection *bool
 11460  
 11461  	// A collection of security rules of the network security group.
 11462  	SecurityRules []*SecurityRule
 11463  
 11464  	// READ-ONLY; The default security rules of network security group.
 11465  	DefaultSecurityRules []*SecurityRule
 11466  
 11467  	// READ-ONLY; A collection of references to flow log resources.
 11468  	FlowLogs []*FlowLog
 11469  
 11470  	// READ-ONLY; A collection of references to network interfaces.
 11471  	NetworkInterfaces []*Interface
 11472  
 11473  	// READ-ONLY; The provisioning state of the network security group resource.
 11474  	ProvisioningState *ProvisioningState
 11475  
 11476  	// READ-ONLY; The resource GUID property of the network security group resource.
 11477  	ResourceGUID *string
 11478  
 11479  	// READ-ONLY; A collection of references to subnets.
 11480  	Subnets []*Subnet
 11481  }
 11482  
 11483  // SecurityGroupResult - Network configuration diagnostic result corresponded provided traffic query.
 11484  type SecurityGroupResult struct {
 11485  	// The network traffic is allowed or denied.
 11486  	SecurityRuleAccessResult *SecurityRuleAccess
 11487  
 11488  	// READ-ONLY; List of results network security groups diagnostic.
 11489  	EvaluatedNetworkSecurityGroups []*EvaluatedNetworkSecurityGroup
 11490  }
 11491  
 11492  // SecurityGroupViewParameters - Parameters that define the VM to check security groups for.
 11493  type SecurityGroupViewParameters struct {
 11494  	// REQUIRED; ID of the target VM.
 11495  	TargetResourceID *string
 11496  }
 11497  
 11498  // SecurityGroupViewResult - The information about security rules applied to the specified VM.
 11499  type SecurityGroupViewResult struct {
 11500  	// List of network interfaces on the specified VM.
 11501  	NetworkInterfaces []*SecurityGroupNetworkInterface
 11502  }
 11503  
 11504  // SecurityPartnerProvider - Security Partner Provider resource.
 11505  type SecurityPartnerProvider struct {
 11506  	// Resource ID.
 11507  	ID *string
 11508  
 11509  	// Resource location.
 11510  	Location *string
 11511  
 11512  	// Properties of the Security Partner Provider.
 11513  	Properties *SecurityPartnerProviderPropertiesFormat
 11514  
 11515  	// Resource tags.
 11516  	Tags map[string]*string
 11517  
 11518  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11519  	Etag *string
 11520  
 11521  	// READ-ONLY; Resource name.
 11522  	Name *string
 11523  
 11524  	// READ-ONLY; Resource type.
 11525  	Type *string
 11526  }
 11527  
 11528  // SecurityPartnerProviderListResult - Response for ListSecurityPartnerProviders API service call.
 11529  type SecurityPartnerProviderListResult struct {
 11530  	// URL to get the next set of results.
 11531  	NextLink *string
 11532  
 11533  	// List of Security Partner Providers in a resource group.
 11534  	Value []*SecurityPartnerProvider
 11535  }
 11536  
 11537  // SecurityPartnerProviderPropertiesFormat - Properties of the Security Partner Provider.
 11538  type SecurityPartnerProviderPropertiesFormat struct {
 11539  	// The security provider name.
 11540  	SecurityProviderName *SecurityProviderName
 11541  
 11542  	// The virtualHub to which the Security Partner Provider belongs.
 11543  	VirtualHub *SubResource
 11544  
 11545  	// READ-ONLY; The connection status with the Security Partner Provider.
 11546  	ConnectionStatus *SecurityPartnerProviderConnectionStatus
 11547  
 11548  	// READ-ONLY; The provisioning state of the Security Partner Provider resource.
 11549  	ProvisioningState *ProvisioningState
 11550  }
 11551  
 11552  // SecurityRule - Network security rule.
 11553  type SecurityRule struct {
 11554  	// Resource ID.
 11555  	ID *string
 11556  
 11557  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 11558  	Name *string
 11559  
 11560  	// Properties of the security rule.
 11561  	Properties *SecurityRulePropertiesFormat
 11562  
 11563  	// The type of the resource.
 11564  	Type *string
 11565  
 11566  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11567  	Etag *string
 11568  }
 11569  
 11570  // SecurityRuleAssociations - All security rules associated with the network interface.
 11571  type SecurityRuleAssociations struct {
 11572  	// Collection of default security rules of the network security group.
 11573  	DefaultSecurityRules []*SecurityRule
 11574  
 11575  	// Collection of effective security rules.
 11576  	EffectiveSecurityRules []*EffectiveNetworkSecurityRule
 11577  
 11578  	// Network interface and it's custom security rules.
 11579  	NetworkInterfaceAssociation *InterfaceAssociation
 11580  
 11581  	// Subnet and it's custom security rules.
 11582  	SubnetAssociation *SubnetAssociation
 11583  }
 11584  
 11585  // SecurityRuleListResult - Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a
 11586  // network security group.
 11587  type SecurityRuleListResult struct {
 11588  	// The URL to get the next set of results.
 11589  	NextLink *string
 11590  
 11591  	// The security rules in a network security group.
 11592  	Value []*SecurityRule
 11593  }
 11594  
 11595  // SecurityRulePropertiesFormat - Security rule resource.
 11596  type SecurityRulePropertiesFormat struct {
 11597  	// REQUIRED; The network traffic is allowed or denied.
 11598  	Access *SecurityRuleAccess
 11599  
 11600  	// REQUIRED; The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.
 11601  	Direction *SecurityRuleDirection
 11602  
 11603  	// REQUIRED; The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each
 11604  	// rule in the collection. The lower the priority number, the higher the priority of the rule.
 11605  	Priority *int32
 11606  
 11607  	// REQUIRED; Network protocol this rule applies to.
 11608  	Protocol *SecurityRuleProtocol
 11609  
 11610  	// A description for this rule. Restricted to 140 chars.
 11611  	Description *string
 11612  
 11613  	// The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default
 11614  	// tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also
 11615  	// be used.
 11616  	DestinationAddressPrefix *string
 11617  
 11618  	// The destination address prefixes. CIDR or destination IP ranges.
 11619  	DestinationAddressPrefixes []*string
 11620  
 11621  	// The application security group specified as destination.
 11622  	DestinationApplicationSecurityGroups []*ApplicationSecurityGroup
 11623  
 11624  	// The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
 11625  	DestinationPortRange *string
 11626  
 11627  	// The destination port ranges.
 11628  	DestinationPortRanges []*string
 11629  
 11630  	// The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork',
 11631  	// 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress
 11632  	// rule, specifies where network traffic originates from.
 11633  	SourceAddressPrefix *string
 11634  
 11635  	// The CIDR or source IP ranges.
 11636  	SourceAddressPrefixes []*string
 11637  
 11638  	// The application security group specified as source.
 11639  	SourceApplicationSecurityGroups []*ApplicationSecurityGroup
 11640  
 11641  	// The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
 11642  	SourcePortRange *string
 11643  
 11644  	// The source port ranges.
 11645  	SourcePortRanges []*string
 11646  
 11647  	// READ-ONLY; The provisioning state of the security rule resource.
 11648  	ProvisioningState *ProvisioningState
 11649  }
 11650  
 11651  // SecurityRulesEvaluationResult - Network security rules evaluation result.
 11652  type SecurityRulesEvaluationResult struct {
 11653  	// Value indicating whether destination is matched.
 11654  	DestinationMatched *bool
 11655  
 11656  	// Value indicating whether destination port is matched.
 11657  	DestinationPortMatched *bool
 11658  
 11659  	// Name of the network security rule.
 11660  	Name *string
 11661  
 11662  	// Value indicating whether protocol is matched.
 11663  	ProtocolMatched *bool
 11664  
 11665  	// Value indicating whether source is matched.
 11666  	SourceMatched *bool
 11667  
 11668  	// Value indicating whether source port is matched.
 11669  	SourcePortMatched *bool
 11670  }
 11671  
 11672  // SecurityUserConfiguration - Defines the security user configuration
 11673  type SecurityUserConfiguration struct {
 11674  	// Indicates the properties for the network manager security user configuration.
 11675  	Properties *SecurityUserConfigurationPropertiesFormat
 11676  
 11677  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11678  	Etag *string
 11679  
 11680  	// READ-ONLY; Resource ID.
 11681  	ID *string
 11682  
 11683  	// READ-ONLY; Resource name.
 11684  	Name *string
 11685  
 11686  	// READ-ONLY; The system metadata related to this resource.
 11687  	SystemData *SystemData
 11688  
 11689  	// READ-ONLY; Resource type.
 11690  	Type *string
 11691  }
 11692  
 11693  // SecurityUserConfigurationListResult - A list of network manager security user configurations
 11694  type SecurityUserConfigurationListResult struct {
 11695  	// Gets the URL to get the next page of results.
 11696  	NextLink *string
 11697  
 11698  	// Gets a page of security user configurations
 11699  	Value []*SecurityUserConfiguration
 11700  }
 11701  
 11702  // SecurityUserConfigurationPropertiesFormat - Defines the security user configuration properties.
 11703  type SecurityUserConfigurationPropertiesFormat struct {
 11704  	// A description of the security user configuration.
 11705  	Description *string
 11706  
 11707  	// READ-ONLY; The provisioning state of the resource.
 11708  	ProvisioningState *ProvisioningState
 11709  
 11710  	// READ-ONLY; Unique identifier for this resource.
 11711  	ResourceGUID *string
 11712  }
 11713  
 11714  // SecurityUserGroupItem - Network manager security user group item.
 11715  type SecurityUserGroupItem struct {
 11716  	// REQUIRED; Network manager group Id.
 11717  	NetworkGroupID *string
 11718  }
 11719  
 11720  // SecurityUserRule - Network security user rule.
 11721  type SecurityUserRule struct {
 11722  	// Indicates the properties of the security user rule
 11723  	Properties *SecurityUserRulePropertiesFormat
 11724  
 11725  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11726  	Etag *string
 11727  
 11728  	// READ-ONLY; Resource ID.
 11729  	ID *string
 11730  
 11731  	// READ-ONLY; Resource name.
 11732  	Name *string
 11733  
 11734  	// READ-ONLY; The system metadata related to this resource.
 11735  	SystemData *SystemData
 11736  
 11737  	// READ-ONLY; Resource type.
 11738  	Type *string
 11739  }
 11740  
 11741  // SecurityUserRuleCollection - Defines the security user rule collection.
 11742  type SecurityUserRuleCollection struct {
 11743  	// Indicates the properties for the network manager security user rule collection.
 11744  	Properties *SecurityUserRuleCollectionPropertiesFormat
 11745  
 11746  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11747  	Etag *string
 11748  
 11749  	// READ-ONLY; Resource ID.
 11750  	ID *string
 11751  
 11752  	// READ-ONLY; Resource name.
 11753  	Name *string
 11754  
 11755  	// READ-ONLY; The system metadata related to this resource.
 11756  	SystemData *SystemData
 11757  
 11758  	// READ-ONLY; Resource type.
 11759  	Type *string
 11760  }
 11761  
 11762  // SecurityUserRuleCollectionListResult - Security user configuration rule collection list result.
 11763  type SecurityUserRuleCollectionListResult struct {
 11764  	// Gets the URL to get the next set of results.
 11765  	NextLink *string
 11766  
 11767  	// A list of network manager security user configuration rule collections
 11768  	Value []*SecurityUserRuleCollection
 11769  }
 11770  
 11771  // SecurityUserRuleCollectionPropertiesFormat - Defines the security user rule collection properties.
 11772  type SecurityUserRuleCollectionPropertiesFormat struct {
 11773  	// REQUIRED; Groups for configuration
 11774  	AppliesToGroups []*SecurityUserGroupItem
 11775  
 11776  	// A description of the security user rule collection.
 11777  	Description *string
 11778  
 11779  	// READ-ONLY; The provisioning state of the resource.
 11780  	ProvisioningState *ProvisioningState
 11781  
 11782  	// READ-ONLY; Unique identifier for this resource.
 11783  	ResourceGUID *string
 11784  }
 11785  
 11786  // SecurityUserRuleListResult - security user rule list result.
 11787  type SecurityUserRuleListResult struct {
 11788  	// The URL to get the next set of results.
 11789  	NextLink *string
 11790  
 11791  	// A list of security user rules
 11792  	Value []*SecurityUserRule
 11793  }
 11794  
 11795  // SecurityUserRulePropertiesFormat - Security rule resource.
 11796  type SecurityUserRulePropertiesFormat struct {
 11797  	// REQUIRED; Indicates if the traffic matched against the rule in inbound or outbound.
 11798  	Direction *SecurityConfigurationRuleDirection
 11799  
 11800  	// REQUIRED; Network protocol this rule applies to.
 11801  	Protocol *SecurityConfigurationRuleProtocol
 11802  
 11803  	// A description for this rule.
 11804  	Description *string
 11805  
 11806  	// The destination port ranges.
 11807  	DestinationPortRanges []*string
 11808  
 11809  	// The destination address prefixes. CIDR or destination IP ranges.
 11810  	Destinations []*AddressPrefixItem
 11811  
 11812  	// The source port ranges.
 11813  	SourcePortRanges []*string
 11814  
 11815  	// The CIDR or source IP ranges.
 11816  	Sources []*AddressPrefixItem
 11817  
 11818  	// READ-ONLY; The provisioning state of the security configuration user rule resource.
 11819  	ProvisioningState *ProvisioningState
 11820  
 11821  	// READ-ONLY; Unique identifier for this resource.
 11822  	ResourceGUID *string
 11823  }
 11824  
 11825  // ServiceAssociationLink resource.
 11826  type ServiceAssociationLink struct {
 11827  	// Resource ID.
 11828  	ID *string
 11829  
 11830  	// Name of the resource that is unique within a resource group. This name can be used to access the resource.
 11831  	Name *string
 11832  
 11833  	// Resource navigation link properties format.
 11834  	Properties *ServiceAssociationLinkPropertiesFormat
 11835  
 11836  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11837  	Etag *string
 11838  
 11839  	// READ-ONLY; Resource type.
 11840  	Type *string
 11841  }
 11842  
 11843  // ServiceAssociationLinkPropertiesFormat - Properties of ServiceAssociationLink.
 11844  type ServiceAssociationLinkPropertiesFormat struct {
 11845  	// If true, the resource can be deleted.
 11846  	AllowDelete *bool
 11847  
 11848  	// Link to the external resource.
 11849  	Link *string
 11850  
 11851  	// Resource type of the linked resource.
 11852  	LinkedResourceType *string
 11853  
 11854  	// A list of locations.
 11855  	Locations []*string
 11856  
 11857  	// READ-ONLY; The provisioning state of the service association link resource.
 11858  	ProvisioningState *ProvisioningState
 11859  }
 11860  
 11861  // ServiceAssociationLinksListResult - Response for ServiceAssociationLinks_List operation.
 11862  type ServiceAssociationLinksListResult struct {
 11863  	// The service association links in a subnet.
 11864  	Value []*ServiceAssociationLink
 11865  
 11866  	// READ-ONLY; The URL to get the next set of results.
 11867  	NextLink *string
 11868  }
 11869  
 11870  // ServiceDelegationPropertiesFormat - Properties of a service delegation.
 11871  type ServiceDelegationPropertiesFormat struct {
 11872  	// The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).
 11873  	ServiceName *string
 11874  
 11875  	// READ-ONLY; The actions permitted to the service upon delegation.
 11876  	Actions []*string
 11877  
 11878  	// READ-ONLY; The provisioning state of the service delegation resource.
 11879  	ProvisioningState *ProvisioningState
 11880  }
 11881  
 11882  // ServiceEndpointPolicy - Service End point policy resource.
 11883  type ServiceEndpointPolicy struct {
 11884  	// Resource ID.
 11885  	ID *string
 11886  
 11887  	// Resource location.
 11888  	Location *string
 11889  
 11890  	// Properties of the service end point policy.
 11891  	Properties *ServiceEndpointPolicyPropertiesFormat
 11892  
 11893  	// Resource tags.
 11894  	Tags map[string]*string
 11895  
 11896  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11897  	Etag *string
 11898  
 11899  	// READ-ONLY; Kind of service endpoint policy. This is metadata used for the Azure portal experience.
 11900  	Kind *string
 11901  
 11902  	// READ-ONLY; Resource name.
 11903  	Name *string
 11904  
 11905  	// READ-ONLY; Resource type.
 11906  	Type *string
 11907  }
 11908  
 11909  // ServiceEndpointPolicyDefinition - Service Endpoint policy definitions.
 11910  type ServiceEndpointPolicyDefinition struct {
 11911  	// Resource ID.
 11912  	ID *string
 11913  
 11914  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 11915  	Name *string
 11916  
 11917  	// Properties of the service endpoint policy definition.
 11918  	Properties *ServiceEndpointPolicyDefinitionPropertiesFormat
 11919  
 11920  	// The type of the resource.
 11921  	Type *string
 11922  
 11923  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 11924  	Etag *string
 11925  }
 11926  
 11927  // ServiceEndpointPolicyDefinitionListResult - Response for ListServiceEndpointPolicyDefinition API service call. Retrieves
 11928  // all service endpoint policy definition that belongs to a service endpoint policy.
 11929  type ServiceEndpointPolicyDefinitionListResult struct {
 11930  	// The URL to get the next set of results.
 11931  	NextLink *string
 11932  
 11933  	// The service endpoint policy definition in a service endpoint policy.
 11934  	Value []*ServiceEndpointPolicyDefinition
 11935  }
 11936  
 11937  // ServiceEndpointPolicyDefinitionPropertiesFormat - Service Endpoint policy definition resource.
 11938  type ServiceEndpointPolicyDefinitionPropertiesFormat struct {
 11939  	// A description for this rule. Restricted to 140 chars.
 11940  	Description *string
 11941  
 11942  	// Service endpoint name.
 11943  	Service *string
 11944  
 11945  	// A list of service resources.
 11946  	ServiceResources []*string
 11947  
 11948  	// READ-ONLY; The provisioning state of the service endpoint policy definition resource.
 11949  	ProvisioningState *ProvisioningState
 11950  }
 11951  
 11952  // ServiceEndpointPolicyListResult - Response for ListServiceEndpointPolicies API service call.
 11953  type ServiceEndpointPolicyListResult struct {
 11954  	// A list of ServiceEndpointPolicy resources.
 11955  	Value []*ServiceEndpointPolicy
 11956  
 11957  	// READ-ONLY; The URL to get the next set of results.
 11958  	NextLink *string
 11959  }
 11960  
 11961  // ServiceEndpointPolicyPropertiesFormat - Service Endpoint Policy resource.
 11962  type ServiceEndpointPolicyPropertiesFormat struct {
 11963  	// A collection of contextual service endpoint policy.
 11964  	ContextualServiceEndpointPolicies []*string
 11965  
 11966  	// The alias indicating if the policy belongs to a service
 11967  	ServiceAlias *string
 11968  
 11969  	// A collection of service endpoint policy definitions of the service endpoint policy.
 11970  	ServiceEndpointPolicyDefinitions []*ServiceEndpointPolicyDefinition
 11971  
 11972  	// READ-ONLY; The provisioning state of the service endpoint policy resource.
 11973  	ProvisioningState *ProvisioningState
 11974  
 11975  	// READ-ONLY; The resource GUID property of the service endpoint policy resource.
 11976  	ResourceGUID *string
 11977  
 11978  	// READ-ONLY; A collection of references to subnets.
 11979  	Subnets []*Subnet
 11980  }
 11981  
 11982  // ServiceEndpointPropertiesFormat - The service endpoint properties.
 11983  type ServiceEndpointPropertiesFormat struct {
 11984  	// A list of locations.
 11985  	Locations []*string
 11986  
 11987  	// SubResource as network identifier.
 11988  	NetworkIdentifier *SubResource
 11989  
 11990  	// The type of the endpoint service.
 11991  	Service *string
 11992  
 11993  	// READ-ONLY; The provisioning state of the service endpoint resource.
 11994  	ProvisioningState *ProvisioningState
 11995  }
 11996  
 11997  // ServiceTagInformation - The service tag information.
 11998  type ServiceTagInformation struct {
 11999  	// READ-ONLY; The ID of service tag.
 12000  	ID *string
 12001  
 12002  	// READ-ONLY; The name of service tag.
 12003  	Name *string
 12004  
 12005  	// READ-ONLY; Properties of the service tag information.
 12006  	Properties *ServiceTagInformationPropertiesFormat
 12007  
 12008  	// READ-ONLY; The iteration number of service tag object for region.
 12009  	ServiceTagChangeNumber *string
 12010  }
 12011  
 12012  // ServiceTagInformationListResult - Response for Get ServiceTagInformation API service call. Retrieves the list of service
 12013  // tag information resources.
 12014  type ServiceTagInformationListResult struct {
 12015  	// The list of service tag information resources.
 12016  	Value []*ServiceTagInformation
 12017  
 12018  	// READ-ONLY; The URL to get the next set of results.
 12019  	NextLink *string
 12020  }
 12021  
 12022  // ServiceTagInformationPropertiesFormat - Properties of the service tag information.
 12023  type ServiceTagInformationPropertiesFormat struct {
 12024  	// READ-ONLY; The list of IP address prefixes.
 12025  	AddressPrefixes []*string
 12026  
 12027  	// READ-ONLY; The iteration number of service tag.
 12028  	ChangeNumber *string
 12029  
 12030  	// READ-ONLY; The region of service tag.
 12031  	Region *string
 12032  
 12033  	// READ-ONLY; The state of the service tag.
 12034  	State *string
 12035  
 12036  	// READ-ONLY; The name of system service.
 12037  	SystemService *string
 12038  }
 12039  
 12040  // ServiceTagsListResult - Response for the ListServiceTags API service call.
 12041  type ServiceTagsListResult struct {
 12042  	// READ-ONLY; The iteration number.
 12043  	ChangeNumber *string
 12044  
 12045  	// READ-ONLY; The name of the cloud.
 12046  	Cloud *string
 12047  
 12048  	// READ-ONLY; The ID of the cloud.
 12049  	ID *string
 12050  
 12051  	// READ-ONLY; The name of the cloud.
 12052  	Name *string
 12053  
 12054  	// READ-ONLY; The URL to get next page of service tag information resources.
 12055  	NextLink *string
 12056  
 12057  	// READ-ONLY; The azure resource type.
 12058  	Type *string
 12059  
 12060  	// READ-ONLY; The list of service tag information resources.
 12061  	Values []*ServiceTagInformation
 12062  }
 12063  
 12064  // SessionIDs - List of session IDs.
 12065  type SessionIDs struct {
 12066  	// List of session IDs.
 12067  	SessionIDs []*string
 12068  }
 12069  
 12070  // SharedKeyProperties - Parameters for SharedKey.
 12071  type SharedKeyProperties struct {
 12072  	// The value of the shared key for the vpn link connection.
 12073  	SharedKey *string
 12074  
 12075  	// The length of the shared key for the vpn link connection.
 12076  	SharedKeyLength *int32
 12077  
 12078  	// READ-ONLY; The provisioning state of the SharedKey resource.
 12079  	ProvisioningState *ProvisioningState
 12080  }
 12081  
 12082  // SignatureOverridesFilterValuesQuery - Describes the filter values possibles for a given column
 12083  type SignatureOverridesFilterValuesQuery struct {
 12084  	// Describes the name of the column which values will be returned
 12085  	FilterName *string
 12086  }
 12087  
 12088  // SignatureOverridesFilterValuesResponse - Describes the list of all possible values for a specific filter value
 12089  type SignatureOverridesFilterValuesResponse struct {
 12090  	// Describes the possible values
 12091  	FilterValues []*string
 12092  }
 12093  
 12094  // SignaturesOverrides - Contains all specific policy signatures overrides for the IDPS
 12095  type SignaturesOverrides struct {
 12096  	// Will contain the resource id of the signature override resource
 12097  	ID *string
 12098  
 12099  	// Contains the name of the resource (default)
 12100  	Name *string
 12101  
 12102  	// Will contain the properties of the resource (the actual signature overrides)
 12103  	Properties *SignaturesOverridesProperties
 12104  
 12105  	// Will contain the type of the resource: Microsoft.Network/firewallPolicies/intrusionDetectionSignaturesOverrides
 12106  	Type *string
 12107  }
 12108  
 12109  // SignaturesOverridesList - Describes an object containing an array with a single item
 12110  type SignaturesOverridesList struct {
 12111  	// Describes a list consisting exactly one item describing the policy's signature override status
 12112  	Value []*SignaturesOverrides
 12113  }
 12114  
 12115  // SignaturesOverridesProperties - Will contain the properties of the resource (the actual signature overrides)
 12116  type SignaturesOverridesProperties struct {
 12117  	// Dictionary of
 12118  	Signatures map[string]*string
 12119  }
 12120  
 12121  type SingleQueryResult struct {
 12122  	// Describes what is the signature enforces
 12123  	Description *string
 12124  
 12125  	// Describes the list of destination ports related to this signature
 12126  	DestinationPorts []*string
 12127  
 12128  	// Describes in which direction signature is being enforced: 0 - OutBound, 1 - InBound, 2 - Any, 3 - Internal, 4 - InternalOutbound,
 12129  	// 5 - InternalInbound
 12130  	Direction *FirewallPolicyIDPSSignatureDirection
 12131  
 12132  	// Describes the groups the signature belongs to
 12133  	Group *string
 12134  
 12135  	// Describes if this override is inherited from base policy or not
 12136  	InheritedFromParentPolicy *bool
 12137  
 12138  	// Describes the last updated time of the signature (provided from 3rd party vendor)
 12139  	LastUpdated *string
 12140  
 12141  	// The current mode enforced, 0 - Disabled, 1 - Alert, 2 -Deny
 12142  	Mode *FirewallPolicyIDPSSignatureMode
 12143  
 12144  	// Describes the protocol the signatures is being enforced in
 12145  	Protocol *string
 12146  
 12147  	// Describes the severity of signature: 1 - High, 2 - Medium, 3 - Low
 12148  	Severity *FirewallPolicyIDPSSignatureSeverity
 12149  
 12150  	// The ID of the signature
 12151  	SignatureID *int32
 12152  
 12153  	// Describes the list of source ports related to this signature
 12154  	SourcePorts []*string
 12155  }
 12156  
 12157  // StaticCidr - Instance of StaticCidr resource.
 12158  type StaticCidr struct {
 12159  	// Properties of static CIDR resource.
 12160  	Properties *StaticCidrProperties
 12161  
 12162  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
 12163  	ID *string
 12164  
 12165  	// READ-ONLY; The name of the resource
 12166  	Name *string
 12167  
 12168  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
 12169  	SystemData *SystemData
 12170  
 12171  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 12172  	Type *string
 12173  }
 12174  
 12175  // StaticCidrList - List of StaticCidr
 12176  type StaticCidrList struct {
 12177  	// The link used to get the next page of operations.
 12178  	NextLink *string
 12179  	Value    []*StaticCidr
 12180  }
 12181  
 12182  // StaticCidrProperties - Properties of static CIDR resource.
 12183  type StaticCidrProperties struct {
 12184  	// List of IP address prefixes of the resource.
 12185  	AddressPrefixes []*string
 12186  	Description     *string
 12187  
 12188  	// Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available
 12189  	// space.
 12190  	NumberOfIPAddressesToAllocate *string
 12191  
 12192  	// Provisioning states of a resource.
 12193  	ProvisioningState *ProvisioningState
 12194  
 12195  	// READ-ONLY; Total number of IP addresses allocated for the static CIDR resource.
 12196  	TotalNumberOfIPAddresses *string
 12197  }
 12198  
 12199  // StaticMember Item.
 12200  type StaticMember struct {
 12201  	// The Static Member properties
 12202  	Properties *StaticMemberProperties
 12203  
 12204  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 12205  	Etag *string
 12206  
 12207  	// READ-ONLY; Resource ID.
 12208  	ID *string
 12209  
 12210  	// READ-ONLY; Resource name.
 12211  	Name *string
 12212  
 12213  	// READ-ONLY; The system metadata related to this resource.
 12214  	SystemData *SystemData
 12215  
 12216  	// READ-ONLY; Resource type.
 12217  	Type *string
 12218  }
 12219  
 12220  // StaticMemberListResult - Result of the request to list StaticMember. It contains a list of groups and a URL link to get
 12221  // the next set of results.
 12222  type StaticMemberListResult struct {
 12223  	// Gets the URL to get the next set of results.
 12224  	NextLink *string
 12225  
 12226  	// Gets a page of StaticMember
 12227  	Value []*StaticMember
 12228  }
 12229  
 12230  // StaticMemberProperties - Properties of static member.
 12231  type StaticMemberProperties struct {
 12232  	// Resource Id.
 12233  	ResourceID *string
 12234  
 12235  	// READ-ONLY; The provisioning state of the scope assignment resource.
 12236  	ProvisioningState *ProvisioningState
 12237  
 12238  	// READ-ONLY; Resource region.
 12239  	Region *string
 12240  }
 12241  
 12242  // StaticRoute - List of all Static Routes.
 12243  type StaticRoute struct {
 12244  	// List of all address prefixes.
 12245  	AddressPrefixes []*string
 12246  
 12247  	// The name of the StaticRoute that is unique within a VnetRoute.
 12248  	Name *string
 12249  
 12250  	// The ip address of the next hop.
 12251  	NextHopIPAddress *string
 12252  }
 12253  
 12254  // StaticRoutesConfig - Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection.
 12255  type StaticRoutesConfig struct {
 12256  	// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke.
 12257  	VnetLocalRouteOverrideCriteria *VnetLocalRouteOverrideCriteria
 12258  
 12259  	// READ-ONLY; Boolean indicating whether static routes on this connection are automatically propagate to route tables which
 12260  	// this connection propagates to.
 12261  	PropagateStaticRoutes *bool
 12262  }
 12263  
 12264  // SubResource - Reference to another subresource.
 12265  type SubResource struct {
 12266  	// Resource ID.
 12267  	ID *string
 12268  }
 12269  
 12270  // Subnet in a virtual network resource.
 12271  type Subnet struct {
 12272  	// Resource ID.
 12273  	ID *string
 12274  
 12275  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 12276  	Name *string
 12277  
 12278  	// Properties of the subnet.
 12279  	Properties *SubnetPropertiesFormat
 12280  
 12281  	// Resource type.
 12282  	Type *string
 12283  
 12284  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 12285  	Etag *string
 12286  }
 12287  
 12288  // SubnetAssociation - Subnet and it's custom security rules.
 12289  type SubnetAssociation struct {
 12290  	// Collection of custom security rules.
 12291  	SecurityRules []*SecurityRule
 12292  
 12293  	// READ-ONLY; Subnet ID.
 12294  	ID *string
 12295  }
 12296  
 12297  // SubnetListResult - Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network.
 12298  type SubnetListResult struct {
 12299  	// The URL to get the next set of results.
 12300  	NextLink *string
 12301  
 12302  	// The subnets in a virtual network.
 12303  	Value []*Subnet
 12304  }
 12305  
 12306  // SubnetPropertiesFormat - Properties of the subnet.
 12307  type SubnetPropertiesFormat struct {
 12308  	// The address prefix for the subnet.
 12309  	AddressPrefix *string
 12310  
 12311  	// List of address prefixes for the subnet.
 12312  	AddressPrefixes []*string
 12313  
 12314  	// Application gateway IP configurations of virtual network resource.
 12315  	ApplicationGatewayIPConfigurations []*ApplicationGatewayIPConfiguration
 12316  
 12317  	// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be
 12318  	// set at the time of subnet creation and cannot be updated for an existing
 12319  	// subnet.
 12320  	DefaultOutboundAccess *bool
 12321  
 12322  	// An array of references to the delegations on the subnet.
 12323  	Delegations []*Delegation
 12324  
 12325  	// Array of IpAllocation which reference this subnet.
 12326  	IPAllocations []*SubResource
 12327  
 12328  	// A list of IPAM Pools for allocating IP address prefixes.
 12329  	IpamPoolPrefixAllocations []*IpamPoolPrefixAllocation
 12330  
 12331  	// Nat gateway associated with this subnet.
 12332  	NatGateway *SubResource
 12333  
 12334  	// The reference to the NetworkSecurityGroup resource.
 12335  	NetworkSecurityGroup *SecurityGroup
 12336  
 12337  	// Enable or Disable apply network policies on private end point in the subnet.
 12338  	PrivateEndpointNetworkPolicies *VirtualNetworkPrivateEndpointNetworkPolicies
 12339  
 12340  	// Enable or Disable apply network policies on private link service in the subnet.
 12341  	PrivateLinkServiceNetworkPolicies *VirtualNetworkPrivateLinkServiceNetworkPolicies
 12342  
 12343  	// The reference to the RouteTable resource.
 12344  	RouteTable *RouteTable
 12345  
 12346  	// An array of service endpoint policies.
 12347  	ServiceEndpointPolicies []*ServiceEndpointPolicy
 12348  
 12349  	// An array of service endpoints.
 12350  	ServiceEndpoints []*ServiceEndpointPropertiesFormat
 12351  
 12352  	// Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only
 12353  	// be set if defaultOutboundAccess is set to false, both properties can only be set
 12354  	// if subnet is empty.
 12355  	SharingScope *SharingScope
 12356  
 12357  	// READ-ONLY; Array of IP configuration profiles which reference this subnet.
 12358  	IPConfigurationProfiles []*IPConfigurationProfile
 12359  
 12360  	// READ-ONLY; An array of references to the network interface IP configurations using subnet.
 12361  	IPConfigurations []*IPConfiguration
 12362  
 12363  	// READ-ONLY; An array of references to private endpoints.
 12364  	PrivateEndpoints []*PrivateEndpoint
 12365  
 12366  	// READ-ONLY; The provisioning state of the subnet resource.
 12367  	ProvisioningState *ProvisioningState
 12368  
 12369  	// READ-ONLY; A read-only string identifying the intention of use for this subnet based on delegations and other user-defined
 12370  	// properties.
 12371  	Purpose *string
 12372  
 12373  	// READ-ONLY; An array of references to the external resources using subnet.
 12374  	ResourceNavigationLinks []*ResourceNavigationLink
 12375  
 12376  	// READ-ONLY; An array of references to services injecting into this subnet.
 12377  	ServiceAssociationLinks []*ServiceAssociationLink
 12378  }
 12379  
 12380  // SwapResource to represent slot type on the specified cloud service.
 12381  type SwapResource struct {
 12382  	// Swap resource properties
 12383  	Properties *SwapResourceProperties
 12384  
 12385  	// READ-ONLY; Resource Id.
 12386  	ID *string
 12387  
 12388  	// READ-ONLY; Resource name.
 12389  	Name *string
 12390  
 12391  	// READ-ONLY; Resource type.
 12392  	Type *string
 12393  }
 12394  
 12395  // SwapResourceListResult - SwapResource List with single entry to represent slot type on the specified cloud service.
 12396  type SwapResourceListResult struct {
 12397  	Value []*SwapResource
 12398  }
 12399  
 12400  // SwapResourceProperties - Swap resource properties
 12401  type SwapResourceProperties struct {
 12402  	// Specifies slot info on a cloud service
 12403  	SlotType *SlotType
 12404  }
 12405  
 12406  // SystemData - Metadata pertaining to creation and last modification of the resource.
 12407  type SystemData struct {
 12408  	// The timestamp of resource creation (UTC).
 12409  	CreatedAt *time.Time
 12410  
 12411  	// The identity that created the resource.
 12412  	CreatedBy *string
 12413  
 12414  	// The type of identity that created the resource.
 12415  	CreatedByType *CreatedByType
 12416  
 12417  	// The type of identity that last modified the resource.
 12418  	LastModifiedAt *time.Time
 12419  
 12420  	// The identity that last modified the resource.
 12421  	LastModifiedBy *string
 12422  
 12423  	// The type of identity that last modified the resource.
 12424  	LastModifiedByType *CreatedByType
 12425  }
 12426  
 12427  // TagsObject - Tags object for patch operations.
 12428  type TagsObject struct {
 12429  	// Resource tags.
 12430  	Tags map[string]*string
 12431  }
 12432  
 12433  // Topology of the specified resource group.
 12434  type Topology struct {
 12435  	// A list of topology resources.
 12436  	Resources []*TopologyResource
 12437  
 12438  	// READ-ONLY; The datetime when the topology was initially created for the resource group.
 12439  	CreatedDateTime *time.Time
 12440  
 12441  	// READ-ONLY; GUID representing the operation id.
 12442  	ID *string
 12443  
 12444  	// READ-ONLY; The datetime when the topology was last modified.
 12445  	LastModified *time.Time
 12446  }
 12447  
 12448  // TopologyAssociation - Resources that have an association with the parent resource.
 12449  type TopologyAssociation struct {
 12450  	// The association type of the child resource to the parent resource.
 12451  	AssociationType *AssociationType
 12452  
 12453  	// The name of the resource that is associated with the parent resource.
 12454  	Name *string
 12455  
 12456  	// The ID of the resource that is associated with the parent resource.
 12457  	ResourceID *string
 12458  }
 12459  
 12460  // TopologyParameters - Parameters that define the representation of topology.
 12461  type TopologyParameters struct {
 12462  	// The name of the target resource group to perform topology on.
 12463  	TargetResourceGroupName *string
 12464  
 12465  	// The reference to the Subnet resource.
 12466  	TargetSubnet *SubResource
 12467  
 12468  	// The reference to the Virtual Network resource.
 12469  	TargetVirtualNetwork *SubResource
 12470  }
 12471  
 12472  // TopologyResource - The network resource topology information for the given resource group.
 12473  type TopologyResource struct {
 12474  	// Holds the associations the resource has with other resources in the resource group.
 12475  	Associations []*TopologyAssociation
 12476  
 12477  	// ID of the resource.
 12478  	ID *string
 12479  
 12480  	// Resource location.
 12481  	Location *string
 12482  
 12483  	// Name of the resource.
 12484  	Name *string
 12485  }
 12486  
 12487  // TrafficAnalyticsConfigurationProperties - Parameters that define the configuration of traffic analytics.
 12488  type TrafficAnalyticsConfigurationProperties struct {
 12489  	// Flag to enable/disable traffic analytics.
 12490  	Enabled *bool
 12491  
 12492  	// The interval in minutes which would decide how frequently TA service should do flow analytics.
 12493  	TrafficAnalyticsInterval *int32
 12494  
 12495  	// The resource guid of the attached workspace.
 12496  	WorkspaceID *string
 12497  
 12498  	// The location of the attached workspace.
 12499  	WorkspaceRegion *string
 12500  
 12501  	// Resource Id of the attached workspace.
 12502  	WorkspaceResourceID *string
 12503  }
 12504  
 12505  // TrafficAnalyticsProperties - Parameters that define the configuration of traffic analytics.
 12506  type TrafficAnalyticsProperties struct {
 12507  	// Parameters that define the configuration of traffic analytics.
 12508  	NetworkWatcherFlowAnalyticsConfiguration *TrafficAnalyticsConfigurationProperties
 12509  }
 12510  
 12511  // TrafficSelectorPolicy - An traffic selector policy for a virtual network gateway connection.
 12512  type TrafficSelectorPolicy struct {
 12513  	// REQUIRED; A collection of local address spaces in CIDR format.
 12514  	LocalAddressRanges []*string
 12515  
 12516  	// REQUIRED; A collection of remote address spaces in CIDR format.
 12517  	RemoteAddressRanges []*string
 12518  }
 12519  
 12520  // TroubleshootingDetails - Information gained from troubleshooting of specified resource.
 12521  type TroubleshootingDetails struct {
 12522  	// Details on troubleshooting results.
 12523  	Detail *string
 12524  
 12525  	// The id of the get troubleshoot operation.
 12526  	ID *string
 12527  
 12528  	// Reason type of failure.
 12529  	ReasonType *string
 12530  
 12531  	// List of recommended actions.
 12532  	RecommendedActions []*TroubleshootingRecommendedActions
 12533  
 12534  	// A summary of troubleshooting.
 12535  	Summary *string
 12536  }
 12537  
 12538  // TroubleshootingParameters - Parameters that define the resource to troubleshoot.
 12539  type TroubleshootingParameters struct {
 12540  	// REQUIRED; Properties of the troubleshooting resource.
 12541  	Properties *TroubleshootingProperties
 12542  
 12543  	// REQUIRED; The target resource to troubleshoot.
 12544  	TargetResourceID *string
 12545  }
 12546  
 12547  // TroubleshootingProperties - Storage location provided for troubleshoot.
 12548  type TroubleshootingProperties struct {
 12549  	// REQUIRED; The ID for the storage account to save the troubleshoot result.
 12550  	StorageID *string
 12551  
 12552  	// REQUIRED; The path to the blob to save the troubleshoot result in.
 12553  	StoragePath *string
 12554  }
 12555  
 12556  // TroubleshootingRecommendedActions - Recommended actions based on discovered issues.
 12557  type TroubleshootingRecommendedActions struct {
 12558  	// ID of the recommended action.
 12559  	ActionID *string
 12560  
 12561  	// Description of recommended actions.
 12562  	ActionText *string
 12563  
 12564  	// The uri linking to a documentation for the recommended troubleshooting actions.
 12565  	ActionURI *string
 12566  
 12567  	// The information from the URI for the recommended troubleshooting actions.
 12568  	ActionURIText *string
 12569  }
 12570  
 12571  // TroubleshootingResult - Troubleshooting information gained from specified resource.
 12572  type TroubleshootingResult struct {
 12573  	// The result code of the troubleshooting.
 12574  	Code *string
 12575  
 12576  	// The end time of the troubleshooting.
 12577  	EndTime *time.Time
 12578  
 12579  	// Information from troubleshooting.
 12580  	Results []*TroubleshootingDetails
 12581  
 12582  	// The start time of the troubleshooting.
 12583  	StartTime *time.Time
 12584  }
 12585  
 12586  // TunnelConnectionHealth - VirtualNetworkGatewayConnection properties.
 12587  type TunnelConnectionHealth struct {
 12588  	// READ-ONLY; Virtual Network Gateway connection status.
 12589  	ConnectionStatus *VirtualNetworkGatewayConnectionStatus
 12590  
 12591  	// READ-ONLY; The Egress Bytes Transferred in this connection.
 12592  	EgressBytesTransferred *int64
 12593  
 12594  	// READ-ONLY; The Ingress Bytes Transferred in this connection.
 12595  	IngressBytesTransferred *int64
 12596  
 12597  	// READ-ONLY; The time at which connection was established in Utc format.
 12598  	LastConnectionEstablishedUTCTime *string
 12599  
 12600  	// READ-ONLY; Tunnel name.
 12601  	Tunnel *string
 12602  }
 12603  
 12604  // UnprepareNetworkPoliciesRequest - Details of UnprepareNetworkPolicies for Subnet.
 12605  type UnprepareNetworkPoliciesRequest struct {
 12606  	// The name of the service for which subnet is being unprepared for.
 12607  	ServiceName *string
 12608  }
 12609  
 12610  // Usage - The network resource usage.
 12611  type Usage struct {
 12612  	// REQUIRED; The current value of the usage.
 12613  	CurrentValue *int64
 12614  
 12615  	// REQUIRED; The limit of usage.
 12616  	Limit *int64
 12617  
 12618  	// REQUIRED; The name of the type of usage.
 12619  	Name *UsageName
 12620  
 12621  	// REQUIRED; An enum describing the unit of measurement.
 12622  	Unit *UsageUnit
 12623  
 12624  	// READ-ONLY; Resource identifier.
 12625  	ID *string
 12626  }
 12627  
 12628  // UsageName - The usage names.
 12629  type UsageName struct {
 12630  	// A localized string describing the resource name.
 12631  	LocalizedValue *string
 12632  
 12633  	// A string describing the resource name.
 12634  	Value *string
 12635  }
 12636  
 12637  // UsagesListResult - The list usages operation response.
 12638  type UsagesListResult struct {
 12639  	// URL to get the next set of results.
 12640  	NextLink *string
 12641  
 12642  	// The list network resource usages.
 12643  	Value []*Usage
 12644  }
 12645  
 12646  // VM - Describes a Virtual Machine.
 12647  type VM struct {
 12648  	// Resource ID.
 12649  	ID *string
 12650  
 12651  	// Resource location.
 12652  	Location *string
 12653  
 12654  	// Resource tags.
 12655  	Tags map[string]*string
 12656  
 12657  	// READ-ONLY; Resource name.
 12658  	Name *string
 12659  
 12660  	// READ-ONLY; Resource type.
 12661  	Type *string
 12662  }
 12663  
 12664  // VPNClientConfiguration - VpnClientConfiguration for P2S client.
 12665  type VPNClientConfiguration struct {
 12666  	// The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication.
 12667  	AADAudience *string
 12668  
 12669  	// The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication.
 12670  	AADIssuer *string
 12671  
 12672  	// The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication.
 12673  	AADTenant *string
 12674  
 12675  	// The radius server address property of the VirtualNetworkGateway resource for vpn client connection.
 12676  	RadiusServerAddress *string
 12677  
 12678  	// The radius secret property of the VirtualNetworkGateway resource for vpn client connection.
 12679  	RadiusServerSecret *string
 12680  
 12681  	// The radiusServers property for multiple radius server configuration.
 12682  	RadiusServers []*RadiusServer
 12683  
 12684  	// VPN authentication types for the virtual network gateway..
 12685  	VPNAuthenticationTypes []*VPNAuthenticationType
 12686  
 12687  	// The reference to the address space resource which represents Address space for P2S VpnClient.
 12688  	VPNClientAddressPool *AddressSpace
 12689  
 12690  	// VpnClientIpsecPolicies for virtual network gateway P2S client.
 12691  	VPNClientIPSecPolicies []*IPSecPolicy
 12692  
 12693  	// VpnClientProtocols for Virtual network gateway.
 12694  	VPNClientProtocols []*VPNClientProtocol
 12695  
 12696  	// VpnClientRevokedCertificate for Virtual network gateway.
 12697  	VPNClientRevokedCertificates []*VPNClientRevokedCertificate
 12698  
 12699  	// VpnClientRootCertificate for virtual network gateway.
 12700  	VPNClientRootCertificates []*VPNClientRootCertificate
 12701  
 12702  	// per ip address pool connection policy for virtual network gateway P2S client.
 12703  	VngClientConnectionConfigurations []*VngClientConnectionConfiguration
 12704  }
 12705  
 12706  // VPNClientConnectionHealth - VpnClientConnectionHealth properties.
 12707  type VPNClientConnectionHealth struct {
 12708  	// List of allocated ip addresses to the connected p2s vpn clients.
 12709  	AllocatedIPAddresses []*string
 12710  
 12711  	// The total of p2s vpn clients connected at this time to this P2SVpnGateway.
 12712  	VPNClientConnectionsCount *int32
 12713  
 12714  	// READ-ONLY; Total of the Egress Bytes Transferred in this connection.
 12715  	TotalEgressBytesTransferred *int64
 12716  
 12717  	// READ-ONLY; Total of the Ingress Bytes Transferred in this P2S Vpn connection.
 12718  	TotalIngressBytesTransferred *int64
 12719  }
 12720  
 12721  // VPNClientConnectionHealthDetail - VPN client connection health detail.
 12722  type VPNClientConnectionHealthDetail struct {
 12723  	// READ-ONLY; The egress bytes per second.
 12724  	EgressBytesTransferred *int64
 12725  
 12726  	// READ-ONLY; The egress packets per second.
 12727  	EgressPacketsTransferred *int64
 12728  
 12729  	// READ-ONLY; The ingress bytes per second.
 12730  	IngressBytesTransferred *int64
 12731  
 12732  	// READ-ONLY; The ingress packets per second.
 12733  	IngressPacketsTransferred *int64
 12734  
 12735  	// READ-ONLY; The max band width.
 12736  	MaxBandwidth *int64
 12737  
 12738  	// READ-ONLY; The max packets transferred per second.
 12739  	MaxPacketsPerSecond *int64
 12740  
 12741  	// READ-ONLY; The assigned private Ip of a connected vpn client.
 12742  	PrivateIPAddress *string
 12743  
 12744  	// READ-ONLY; The public Ip of a connected vpn client.
 12745  	PublicIPAddress *string
 12746  
 12747  	// READ-ONLY; The duration time of a connected vpn client.
 12748  	VPNConnectionDuration *int64
 12749  
 12750  	// READ-ONLY; The vpn client Id.
 12751  	VPNConnectionID *string
 12752  
 12753  	// READ-ONLY; The start time of a connected vpn client.
 12754  	VPNConnectionTime *string
 12755  
 12756  	// READ-ONLY; The user name of a connected vpn client.
 12757  	VPNUserName *string
 12758  }
 12759  
 12760  // VPNClientConnectionHealthDetailListResult - List of virtual network gateway vpn client connection health.
 12761  type VPNClientConnectionHealthDetailListResult struct {
 12762  	// List of vpn client connection health.
 12763  	Value []*VPNClientConnectionHealthDetail
 12764  }
 12765  
 12766  // VPNClientIPsecParameters - An IPSec parameters for a virtual network gateway P2S connection.
 12767  type VPNClientIPsecParameters struct {
 12768  	// REQUIRED; The DH Group used in IKE Phase 1 for initial SA.
 12769  	DhGroup *DhGroup
 12770  
 12771  	// REQUIRED; The IPSec encryption algorithm (IKE phase 1).
 12772  	IPSecEncryption *IPSecEncryption
 12773  
 12774  	// REQUIRED; The IPSec integrity algorithm (IKE phase 1).
 12775  	IPSecIntegrity *IPSecIntegrity
 12776  
 12777  	// REQUIRED; The IKE encryption algorithm (IKE phase 2).
 12778  	IkeEncryption *IkeEncryption
 12779  
 12780  	// REQUIRED; The IKE integrity algorithm (IKE phase 2).
 12781  	IkeIntegrity *IkeIntegrity
 12782  
 12783  	// REQUIRED; The Pfs Group used in IKE Phase 2 for new child SA.
 12784  	PfsGroup *PfsGroup
 12785  
 12786  	// REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client..
 12787  	SaDataSizeKilobytes *int32
 12788  
 12789  	// REQUIRED; The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client.
 12790  	SaLifeTimeSeconds *int32
 12791  }
 12792  
 12793  // VPNClientParameters - Vpn Client Parameters for package generation.
 12794  type VPNClientParameters struct {
 12795  	// VPN client authentication method.
 12796  	AuthenticationMethod *AuthenticationMethod
 12797  
 12798  	// A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external
 12799  	// radius based authentication with EAPTLS.
 12800  	ClientRootCertificates []*string
 12801  
 12802  	// VPN client Processor Architecture.
 12803  	ProcessorArchitecture *ProcessorArchitecture
 12804  
 12805  	// The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only
 12806  	// if external radius authentication has been configured with EAPTLS
 12807  	// authentication.
 12808  	RadiusServerAuthCertificate *string
 12809  }
 12810  
 12811  // VPNClientRevokedCertificate - VPN client revoked certificate of virtual network gateway.
 12812  type VPNClientRevokedCertificate struct {
 12813  	// Resource ID.
 12814  	ID *string
 12815  
 12816  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 12817  	Name *string
 12818  
 12819  	// Properties of the vpn client revoked certificate.
 12820  	Properties *VPNClientRevokedCertificatePropertiesFormat
 12821  
 12822  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 12823  	Etag *string
 12824  }
 12825  
 12826  // VPNClientRevokedCertificatePropertiesFormat - Properties of the revoked VPN client certificate of virtual network gateway.
 12827  type VPNClientRevokedCertificatePropertiesFormat struct {
 12828  	// The revoked VPN client certificate thumbprint.
 12829  	Thumbprint *string
 12830  
 12831  	// READ-ONLY; The provisioning state of the VPN client revoked certificate resource.
 12832  	ProvisioningState *ProvisioningState
 12833  }
 12834  
 12835  // VPNClientRootCertificate - VPN client root certificate of virtual network gateway.
 12836  type VPNClientRootCertificate struct {
 12837  	// REQUIRED; Properties of the vpn client root certificate.
 12838  	Properties *VPNClientRootCertificatePropertiesFormat
 12839  
 12840  	// Resource ID.
 12841  	ID *string
 12842  
 12843  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 12844  	Name *string
 12845  
 12846  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 12847  	Etag *string
 12848  }
 12849  
 12850  // VPNClientRootCertificatePropertiesFormat - Properties of SSL certificates of application gateway.
 12851  type VPNClientRootCertificatePropertiesFormat struct {
 12852  	// REQUIRED; The certificate public data.
 12853  	PublicCertData *string
 12854  
 12855  	// READ-ONLY; The provisioning state of the VPN client root certificate resource.
 12856  	ProvisioningState *ProvisioningState
 12857  }
 12858  
 12859  // VPNConnection - VpnConnection Resource.
 12860  type VPNConnection struct {
 12861  	// Resource ID.
 12862  	ID *string
 12863  
 12864  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 12865  	Name *string
 12866  
 12867  	// Properties of the VPN connection.
 12868  	Properties *VPNConnectionProperties
 12869  
 12870  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 12871  	Etag *string
 12872  }
 12873  
 12874  // VPNConnectionPacketCaptureStartParameters - Vpn Connection packet capture parameters supplied to start packet capture on
 12875  // gateway connection.
 12876  type VPNConnectionPacketCaptureStartParameters struct {
 12877  	// Start Packet capture parameters on vpn connection.
 12878  	FilterData *string
 12879  
 12880  	// List of site link connection names.
 12881  	LinkConnectionNames []*string
 12882  }
 12883  
 12884  // VPNConnectionPacketCaptureStopParameters - Vpn Connection packet capture parameters supplied to stop packet capture on
 12885  // gateway connection.
 12886  type VPNConnectionPacketCaptureStopParameters struct {
 12887  	// List of site link connection names.
 12888  	LinkConnectionNames []*string
 12889  
 12890  	// SAS url for packet capture on vpn connection.
 12891  	SasURL *string
 12892  }
 12893  
 12894  // VPNConnectionProperties - Parameters for VpnConnection.
 12895  type VPNConnectionProperties struct {
 12896  	// Expected bandwidth in MBPS.
 12897  	ConnectionBandwidth *int32
 12898  
 12899  	// DPD timeout in seconds for vpn connection.
 12900  	DpdTimeoutSeconds *int32
 12901  
 12902  	// EnableBgp flag.
 12903  	EnableBgp *bool
 12904  
 12905  	// Enable internet security.
 12906  	EnableInternetSecurity *bool
 12907  
 12908  	// EnableBgp flag.
 12909  	EnableRateLimiting *bool
 12910  
 12911  	// The IPSec Policies to be considered by this connection.
 12912  	IPSecPolicies []*IPSecPolicy
 12913  
 12914  	// Id of the connected vpn site.
 12915  	RemoteVPNSite *SubResource
 12916  
 12917  	// The Routing Configuration indicating the associated and propagated route tables on this connection.
 12918  	RoutingConfiguration *RoutingConfiguration
 12919  
 12920  	// Routing weight for vpn connection.
 12921  	RoutingWeight *int32
 12922  
 12923  	// SharedKey for the vpn connection.
 12924  	SharedKey *string
 12925  
 12926  	// The Traffic Selector Policies to be considered by this connection.
 12927  	TrafficSelectorPolicies []*TrafficSelectorPolicy
 12928  
 12929  	// Use local azure ip to initiate connection.
 12930  	UseLocalAzureIPAddress *bool
 12931  
 12932  	// Enable policy-based traffic selectors.
 12933  	UsePolicyBasedTrafficSelectors *bool
 12934  
 12935  	// Connection protocol used for this connection.
 12936  	VPNConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol
 12937  
 12938  	// List of all vpn site link connections to the gateway.
 12939  	VPNLinkConnections []*VPNSiteLinkConnection
 12940  
 12941  	// READ-ONLY; The connection status.
 12942  	ConnectionStatus *VPNConnectionStatus
 12943  
 12944  	// READ-ONLY; Egress bytes transferred.
 12945  	EgressBytesTransferred *int64
 12946  
 12947  	// READ-ONLY; Ingress bytes transferred.
 12948  	IngressBytesTransferred *int64
 12949  
 12950  	// READ-ONLY; The provisioning state of the VPN connection resource.
 12951  	ProvisioningState *ProvisioningState
 12952  }
 12953  
 12954  // VPNDeviceScriptParameters - Vpn device configuration script generation parameters.
 12955  type VPNDeviceScriptParameters struct {
 12956  	// The device family for the vpn device.
 12957  	DeviceFamily *string
 12958  
 12959  	// The firmware version for the vpn device.
 12960  	FirmwareVersion *string
 12961  
 12962  	// The vendor for the vpn device.
 12963  	Vendor *string
 12964  }
 12965  
 12966  // VPNGateway - VpnGateway Resource.
 12967  type VPNGateway struct {
 12968  	// Resource ID.
 12969  	ID *string
 12970  
 12971  	// Resource location.
 12972  	Location *string
 12973  
 12974  	// Properties of the VPN gateway.
 12975  	Properties *VPNGatewayProperties
 12976  
 12977  	// Resource tags.
 12978  	Tags map[string]*string
 12979  
 12980  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 12981  	Etag *string
 12982  
 12983  	// READ-ONLY; Resource name.
 12984  	Name *string
 12985  
 12986  	// READ-ONLY; Resource type.
 12987  	Type *string
 12988  }
 12989  
 12990  // VPNGatewayIPConfiguration - IP Configuration of a VPN Gateway Resource.
 12991  type VPNGatewayIPConfiguration struct {
 12992  	// The identifier of the IP configuration for a VPN Gateway.
 12993  	ID *string
 12994  
 12995  	// The private IP address of this IP configuration.
 12996  	PrivateIPAddress *string
 12997  
 12998  	// The public IP address of this IP configuration.
 12999  	PublicIPAddress *string
 13000  }
 13001  
 13002  // VPNGatewayNatRule - VpnGatewayNatRule Resource.
 13003  type VPNGatewayNatRule struct {
 13004  	// Resource ID.
 13005  	ID *string
 13006  
 13007  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 13008  	Name *string
 13009  
 13010  	// Properties of the VpnGateway NAT rule.
 13011  	Properties *VPNGatewayNatRuleProperties
 13012  
 13013  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13014  	Etag *string
 13015  
 13016  	// READ-ONLY; Resource type.
 13017  	Type *string
 13018  }
 13019  
 13020  // VPNGatewayNatRuleProperties - Parameters for VpnGatewayNatRule.
 13021  type VPNGatewayNatRuleProperties struct {
 13022  	// The private IP address external mapping for NAT.
 13023  	ExternalMappings []*VPNNatRuleMapping
 13024  
 13025  	// The IP Configuration ID this NAT rule applies to.
 13026  	IPConfigurationID *string
 13027  
 13028  	// The private IP address internal mapping for NAT.
 13029  	InternalMappings []*VPNNatRuleMapping
 13030  
 13031  	// The Source NAT direction of a VPN NAT.
 13032  	Mode *VPNNatRuleMode
 13033  
 13034  	// The type of NAT rule for VPN NAT.
 13035  	Type *VPNNatRuleType
 13036  
 13037  	// READ-ONLY; List of egress VpnSiteLinkConnections.
 13038  	EgressVPNSiteLinkConnections []*SubResource
 13039  
 13040  	// READ-ONLY; List of ingress VpnSiteLinkConnections.
 13041  	IngressVPNSiteLinkConnections []*SubResource
 13042  
 13043  	// READ-ONLY; The provisioning state of the NAT Rule resource.
 13044  	ProvisioningState *ProvisioningState
 13045  }
 13046  
 13047  // VPNGatewayPacketCaptureStartParameters - Start packet capture parameters.
 13048  type VPNGatewayPacketCaptureStartParameters struct {
 13049  	// Start Packet capture parameters on vpn gateway.
 13050  	FilterData *string
 13051  }
 13052  
 13053  // VPNGatewayPacketCaptureStopParameters - Stop packet capture parameters.
 13054  type VPNGatewayPacketCaptureStopParameters struct {
 13055  	// SAS url for packet capture on vpn gateway.
 13056  	SasURL *string
 13057  }
 13058  
 13059  // VPNGatewayProperties - Parameters for VpnGateway.
 13060  type VPNGatewayProperties struct {
 13061  	// Local network gateway's BGP speaker settings.
 13062  	BgpSettings *BgpSettings
 13063  
 13064  	// List of all vpn connections to the gateway.
 13065  	Connections []*VPNConnection
 13066  
 13067  	// Enable BGP routes translation for NAT on this VpnGateway.
 13068  	EnableBgpRouteTranslationForNat *bool
 13069  
 13070  	// Enable Routing Preference property for the Public IP Interface of the VpnGateway.
 13071  	IsRoutingPreferenceInternet *bool
 13072  
 13073  	// List of all the nat Rules associated with the gateway.
 13074  	NatRules []*VPNGatewayNatRule
 13075  
 13076  	// The scale unit for this vpn gateway.
 13077  	VPNGatewayScaleUnit *int32
 13078  
 13079  	// The VirtualHub to which the gateway belongs.
 13080  	VirtualHub *SubResource
 13081  
 13082  	// READ-ONLY; List of all IPs configured on the gateway.
 13083  	IPConfigurations []*VPNGatewayIPConfiguration
 13084  
 13085  	// READ-ONLY; The provisioning state of the VPN gateway resource.
 13086  	ProvisioningState *ProvisioningState
 13087  }
 13088  
 13089  // VPNLinkBgpSettings - BGP settings details for a link.
 13090  type VPNLinkBgpSettings struct {
 13091  	// The BGP speaker's ASN.
 13092  	Asn *int64
 13093  
 13094  	// The BGP peering address and BGP identifier of this BGP speaker.
 13095  	BgpPeeringAddress *string
 13096  }
 13097  
 13098  // VPNLinkProviderProperties - List of properties of a link provider.
 13099  type VPNLinkProviderProperties struct {
 13100  	// Name of the link provider.
 13101  	LinkProviderName *string
 13102  
 13103  	// Link speed.
 13104  	LinkSpeedInMbps *int32
 13105  }
 13106  
 13107  // VPNNatRuleMapping - Vpn NatRule mapping.
 13108  type VPNNatRuleMapping struct {
 13109  	// Address space for Vpn NatRule mapping.
 13110  	AddressSpace *string
 13111  
 13112  	// Port range for Vpn NatRule mapping.
 13113  	PortRange *string
 13114  }
 13115  
 13116  // VPNPacketCaptureStartParameters - Start packet capture parameters on virtual network gateway.
 13117  type VPNPacketCaptureStartParameters struct {
 13118  	// Start Packet capture parameters.
 13119  	FilterData *string
 13120  }
 13121  
 13122  // VPNPacketCaptureStopParameters - Stop packet capture parameters.
 13123  type VPNPacketCaptureStopParameters struct {
 13124  	// SAS url for packet capture on virtual network gateway.
 13125  	SasURL *string
 13126  }
 13127  
 13128  // VPNProfileResponse - Vpn Profile Response for package generation.
 13129  type VPNProfileResponse struct {
 13130  	// URL to the VPN profile.
 13131  	ProfileURL *string
 13132  }
 13133  
 13134  // VPNServerConfigRadiusClientRootCertificate - Properties of the Radius client root certificate of VpnServerConfiguration.
 13135  type VPNServerConfigRadiusClientRootCertificate struct {
 13136  	// The certificate name.
 13137  	Name *string
 13138  
 13139  	// The Radius client root certificate thumbprint.
 13140  	Thumbprint *string
 13141  }
 13142  
 13143  // VPNServerConfigRadiusServerRootCertificate - Properties of Radius Server root certificate of VpnServerConfiguration.
 13144  type VPNServerConfigRadiusServerRootCertificate struct {
 13145  	// The certificate name.
 13146  	Name *string
 13147  
 13148  	// The certificate public data.
 13149  	PublicCertData *string
 13150  }
 13151  
 13152  // VPNServerConfigVPNClientRevokedCertificate - Properties of the revoked VPN client certificate of VpnServerConfiguration.
 13153  type VPNServerConfigVPNClientRevokedCertificate struct {
 13154  	// The certificate name.
 13155  	Name *string
 13156  
 13157  	// The revoked VPN client certificate thumbprint.
 13158  	Thumbprint *string
 13159  }
 13160  
 13161  // VPNServerConfigVPNClientRootCertificate - Properties of VPN client root certificate of VpnServerConfiguration.
 13162  type VPNServerConfigVPNClientRootCertificate struct {
 13163  	// The certificate name.
 13164  	Name *string
 13165  
 13166  	// The certificate public data.
 13167  	PublicCertData *string
 13168  }
 13169  
 13170  // VPNServerConfiguration - VpnServerConfiguration Resource.
 13171  type VPNServerConfiguration struct {
 13172  	// Resource ID.
 13173  	ID *string
 13174  
 13175  	// Resource location.
 13176  	Location *string
 13177  
 13178  	// Properties of the P2SVpnServer configuration.
 13179  	Properties *VPNServerConfigurationProperties
 13180  
 13181  	// Resource tags.
 13182  	Tags map[string]*string
 13183  
 13184  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13185  	Etag *string
 13186  
 13187  	// READ-ONLY; Resource name.
 13188  	Name *string
 13189  
 13190  	// READ-ONLY; Resource type.
 13191  	Type *string
 13192  }
 13193  
 13194  // VPNServerConfigurationPolicyGroup - VpnServerConfigurationPolicyGroup Resource.
 13195  type VPNServerConfigurationPolicyGroup struct {
 13196  	// Resource ID.
 13197  	ID *string
 13198  
 13199  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 13200  	Name *string
 13201  
 13202  	// Properties of the VpnServerConfigurationPolicyGroup.
 13203  	Properties *VPNServerConfigurationPolicyGroupProperties
 13204  
 13205  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13206  	Etag *string
 13207  
 13208  	// READ-ONLY; Resource type.
 13209  	Type *string
 13210  }
 13211  
 13212  // VPNServerConfigurationPolicyGroupMember - VpnServerConfiguration PolicyGroup member
 13213  type VPNServerConfigurationPolicyGroupMember struct {
 13214  	// The Vpn Policy member attribute type.
 13215  	AttributeType *VPNPolicyMemberAttributeType
 13216  
 13217  	// The value of Attribute used for this VpnServerConfigurationPolicyGroupMember.
 13218  	AttributeValue *string
 13219  
 13220  	// Name of the VpnServerConfigurationPolicyGroupMember.
 13221  	Name *string
 13222  }
 13223  
 13224  // VPNServerConfigurationPolicyGroupProperties - Parameters for VpnServerConfigurationPolicyGroup.
 13225  type VPNServerConfigurationPolicyGroupProperties struct {
 13226  	// Shows if this is a Default VpnServerConfigurationPolicyGroup or not.
 13227  	IsDefault *bool
 13228  
 13229  	// Multiple PolicyMembers for VpnServerConfigurationPolicyGroup.
 13230  	PolicyMembers []*VPNServerConfigurationPolicyGroupMember
 13231  
 13232  	// Priority for VpnServerConfigurationPolicyGroup.
 13233  	Priority *int32
 13234  
 13235  	// READ-ONLY; List of references to P2SConnectionConfigurations.
 13236  	P2SConnectionConfigurations []*SubResource
 13237  
 13238  	// READ-ONLY; The provisioning state of the VpnServerConfigurationPolicyGroup resource.
 13239  	ProvisioningState *ProvisioningState
 13240  }
 13241  
 13242  // VPNServerConfigurationProperties - Parameters for VpnServerConfiguration.
 13243  type VPNServerConfigurationProperties struct {
 13244  	// The set of aad vpn authentication parameters.
 13245  	AADAuthenticationParameters *AADAuthenticationParameters
 13246  
 13247  	// List of all VpnServerConfigurationPolicyGroups.
 13248  	ConfigurationPolicyGroups []*VPNServerConfigurationPolicyGroup
 13249  
 13250  	// The name of the VpnServerConfiguration that is unique within a resource group.
 13251  	Name *string
 13252  
 13253  	// Radius client root certificate of VpnServerConfiguration.
 13254  	RadiusClientRootCertificates []*VPNServerConfigRadiusClientRootCertificate
 13255  
 13256  	// The radius server address property of the VpnServerConfiguration resource for point to site client connection.
 13257  	RadiusServerAddress *string
 13258  
 13259  	// Radius Server root certificate of VpnServerConfiguration.
 13260  	RadiusServerRootCertificates []*VPNServerConfigRadiusServerRootCertificate
 13261  
 13262  	// The radius secret property of the VpnServerConfiguration resource for point to site client connection.
 13263  	RadiusServerSecret *string
 13264  
 13265  	// Multiple Radius Server configuration for VpnServerConfiguration.
 13266  	RadiusServers []*RadiusServer
 13267  
 13268  	// VPN authentication types for the VpnServerConfiguration.
 13269  	VPNAuthenticationTypes []*VPNAuthenticationType
 13270  
 13271  	// VpnClientIpsecPolicies for VpnServerConfiguration.
 13272  	VPNClientIPSecPolicies []*IPSecPolicy
 13273  
 13274  	// VPN client revoked certificate of VpnServerConfiguration.
 13275  	VPNClientRevokedCertificates []*VPNServerConfigVPNClientRevokedCertificate
 13276  
 13277  	// VPN client root certificate of VpnServerConfiguration.
 13278  	VPNClientRootCertificates []*VPNServerConfigVPNClientRootCertificate
 13279  
 13280  	// VPN protocols for the VpnServerConfiguration.
 13281  	VPNProtocols []*VPNGatewayTunnelingProtocol
 13282  
 13283  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13284  	Etag *string
 13285  
 13286  	// READ-ONLY; List of references to P2SVpnGateways.
 13287  	P2SVPNGateways []*P2SVPNGateway
 13288  
 13289  	// READ-ONLY; The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting',
 13290  	// and 'Failed'.
 13291  	ProvisioningState *string
 13292  }
 13293  
 13294  // VPNServerConfigurationsResponse - VpnServerConfigurations list associated with VirtualWan Response.
 13295  type VPNServerConfigurationsResponse struct {
 13296  	// List of VpnServerConfigurations associated with VirtualWan.
 13297  	VPNServerConfigurationResourceIDs []*string
 13298  }
 13299  
 13300  // VPNSite - VpnSite Resource.
 13301  type VPNSite struct {
 13302  	// Resource ID.
 13303  	ID *string
 13304  
 13305  	// Resource location.
 13306  	Location *string
 13307  
 13308  	// Properties of the VPN site.
 13309  	Properties *VPNSiteProperties
 13310  
 13311  	// Resource tags.
 13312  	Tags map[string]*string
 13313  
 13314  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13315  	Etag *string
 13316  
 13317  	// READ-ONLY; Resource name.
 13318  	Name *string
 13319  
 13320  	// READ-ONLY; Resource type.
 13321  	Type *string
 13322  }
 13323  
 13324  // VPNSiteID - VpnSite Resource.
 13325  type VPNSiteID struct {
 13326  	// READ-ONLY; The resource-uri of the vpn-site for which config is to be fetched.
 13327  	VPNSite *string
 13328  }
 13329  
 13330  // VPNSiteLink - VpnSiteLink Resource.
 13331  type VPNSiteLink struct {
 13332  	// Resource ID.
 13333  	ID *string
 13334  
 13335  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 13336  	Name *string
 13337  
 13338  	// Properties of the VPN site link.
 13339  	Properties *VPNSiteLinkProperties
 13340  
 13341  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13342  	Etag *string
 13343  
 13344  	// READ-ONLY; Resource type.
 13345  	Type *string
 13346  }
 13347  
 13348  // VPNSiteLinkConnection - VpnSiteLinkConnection Resource.
 13349  type VPNSiteLinkConnection struct {
 13350  	// Resource ID.
 13351  	ID *string
 13352  
 13353  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 13354  	Name *string
 13355  
 13356  	// Properties of the VPN site link connection.
 13357  	Properties *VPNSiteLinkConnectionProperties
 13358  
 13359  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13360  	Etag *string
 13361  
 13362  	// READ-ONLY; Resource type.
 13363  	Type *string
 13364  }
 13365  
 13366  // VPNSiteLinkConnectionProperties - Parameters for VpnConnection.
 13367  type VPNSiteLinkConnectionProperties struct {
 13368  	// Expected bandwidth in MBPS.
 13369  	ConnectionBandwidth *int32
 13370  
 13371  	// Dead Peer Detection timeout in seconds for VpnLink connection.
 13372  	DpdTimeoutSeconds *int32
 13373  
 13374  	// List of egress NatRules.
 13375  	EgressNatRules []*SubResource
 13376  
 13377  	// EnableBgp flag.
 13378  	EnableBgp *bool
 13379  
 13380  	// EnableBgp flag.
 13381  	EnableRateLimiting *bool
 13382  
 13383  	// The IPSec Policies to be considered by this connection.
 13384  	IPSecPolicies []*IPSecPolicy
 13385  
 13386  	// List of ingress NatRules.
 13387  	IngressNatRules []*SubResource
 13388  
 13389  	// Routing weight for vpn connection.
 13390  	RoutingWeight *int32
 13391  
 13392  	// SharedKey for the vpn connection.
 13393  	SharedKey *string
 13394  
 13395  	// Use local azure ip to initiate connection.
 13396  	UseLocalAzureIPAddress *bool
 13397  
 13398  	// Enable policy-based traffic selectors.
 13399  	UsePolicyBasedTrafficSelectors *bool
 13400  
 13401  	// Connection protocol used for this connection.
 13402  	VPNConnectionProtocolType *VirtualNetworkGatewayConnectionProtocol
 13403  
 13404  	// vpnGatewayCustomBgpAddresses used by this connection.
 13405  	VPNGatewayCustomBgpAddresses []*GatewayCustomBgpIPAddressIPConfiguration
 13406  
 13407  	// Vpn link connection mode.
 13408  	VPNLinkConnectionMode *VPNLinkConnectionMode
 13409  
 13410  	// Id of the connected vpn site link.
 13411  	VPNSiteLink *SubResource
 13412  
 13413  	// READ-ONLY; The connection status.
 13414  	ConnectionStatus *VPNConnectionStatus
 13415  
 13416  	// READ-ONLY; Egress bytes transferred.
 13417  	EgressBytesTransferred *int64
 13418  
 13419  	// READ-ONLY; Ingress bytes transferred.
 13420  	IngressBytesTransferred *int64
 13421  
 13422  	// READ-ONLY; The provisioning state of the VPN site link connection resource.
 13423  	ProvisioningState *ProvisioningState
 13424  }
 13425  
 13426  // VPNSiteLinkProperties - Parameters for VpnSite.
 13427  type VPNSiteLinkProperties struct {
 13428  	// The set of bgp properties.
 13429  	BgpProperties *VPNLinkBgpSettings
 13430  
 13431  	// FQDN of vpn-site-link.
 13432  	Fqdn *string
 13433  
 13434  	// The ip-address for the vpn-site-link.
 13435  	IPAddress *string
 13436  
 13437  	// The link provider properties.
 13438  	LinkProperties *VPNLinkProviderProperties
 13439  
 13440  	// READ-ONLY; The provisioning state of the VPN site link resource.
 13441  	ProvisioningState *ProvisioningState
 13442  }
 13443  
 13444  // VPNSiteProperties - Parameters for VpnSite.
 13445  type VPNSiteProperties struct {
 13446  	// The AddressSpace that contains an array of IP address ranges.
 13447  	AddressSpace *AddressSpace
 13448  
 13449  	// The set of bgp properties.
 13450  	BgpProperties *BgpSettings
 13451  
 13452  	// The device properties.
 13453  	DeviceProperties *DeviceProperties
 13454  
 13455  	// The ip-address for the vpn-site.
 13456  	IPAddress *string
 13457  
 13458  	// IsSecuritySite flag.
 13459  	IsSecuritySite *bool
 13460  
 13461  	// Office365 Policy.
 13462  	O365Policy *O365PolicyProperties
 13463  
 13464  	// The key for vpn-site that can be used for connections.
 13465  	SiteKey *string
 13466  
 13467  	// List of all vpn site links.
 13468  	VPNSiteLinks []*VPNSiteLink
 13469  
 13470  	// The VirtualWAN to which the vpnSite belongs.
 13471  	VirtualWan *SubResource
 13472  
 13473  	// READ-ONLY; The provisioning state of the VPN site resource.
 13474  	ProvisioningState *ProvisioningState
 13475  }
 13476  
 13477  // VerificationIPFlowParameters - Parameters that define the IP flow to be verified.
 13478  type VerificationIPFlowParameters struct {
 13479  	// REQUIRED; The direction of the packet represented as a 5-tuple.
 13480  	Direction *Direction
 13481  
 13482  	// REQUIRED; The local IP address. Acceptable values are valid IPv4 addresses.
 13483  	LocalIPAddress *string
 13484  
 13485  	// REQUIRED; The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port,
 13486  	// which depends on the direction.
 13487  	LocalPort *string
 13488  
 13489  	// REQUIRED; Protocol to be verified on.
 13490  	Protocol *IPFlowProtocol
 13491  
 13492  	// REQUIRED; The remote IP address. Acceptable values are valid IPv4 addresses.
 13493  	RemoteIPAddress *string
 13494  
 13495  	// REQUIRED; The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source
 13496  	// port, which depends on the direction.
 13497  	RemotePort *string
 13498  
 13499  	// REQUIRED; The ID of the target resource to perform next-hop on.
 13500  	TargetResourceID *string
 13501  
 13502  	// The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified.
 13503  	// Otherwise optional).
 13504  	TargetNicResourceID *string
 13505  }
 13506  
 13507  // VerificationIPFlowResult - Results of IP flow verification on the target resource.
 13508  type VerificationIPFlowResult struct {
 13509  	// Indicates whether the traffic is allowed or denied.
 13510  	Access *Access
 13511  
 13512  	// Name of the rule. If input is not matched against any security rule, it is not displayed.
 13513  	RuleName *string
 13514  }
 13515  
 13516  // VerifierWorkspace - Instance of Verifier Workspace.
 13517  type VerifierWorkspace struct {
 13518  	// REQUIRED; The geo-location where the resource lives
 13519  	Location *string
 13520  
 13521  	// Properties of Verifier Workspace resource.
 13522  	Properties *VerifierWorkspaceProperties
 13523  
 13524  	// Resource tags.
 13525  	Tags map[string]*string
 13526  
 13527  	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
 13528  	ID *string
 13529  
 13530  	// READ-ONLY; The name of the resource
 13531  	Name *string
 13532  
 13533  	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
 13534  	SystemData *SystemData
 13535  
 13536  	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 13537  	Type *string
 13538  }
 13539  
 13540  // VerifierWorkspaceListResult - A list of Verifier Workspace
 13541  type VerifierWorkspaceListResult struct {
 13542  	// Gets the URL to get the next page of results.
 13543  	NextLink *string
 13544  
 13545  	// Gets a page of Verifier Workspaces.
 13546  	Value []*VerifierWorkspace
 13547  }
 13548  
 13549  // VerifierWorkspaceProperties - Properties of Verifier Workspace resource.
 13550  type VerifierWorkspaceProperties struct {
 13551  	Description *string
 13552  
 13553  	// Provisioning states of a resource.
 13554  	ProvisioningState *ProvisioningState
 13555  }
 13556  
 13557  // VerifierWorkspaceUpdate - Represents the VerifierWorkspace update API request interface.
 13558  type VerifierWorkspaceUpdate struct {
 13559  	// Represents the VerifierWorkspace update properties.
 13560  	Properties *VerifierWorkspaceUpdateProperties
 13561  
 13562  	// Dictionary of
 13563  	Tags map[string]*string
 13564  }
 13565  
 13566  // VerifierWorkspaceUpdateProperties - Represents the VerifierWorkspace update properties.
 13567  type VerifierWorkspaceUpdateProperties struct {
 13568  	Description *string
 13569  }
 13570  
 13571  // VirtualAppliance - NetworkVirtualAppliance Resource.
 13572  type VirtualAppliance struct {
 13573  	// Resource ID.
 13574  	ID *string
 13575  
 13576  	// The service principal that has read access to cloud-init and config blob.
 13577  	Identity *ManagedServiceIdentity
 13578  
 13579  	// Resource location.
 13580  	Location *string
 13581  
 13582  	// Properties of the Network Virtual Appliance.
 13583  	Properties *VirtualAppliancePropertiesFormat
 13584  
 13585  	// Resource tags.
 13586  	Tags map[string]*string
 13587  
 13588  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13589  	Etag *string
 13590  
 13591  	// READ-ONLY; Resource name.
 13592  	Name *string
 13593  
 13594  	// READ-ONLY; Resource type.
 13595  	Type *string
 13596  }
 13597  
 13598  // VirtualApplianceAdditionalNicProperties - Network Virtual Appliance Additional NIC properties.
 13599  type VirtualApplianceAdditionalNicProperties struct {
 13600  	// Flag (true or false) for Intent for Public Ip on additional nic
 13601  	HasPublicIP *bool
 13602  
 13603  	// Name of additional nic
 13604  	Name *string
 13605  }
 13606  
 13607  // VirtualApplianceConnection - NetworkVirtualApplianceConnection resource.
 13608  type VirtualApplianceConnection struct {
 13609  	// Resource ID.
 13610  	ID *string
 13611  
 13612  	// The name of the resource.
 13613  	Name *string
 13614  
 13615  	// Properties of the express route connection.
 13616  	Properties *VirtualApplianceConnectionProperties
 13617  }
 13618  
 13619  // VirtualApplianceConnectionList - NetworkVirtualApplianceConnection list.
 13620  type VirtualApplianceConnectionList struct {
 13621  	// URL to get the next set of results.
 13622  	NextLink *string
 13623  
 13624  	// The list of NetworkVirtualAppliance connections.
 13625  	Value []*VirtualApplianceConnection
 13626  }
 13627  
 13628  // VirtualApplianceConnectionProperties - Properties of the NetworkVirtualApplianceConnection subresource.
 13629  type VirtualApplianceConnectionProperties struct {
 13630  	// Network Virtual Appliance ASN.
 13631  	Asn *int64
 13632  
 13633  	// List of bgpPeerAddresses for the NVA instances
 13634  	BgpPeerAddress []*string
 13635  
 13636  	// Enable internet security.
 13637  	EnableInternetSecurity *bool
 13638  
 13639  	// The name of the resource.
 13640  	Name *string
 13641  
 13642  	// The Routing Configuration indicating the associated and propagated route tables on this connection.
 13643  	RoutingConfiguration *RoutingConfiguration
 13644  
 13645  	// Unique identifier for the connection.
 13646  	TunnelIdentifier *int64
 13647  
 13648  	// READ-ONLY; The provisioning state of the NetworkVirtualApplianceConnection resource.
 13649  	ProvisioningState *ProvisioningState
 13650  }
 13651  
 13652  // VirtualApplianceIPConfiguration - Represents a single IP configuration.
 13653  type VirtualApplianceIPConfiguration struct {
 13654  	// Name of the IP configuration.
 13655  	Name *string
 13656  
 13657  	// Represents a single IP configuration properties.
 13658  	Properties *VirtualApplianceIPConfigurationProperties
 13659  }
 13660  
 13661  // VirtualApplianceIPConfigurationProperties - Represents a single IP configuration properties.
 13662  type VirtualApplianceIPConfigurationProperties struct {
 13663  	// Whether or not this is primary IP configuration of the NIC.
 13664  	Primary *bool
 13665  }
 13666  
 13667  // VirtualApplianceInstanceIDs - Specifies a list of virtual machine instance IDs from the Network Virtual Appliance VM instances.
 13668  type VirtualApplianceInstanceIDs struct {
 13669  	// The network virtual appliance instance ids. Omitting the network virtual appliance instance ids will result in the operation
 13670  	// being performed on all virtual machines belonging to the network virtual
 13671  	// appliance.
 13672  	InstanceIDs []*string
 13673  }
 13674  
 13675  // VirtualApplianceListResult - Response for ListNetworkVirtualAppliances API service call.
 13676  type VirtualApplianceListResult struct {
 13677  	// URL to get the next set of results.
 13678  	NextLink *string
 13679  
 13680  	// List of Network Virtual Appliances.
 13681  	Value []*VirtualAppliance
 13682  }
 13683  
 13684  // VirtualApplianceNetworkInterfaceConfiguration - Represents a single NIC configuration.
 13685  type VirtualApplianceNetworkInterfaceConfiguration struct {
 13686  	// NIC type. This should be either PublicNic or PrivateNic.
 13687  	NicType *NicTypeInRequest
 13688  
 13689  	// Represents a single NIC configuration properties.
 13690  	Properties *VirtualApplianceNetworkInterfaceConfigurationProperties
 13691  }
 13692  
 13693  // VirtualApplianceNetworkInterfaceConfigurationProperties - Represents a single NIC configuration properties.
 13694  type VirtualApplianceNetworkInterfaceConfigurationProperties struct {
 13695  	IPConfigurations []*VirtualApplianceIPConfiguration
 13696  }
 13697  
 13698  // VirtualApplianceNicProperties - Network Virtual Appliance NIC properties.
 13699  type VirtualApplianceNicProperties struct {
 13700  	// READ-ONLY; Instance on which nic is attached.
 13701  	InstanceName *string
 13702  
 13703  	// READ-ONLY; NIC name.
 13704  	Name *string
 13705  
 13706  	// READ-ONLY; NIC type - PublicNic, PrivateNic, or AdditionalNic.
 13707  	NicType *NicTypeInResponse
 13708  
 13709  	// READ-ONLY; Private IP address.
 13710  	PrivateIPAddress *string
 13711  
 13712  	// READ-ONLY; Public IP address.
 13713  	PublicIPAddress *string
 13714  }
 13715  
 13716  // VirtualAppliancePropertiesFormat - Network Virtual Appliance definition.
 13717  type VirtualAppliancePropertiesFormat struct {
 13718  	// Details required for Additional Network Interface.
 13719  	AdditionalNics []*VirtualApplianceAdditionalNicProperties
 13720  
 13721  	// BootStrapConfigurationBlobs storage URLs.
 13722  	BootStrapConfigurationBlobs []*string
 13723  
 13724  	// CloudInitConfiguration string in plain text.
 13725  	CloudInitConfiguration *string
 13726  
 13727  	// CloudInitConfigurationBlob storage URLs.
 13728  	CloudInitConfigurationBlobs []*string
 13729  
 13730  	// The delegation for the Virtual Appliance
 13731  	Delegation *DelegationProperties
 13732  
 13733  	// List of Resource Uri of Public IPs for Internet Ingress Scenario.
 13734  	InternetIngressPublicIPs []*InternetIngressPublicIPsProperties
 13735  
 13736  	// Network Profile containing configurations for Public and Private NIC.
 13737  	NetworkProfile *VirtualAppliancePropertiesFormatNetworkProfile
 13738  
 13739  	// Network Virtual Appliance SKU.
 13740  	NvaSKU *VirtualApplianceSKUProperties
 13741  
 13742  	// The delegation for the Virtual Appliance
 13743  	PartnerManagedResource *PartnerManagedResourceProperties
 13744  
 13745  	// Public key for SSH login.
 13746  	SSHPublicKey *string
 13747  
 13748  	// VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported.
 13749  	VirtualApplianceAsn *int64
 13750  
 13751  	// The Virtual Hub where Network Virtual Appliance is being deployed.
 13752  	VirtualHub *SubResource
 13753  
 13754  	// READ-ONLY; Address Prefix.
 13755  	AddressPrefix *string
 13756  
 13757  	// READ-ONLY; The deployment type. PartnerManaged for the SaaS NVA
 13758  	DeploymentType *string
 13759  
 13760  	// READ-ONLY; List of references to InboundSecurityRules.
 13761  	InboundSecurityRules []*SubResource
 13762  
 13763  	// READ-ONLY; The provisioning state of the resource.
 13764  	ProvisioningState *ProvisioningState
 13765  
 13766  	// READ-ONLY; List of references to VirtualApplianceConnections.
 13767  	VirtualApplianceConnections []*SubResource
 13768  
 13769  	// READ-ONLY; List of Virtual Appliance Network Interfaces.
 13770  	VirtualApplianceNics []*VirtualApplianceNicProperties
 13771  
 13772  	// READ-ONLY; List of references to VirtualApplianceSite.
 13773  	VirtualApplianceSites []*SubResource
 13774  }
 13775  
 13776  // VirtualAppliancePropertiesFormatNetworkProfile - Network Profile containing configurations for Public and Private NIC.
 13777  type VirtualAppliancePropertiesFormatNetworkProfile struct {
 13778  	NetworkInterfaceConfigurations []*VirtualApplianceNetworkInterfaceConfiguration
 13779  }
 13780  
 13781  // VirtualApplianceSKU - Definition of the NetworkVirtualApplianceSkus resource.
 13782  type VirtualApplianceSKU struct {
 13783  	// Resource ID.
 13784  	ID *string
 13785  
 13786  	// Resource location.
 13787  	Location *string
 13788  
 13789  	// NetworkVirtualApplianceSku properties.
 13790  	Properties *VirtualApplianceSKUPropertiesFormat
 13791  
 13792  	// Resource tags.
 13793  	Tags map[string]*string
 13794  
 13795  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13796  	Etag *string
 13797  
 13798  	// READ-ONLY; Resource name.
 13799  	Name *string
 13800  
 13801  	// READ-ONLY; Resource type.
 13802  	Type *string
 13803  }
 13804  
 13805  // VirtualApplianceSKUInstances - List of available Sku and instances.
 13806  type VirtualApplianceSKUInstances struct {
 13807  	// READ-ONLY; Instance Count.
 13808  	InstanceCount *int32
 13809  
 13810  	// READ-ONLY; Scale Unit.
 13811  	ScaleUnit *string
 13812  }
 13813  
 13814  // VirtualApplianceSKUListResult - Response for ListNetworkVirtualApplianceSkus API service call.
 13815  type VirtualApplianceSKUListResult struct {
 13816  	// URL to get the next set of results.
 13817  	NextLink *string
 13818  
 13819  	// List of Network Virtual Appliance Skus that are available.
 13820  	Value []*VirtualApplianceSKU
 13821  }
 13822  
 13823  // VirtualApplianceSKUProperties - Network Virtual Appliance Sku Properties.
 13824  type VirtualApplianceSKUProperties struct {
 13825  	// Virtual Appliance Scale Unit.
 13826  	BundledScaleUnit *string
 13827  
 13828  	// Virtual Appliance Version.
 13829  	MarketPlaceVersion *string
 13830  
 13831  	// Virtual Appliance Vendor.
 13832  	Vendor *string
 13833  }
 13834  
 13835  // VirtualApplianceSKUPropertiesFormat - Properties specific to NetworkVirtualApplianceSkus.
 13836  type VirtualApplianceSKUPropertiesFormat struct {
 13837  	// The list of scale units available.
 13838  	AvailableScaleUnits []*VirtualApplianceSKUInstances
 13839  
 13840  	// READ-ONLY; Available Network Virtual Appliance versions.
 13841  	AvailableVersions []*string
 13842  
 13843  	// READ-ONLY; Network Virtual Appliance Sku vendor.
 13844  	Vendor *string
 13845  }
 13846  
 13847  // VirtualApplianceSite - Virtual Appliance Site resource.
 13848  type VirtualApplianceSite struct {
 13849  	// Resource ID.
 13850  	ID *string
 13851  
 13852  	// Name of the virtual appliance site.
 13853  	Name *string
 13854  
 13855  	// The properties of the Virtual Appliance Sites.
 13856  	Properties *VirtualApplianceSiteProperties
 13857  
 13858  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13859  	Etag *string
 13860  
 13861  	// READ-ONLY; Site type.
 13862  	Type *string
 13863  }
 13864  
 13865  // VirtualApplianceSiteListResult - Response for ListNetworkVirtualApplianceSites API service call.
 13866  type VirtualApplianceSiteListResult struct {
 13867  	// URL to get the next set of results.
 13868  	NextLink *string
 13869  
 13870  	// List of Network Virtual Appliance sites.
 13871  	Value []*VirtualApplianceSite
 13872  }
 13873  
 13874  // VirtualApplianceSiteProperties - Properties of the rule group.
 13875  type VirtualApplianceSiteProperties struct {
 13876  	// Address Prefix.
 13877  	AddressPrefix *string
 13878  
 13879  	// Office 365 Policy.
 13880  	O365Policy *Office365PolicyProperties
 13881  
 13882  	// READ-ONLY; The provisioning state of the resource.
 13883  	ProvisioningState *ProvisioningState
 13884  }
 13885  
 13886  // VirtualHub Resource.
 13887  type VirtualHub struct {
 13888  	// Resource ID.
 13889  	ID *string
 13890  
 13891  	// Resource location.
 13892  	Location *string
 13893  
 13894  	// Properties of the virtual hub.
 13895  	Properties *VirtualHubProperties
 13896  
 13897  	// Resource tags.
 13898  	Tags map[string]*string
 13899  
 13900  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 13901  	Etag *string
 13902  
 13903  	// READ-ONLY; Kind of service virtual hub. This is metadata used for the Azure portal experience for Route Server.
 13904  	Kind *string
 13905  
 13906  	// READ-ONLY; Resource name.
 13907  	Name *string
 13908  
 13909  	// READ-ONLY; Resource type.
 13910  	Type *string
 13911  }
 13912  
 13913  // VirtualHubEffectiveRoute - The effective route configured on the virtual hub or specified resource.
 13914  type VirtualHubEffectiveRoute struct {
 13915  	// The list of address prefixes.
 13916  	AddressPrefixes []*string
 13917  
 13918  	// The ASPath of this route.
 13919  	AsPath *string
 13920  
 13921  	// The type of the next hop.
 13922  	NextHopType *string
 13923  
 13924  	// The list of next hops.
 13925  	NextHops []*string
 13926  
 13927  	// The origin of this route.
 13928  	RouteOrigin *string
 13929  }
 13930  
 13931  // VirtualHubEffectiveRouteList - EffectiveRoutes List.
 13932  type VirtualHubEffectiveRouteList struct {
 13933  	// The list of effective routes configured on the virtual hub or the specified resource.
 13934  	Value []*VirtualHubEffectiveRoute
 13935  }
 13936  
 13937  // VirtualHubID - Virtual Hub identifier.
 13938  type VirtualHubID struct {
 13939  	// The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and
 13940  	// the ExpressRoute gateway resource reside in the same subscription.
 13941  	ID *string
 13942  }
 13943  
 13944  // VirtualHubProperties - Parameters for VirtualHub.
 13945  type VirtualHubProperties struct {
 13946  	// Address-prefix for this VirtualHub.
 13947  	AddressPrefix *string
 13948  
 13949  	// Flag to control transit for VirtualRouter hub.
 13950  	AllowBranchToBranchTraffic *bool
 13951  
 13952  	// The azureFirewall associated with this VirtualHub.
 13953  	AzureFirewall *SubResource
 13954  
 13955  	// The expressRouteGateway associated with this VirtualHub.
 13956  	ExpressRouteGateway *SubResource
 13957  
 13958  	// The hubRoutingPreference of this VirtualHub.
 13959  	HubRoutingPreference *HubRoutingPreference
 13960  
 13961  	// The P2SVpnGateway associated with this VirtualHub.
 13962  	P2SVPNGateway *SubResource
 13963  
 13964  	// The preferred gateway to route on-prem traffic
 13965  	PreferredRoutingGateway *PreferredRoutingGateway
 13966  
 13967  	// The routeTable associated with this virtual hub.
 13968  	RouteTable *VirtualHubRouteTable
 13969  
 13970  	// The sku of this VirtualHub.
 13971  	SKU *string
 13972  
 13973  	// The securityPartnerProvider associated with this VirtualHub.
 13974  	SecurityPartnerProvider *SubResource
 13975  
 13976  	// The Security Provider name.
 13977  	SecurityProviderName *string
 13978  
 13979  	// The VpnGateway associated with this VirtualHub.
 13980  	VPNGateway *SubResource
 13981  
 13982  	// List of all virtual hub route table v2s associated with this VirtualHub.
 13983  	VirtualHubRouteTableV2S []*VirtualHubRouteTableV2
 13984  
 13985  	// VirtualRouter ASN.
 13986  	VirtualRouterAsn *int64
 13987  
 13988  	// The VirtualHub Router autoscale configuration.
 13989  	VirtualRouterAutoScaleConfiguration *VirtualRouterAutoScaleConfiguration
 13990  
 13991  	// VirtualRouter IPs.
 13992  	VirtualRouterIPs []*string
 13993  
 13994  	// The VirtualWAN to which the VirtualHub belongs.
 13995  	VirtualWan *SubResource
 13996  
 13997  	// READ-ONLY; List of references to Bgp Connections.
 13998  	BgpConnections []*SubResource
 13999  
 14000  	// READ-ONLY; List of references to IpConfigurations.
 14001  	IPConfigurations []*SubResource
 14002  
 14003  	// READ-ONLY; The provisioning state of the virtual hub resource.
 14004  	ProvisioningState *ProvisioningState
 14005  
 14006  	// READ-ONLY; List of references to RouteMaps.
 14007  	RouteMaps []*SubResource
 14008  
 14009  	// READ-ONLY; The routing state.
 14010  	RoutingState *RoutingState
 14011  }
 14012  
 14013  // VirtualHubRoute - VirtualHub route.
 14014  type VirtualHubRoute struct {
 14015  	// List of all addressPrefixes.
 14016  	AddressPrefixes []*string
 14017  
 14018  	// NextHop ip address.
 14019  	NextHopIPAddress *string
 14020  }
 14021  
 14022  // VirtualHubRouteTable - VirtualHub route table.
 14023  type VirtualHubRouteTable struct {
 14024  	// List of all routes.
 14025  	Routes []*VirtualHubRoute
 14026  }
 14027  
 14028  // VirtualHubRouteTableV2 Resource.
 14029  type VirtualHubRouteTableV2 struct {
 14030  	// Resource ID.
 14031  	ID *string
 14032  
 14033  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 14034  	Name *string
 14035  
 14036  	// Properties of the virtual hub route table v2.
 14037  	Properties *VirtualHubRouteTableV2Properties
 14038  
 14039  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14040  	Etag *string
 14041  }
 14042  
 14043  // VirtualHubRouteTableV2Properties - Parameters for VirtualHubRouteTableV2.
 14044  type VirtualHubRouteTableV2Properties struct {
 14045  	// List of all connections attached to this route table v2.
 14046  	AttachedConnections []*string
 14047  
 14048  	// List of all routes.
 14049  	Routes []*VirtualHubRouteV2
 14050  
 14051  	// READ-ONLY; The provisioning state of the virtual hub route table v2 resource.
 14052  	ProvisioningState *ProvisioningState
 14053  }
 14054  
 14055  // VirtualHubRouteV2 - VirtualHubRouteTableV2 route.
 14056  type VirtualHubRouteV2 struct {
 14057  	// The type of destinations.
 14058  	DestinationType *string
 14059  
 14060  	// List of all destinations.
 14061  	Destinations []*string
 14062  
 14063  	// The type of next hops.
 14064  	NextHopType *string
 14065  
 14066  	// NextHops ip address.
 14067  	NextHops []*string
 14068  }
 14069  
 14070  // VirtualNetwork - Virtual Network resource.
 14071  type VirtualNetwork struct {
 14072  	// The extended location of the virtual network.
 14073  	ExtendedLocation *ExtendedLocation
 14074  
 14075  	// Resource ID.
 14076  	ID *string
 14077  
 14078  	// Resource location.
 14079  	Location *string
 14080  
 14081  	// Properties of the virtual network.
 14082  	Properties *VirtualNetworkPropertiesFormat
 14083  
 14084  	// Resource tags.
 14085  	Tags map[string]*string
 14086  
 14087  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14088  	Etag *string
 14089  
 14090  	// READ-ONLY; Resource name.
 14091  	Name *string
 14092  
 14093  	// READ-ONLY; Resource type.
 14094  	Type *string
 14095  }
 14096  
 14097  // VirtualNetworkBgpCommunities - Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this
 14098  // VNET.
 14099  type VirtualNetworkBgpCommunities struct {
 14100  	// REQUIRED; The BGP community associated with the virtual network.
 14101  	VirtualNetworkCommunity *string
 14102  
 14103  	// READ-ONLY; The BGP community associated with the region of the virtual network.
 14104  	RegionalCommunity *string
 14105  }
 14106  
 14107  // VirtualNetworkConnectionGatewayReference - A reference to VirtualNetworkGateway or LocalNetworkGateway resource.
 14108  type VirtualNetworkConnectionGatewayReference struct {
 14109  	// REQUIRED; The ID of VirtualNetworkGateway or LocalNetworkGateway resource.
 14110  	ID *string
 14111  }
 14112  
 14113  // VirtualNetworkDdosProtectionStatusResult - Response for GetVirtualNetworkDdosProtectionStatusOperation.
 14114  type VirtualNetworkDdosProtectionStatusResult struct {
 14115  	// The URL to get the next set of results.
 14116  	NextLink *string
 14117  
 14118  	// The Ddos Protection Status Result for each public ip under a virtual network.
 14119  	Value []*PublicIPDdosProtectionStatusResult
 14120  }
 14121  
 14122  // VirtualNetworkEncryption - Indicates if encryption is enabled on virtual network and if VM without encryption is allowed
 14123  // in encrypted VNet.
 14124  type VirtualNetworkEncryption struct {
 14125  	// REQUIRED; Indicates if encryption is enabled on the virtual network.
 14126  	Enabled *bool
 14127  
 14128  	// If the encrypted VNet allows VM that does not support encryption. This field is for future support, AllowUnencrypted is
 14129  	// the only supported value at general availability.
 14130  	Enforcement *VirtualNetworkEncryptionEnforcement
 14131  }
 14132  
 14133  // VirtualNetworkGateway - A common class for general resource information.
 14134  type VirtualNetworkGateway struct {
 14135  	// REQUIRED; Properties of the virtual network gateway.
 14136  	Properties *VirtualNetworkGatewayPropertiesFormat
 14137  
 14138  	// The extended location of type local virtual network gateway.
 14139  	ExtendedLocation *ExtendedLocation
 14140  
 14141  	// Resource ID.
 14142  	ID *string
 14143  
 14144  	// The identity of the virtual network gateway, if configured.
 14145  	Identity *ManagedServiceIdentity
 14146  
 14147  	// Resource location.
 14148  	Location *string
 14149  
 14150  	// Resource tags.
 14151  	Tags map[string]*string
 14152  
 14153  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14154  	Etag *string
 14155  
 14156  	// READ-ONLY; Resource name.
 14157  	Name *string
 14158  
 14159  	// READ-ONLY; Resource type.
 14160  	Type *string
 14161  }
 14162  
 14163  type VirtualNetworkGatewayAutoScaleBounds struct {
 14164  	// Maximum Scale Units for Autoscale configuration
 14165  	Max *int32
 14166  
 14167  	// Minimum scale Units for Autoscale configuration
 14168  	Min *int32
 14169  }
 14170  
 14171  // VirtualNetworkGatewayAutoScaleConfiguration - Virtual Network Gateway Autoscale Configuration details
 14172  type VirtualNetworkGatewayAutoScaleConfiguration struct {
 14173  	// The bounds of the autoscale configuration
 14174  	Bounds *VirtualNetworkGatewayAutoScaleBounds
 14175  }
 14176  
 14177  // VirtualNetworkGatewayConnection - A common class for general resource information.
 14178  type VirtualNetworkGatewayConnection struct {
 14179  	// REQUIRED; Properties of the virtual network gateway connection.
 14180  	Properties *VirtualNetworkGatewayConnectionPropertiesFormat
 14181  
 14182  	// Resource ID.
 14183  	ID *string
 14184  
 14185  	// Resource location.
 14186  	Location *string
 14187  
 14188  	// Resource tags.
 14189  	Tags map[string]*string
 14190  
 14191  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14192  	Etag *string
 14193  
 14194  	// READ-ONLY; Resource name.
 14195  	Name *string
 14196  
 14197  	// READ-ONLY; Resource type.
 14198  	Type *string
 14199  }
 14200  
 14201  // VirtualNetworkGatewayConnectionListEntity - A common class for general resource information.
 14202  type VirtualNetworkGatewayConnectionListEntity struct {
 14203  	// REQUIRED; Properties of the virtual network gateway connection.
 14204  	Properties *VirtualNetworkGatewayConnectionListEntityPropertiesFormat
 14205  
 14206  	// Resource ID.
 14207  	ID *string
 14208  
 14209  	// Resource location.
 14210  	Location *string
 14211  
 14212  	// Resource tags.
 14213  	Tags map[string]*string
 14214  
 14215  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14216  	Etag *string
 14217  
 14218  	// READ-ONLY; Resource name.
 14219  	Name *string
 14220  
 14221  	// READ-ONLY; Resource type.
 14222  	Type *string
 14223  }
 14224  
 14225  // VirtualNetworkGatewayConnectionListEntityPropertiesFormat - VirtualNetworkGatewayConnection properties.
 14226  type VirtualNetworkGatewayConnectionListEntityPropertiesFormat struct {
 14227  	// REQUIRED; Gateway connection type.
 14228  	ConnectionType *VirtualNetworkGatewayConnectionType
 14229  
 14230  	// REQUIRED; The reference to virtual network gateway resource.
 14231  	VirtualNetworkGateway1 *VirtualNetworkConnectionGatewayReference
 14232  
 14233  	// The authorizationKey.
 14234  	AuthorizationKey *string
 14235  
 14236  	// The connection mode for this connection.
 14237  	ConnectionMode *VirtualNetworkGatewayConnectionMode
 14238  
 14239  	// Connection protocol used for this connection.
 14240  	ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol
 14241  
 14242  	// EnableBgp flag.
 14243  	EnableBgp *bool
 14244  
 14245  	// Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be
 14246  	// enabled.
 14247  	EnablePrivateLinkFastPath *bool
 14248  
 14249  	// Bypass ExpressRoute Gateway for data forwarding.
 14250  	ExpressRouteGatewayBypass *bool
 14251  
 14252  	// GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection.
 14253  	GatewayCustomBgpIPAddresses []*GatewayCustomBgpIPAddressIPConfiguration
 14254  
 14255  	// The IPSec Policies to be considered by this connection.
 14256  	IPSecPolicies []*IPSecPolicy
 14257  
 14258  	// The reference to local network gateway resource.
 14259  	LocalNetworkGateway2 *VirtualNetworkConnectionGatewayReference
 14260  
 14261  	// The reference to peerings resource.
 14262  	Peer *SubResource
 14263  
 14264  	// The routing weight.
 14265  	RoutingWeight *int32
 14266  
 14267  	// The IPSec shared key.
 14268  	SharedKey *string
 14269  
 14270  	// The Traffic Selector Policies to be considered by this connection.
 14271  	TrafficSelectorPolicies []*TrafficSelectorPolicy
 14272  
 14273  	// Enable policy-based traffic selectors.
 14274  	UsePolicyBasedTrafficSelectors *bool
 14275  
 14276  	// The reference to virtual network gateway resource.
 14277  	VirtualNetworkGateway2 *VirtualNetworkConnectionGatewayReference
 14278  
 14279  	// READ-ONLY; Virtual Network Gateway connection status.
 14280  	ConnectionStatus *VirtualNetworkGatewayConnectionStatus
 14281  
 14282  	// READ-ONLY; The egress bytes transferred in this connection.
 14283  	EgressBytesTransferred *int64
 14284  
 14285  	// READ-ONLY; The ingress bytes transferred in this connection.
 14286  	IngressBytesTransferred *int64
 14287  
 14288  	// READ-ONLY; The provisioning state of the virtual network gateway connection resource.
 14289  	ProvisioningState *ProvisioningState
 14290  
 14291  	// READ-ONLY; The resource GUID property of the virtual network gateway connection resource.
 14292  	ResourceGUID *string
 14293  
 14294  	// READ-ONLY; Collection of all tunnels' connection health status.
 14295  	TunnelConnectionStatus []*TunnelConnectionHealth
 14296  }
 14297  
 14298  // VirtualNetworkGatewayConnectionListResult - Response for the ListVirtualNetworkGatewayConnections API service call.
 14299  type VirtualNetworkGatewayConnectionListResult struct {
 14300  	// A list of VirtualNetworkGatewayConnection resources that exists in a resource group.
 14301  	Value []*VirtualNetworkGatewayConnection
 14302  
 14303  	// READ-ONLY; The URL to get the next set of results.
 14304  	NextLink *string
 14305  }
 14306  
 14307  // VirtualNetworkGatewayConnectionPropertiesFormat - VirtualNetworkGatewayConnection properties.
 14308  type VirtualNetworkGatewayConnectionPropertiesFormat struct {
 14309  	// REQUIRED; Gateway connection type.
 14310  	ConnectionType *VirtualNetworkGatewayConnectionType
 14311  
 14312  	// REQUIRED; The reference to virtual network gateway resource.
 14313  	VirtualNetworkGateway1 *VirtualNetworkGateway
 14314  
 14315  	// The authorizationKey.
 14316  	AuthorizationKey *string
 14317  
 14318  	// The connection mode for this connection.
 14319  	ConnectionMode *VirtualNetworkGatewayConnectionMode
 14320  
 14321  	// Connection protocol used for this connection.
 14322  	ConnectionProtocol *VirtualNetworkGatewayConnectionProtocol
 14323  
 14324  	// The dead peer detection timeout of this connection in seconds.
 14325  	DpdTimeoutSeconds *int32
 14326  
 14327  	// List of egress NatRules.
 14328  	EgressNatRules []*SubResource
 14329  
 14330  	// EnableBgp flag.
 14331  	EnableBgp *bool
 14332  
 14333  	// Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be
 14334  	// enabled.
 14335  	EnablePrivateLinkFastPath *bool
 14336  
 14337  	// Bypass ExpressRoute Gateway for data forwarding.
 14338  	ExpressRouteGatewayBypass *bool
 14339  
 14340  	// GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection.
 14341  	GatewayCustomBgpIPAddresses []*GatewayCustomBgpIPAddressIPConfiguration
 14342  
 14343  	// The IPSec Policies to be considered by this connection.
 14344  	IPSecPolicies []*IPSecPolicy
 14345  
 14346  	// List of ingress NatRules.
 14347  	IngressNatRules []*SubResource
 14348  
 14349  	// The reference to local network gateway resource.
 14350  	LocalNetworkGateway2 *LocalNetworkGateway
 14351  
 14352  	// The reference to peerings resource.
 14353  	Peer *SubResource
 14354  
 14355  	// The routing weight.
 14356  	RoutingWeight *int32
 14357  
 14358  	// The IPSec shared key.
 14359  	SharedKey *string
 14360  
 14361  	// The Traffic Selector Policies to be considered by this connection.
 14362  	TrafficSelectorPolicies []*TrafficSelectorPolicy
 14363  
 14364  	// Use private local Azure IP for the connection.
 14365  	UseLocalAzureIPAddress *bool
 14366  
 14367  	// Enable policy-based traffic selectors.
 14368  	UsePolicyBasedTrafficSelectors *bool
 14369  
 14370  	// The reference to virtual network gateway resource.
 14371  	VirtualNetworkGateway2 *VirtualNetworkGateway
 14372  
 14373  	// READ-ONLY; Virtual Network Gateway connection status.
 14374  	ConnectionStatus *VirtualNetworkGatewayConnectionStatus
 14375  
 14376  	// READ-ONLY; The egress bytes transferred in this connection.
 14377  	EgressBytesTransferred *int64
 14378  
 14379  	// READ-ONLY; The ingress bytes transferred in this connection.
 14380  	IngressBytesTransferred *int64
 14381  
 14382  	// READ-ONLY; The provisioning state of the virtual network gateway connection resource.
 14383  	ProvisioningState *ProvisioningState
 14384  
 14385  	// READ-ONLY; The resource GUID property of the virtual network gateway connection resource.
 14386  	ResourceGUID *string
 14387  
 14388  	// READ-ONLY; Collection of all tunnels' connection health status.
 14389  	TunnelConnectionStatus []*TunnelConnectionHealth
 14390  }
 14391  
 14392  // VirtualNetworkGatewayIPConfiguration - IP configuration for virtual network gateway.
 14393  type VirtualNetworkGatewayIPConfiguration struct {
 14394  	// Resource ID.
 14395  	ID *string
 14396  
 14397  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 14398  	Name *string
 14399  
 14400  	// Properties of the virtual network gateway ip configuration.
 14401  	Properties *VirtualNetworkGatewayIPConfigurationPropertiesFormat
 14402  
 14403  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14404  	Etag *string
 14405  }
 14406  
 14407  // VirtualNetworkGatewayIPConfigurationPropertiesFormat - Properties of VirtualNetworkGatewayIPConfiguration.
 14408  type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct {
 14409  	// The private IP address allocation method.
 14410  	PrivateIPAllocationMethod *IPAllocationMethod
 14411  
 14412  	// The reference to the public IP resource.
 14413  	PublicIPAddress *SubResource
 14414  
 14415  	// The reference to the subnet resource.
 14416  	Subnet *SubResource
 14417  
 14418  	// READ-ONLY; Private IP Address for this gateway.
 14419  	PrivateIPAddress *string
 14420  
 14421  	// READ-ONLY; The provisioning state of the virtual network gateway IP configuration resource.
 14422  	ProvisioningState *ProvisioningState
 14423  }
 14424  
 14425  // VirtualNetworkGatewayListConnectionsResult - Response for the VirtualNetworkGatewayListConnections API service call.
 14426  type VirtualNetworkGatewayListConnectionsResult struct {
 14427  	// A list of VirtualNetworkGatewayConnection resources that exists in a resource group.
 14428  	Value []*VirtualNetworkGatewayConnectionListEntity
 14429  
 14430  	// READ-ONLY; The URL to get the next set of results.
 14431  	NextLink *string
 14432  }
 14433  
 14434  // VirtualNetworkGatewayListResult - Response for the ListVirtualNetworkGateways API service call.
 14435  type VirtualNetworkGatewayListResult struct {
 14436  	// A list of VirtualNetworkGateway resources that exists in a resource group.
 14437  	Value []*VirtualNetworkGateway
 14438  
 14439  	// READ-ONLY; The URL to get the next set of results.
 14440  	NextLink *string
 14441  }
 14442  
 14443  // VirtualNetworkGatewayNatRule Resource.
 14444  type VirtualNetworkGatewayNatRule struct {
 14445  	// Resource ID.
 14446  	ID *string
 14447  
 14448  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 14449  	Name *string
 14450  
 14451  	// Properties of the Virtual Network Gateway NAT rule.
 14452  	Properties *VirtualNetworkGatewayNatRuleProperties
 14453  
 14454  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14455  	Etag *string
 14456  
 14457  	// READ-ONLY; Resource type.
 14458  	Type *string
 14459  }
 14460  
 14461  // VirtualNetworkGatewayNatRuleProperties - Parameters for VirtualNetworkGatewayNatRule.
 14462  type VirtualNetworkGatewayNatRuleProperties struct {
 14463  	// The private IP address external mapping for NAT.
 14464  	ExternalMappings []*VPNNatRuleMapping
 14465  
 14466  	// The IP Configuration ID this NAT rule applies to.
 14467  	IPConfigurationID *string
 14468  
 14469  	// The private IP address internal mapping for NAT.
 14470  	InternalMappings []*VPNNatRuleMapping
 14471  
 14472  	// The Source NAT direction of a VPN NAT.
 14473  	Mode *VPNNatRuleMode
 14474  
 14475  	// The type of NAT rule for VPN NAT.
 14476  	Type *VPNNatRuleType
 14477  
 14478  	// READ-ONLY; The provisioning state of the NAT Rule resource.
 14479  	ProvisioningState *ProvisioningState
 14480  }
 14481  
 14482  // VirtualNetworkGatewayPolicyGroup - Parameters for VirtualNetworkGatewayPolicyGroup.
 14483  type VirtualNetworkGatewayPolicyGroup struct {
 14484  	// Resource ID.
 14485  	ID *string
 14486  
 14487  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 14488  	Name *string
 14489  
 14490  	// Properties of tVirtualNetworkGatewayPolicyGroup.
 14491  	Properties *VirtualNetworkGatewayPolicyGroupProperties
 14492  
 14493  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14494  	Etag *string
 14495  }
 14496  
 14497  // VirtualNetworkGatewayPolicyGroupMember - Vpn Client Connection configuration PolicyGroup member
 14498  type VirtualNetworkGatewayPolicyGroupMember struct {
 14499  	// The Vpn Policy member attribute type.
 14500  	AttributeType *VPNPolicyMemberAttributeType
 14501  
 14502  	// The value of Attribute used for this VirtualNetworkGatewayPolicyGroupMember.
 14503  	AttributeValue *string
 14504  
 14505  	// Name of the VirtualNetworkGatewayPolicyGroupMember.
 14506  	Name *string
 14507  }
 14508  
 14509  // VirtualNetworkGatewayPolicyGroupProperties - Properties of VirtualNetworkGatewayPolicyGroup.
 14510  type VirtualNetworkGatewayPolicyGroupProperties struct {
 14511  	// REQUIRED; Shows if this is a Default VirtualNetworkGatewayPolicyGroup or not.
 14512  	IsDefault *bool
 14513  
 14514  	// REQUIRED; Multiple PolicyMembers for VirtualNetworkGatewayPolicyGroup.
 14515  	PolicyMembers []*VirtualNetworkGatewayPolicyGroupMember
 14516  
 14517  	// REQUIRED; Priority for VirtualNetworkGatewayPolicyGroup.
 14518  	Priority *int32
 14519  
 14520  	// READ-ONLY; The provisioning state of the VirtualNetworkGatewayPolicyGroup resource.
 14521  	ProvisioningState *ProvisioningState
 14522  
 14523  	// READ-ONLY; List of references to vngClientConnectionConfigurations.
 14524  	VngClientConnectionConfigurations []*SubResource
 14525  }
 14526  
 14527  // VirtualNetworkGatewayPropertiesFormat - VirtualNetworkGateway properties.
 14528  type VirtualNetworkGatewayPropertiesFormat struct {
 14529  	// ActiveActive flag.
 14530  	Active *bool
 14531  
 14532  	// Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the
 14533  	// vnet
 14534  	AdminState *AdminState
 14535  
 14536  	// Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity
 14537  	// to Azure Virtual WAN.
 14538  	AllowRemoteVnetTraffic *bool
 14539  
 14540  	// Configures this gateway to accept traffic from remote Virtual WAN networks.
 14541  	AllowVirtualWanTraffic *bool
 14542  
 14543  	// Autoscale configuration for virutal network gateway
 14544  	AutoScaleConfiguration *VirtualNetworkGatewayAutoScaleConfiguration
 14545  
 14546  	// Virtual network gateway's BGP speaker settings.
 14547  	BgpSettings *BgpSettings
 14548  
 14549  	// The reference to the address space resource which represents the custom routes address space specified by the customer
 14550  	// for virtual network gateway and VpnClient.
 14551  	CustomRoutes *AddressSpace
 14552  
 14553  	// disableIPSecReplayProtection flag.
 14554  	DisableIPSecReplayProtection *bool
 14555  
 14556  	// Whether BGP is enabled for this virtual network gateway or not.
 14557  	EnableBgp *bool
 14558  
 14559  	// EnableBgpRouteTranslationForNat flag.
 14560  	EnableBgpRouteTranslationForNat *bool
 14561  
 14562  	// Whether dns forwarding is enabled or not.
 14563  	EnableDNSForwarding *bool
 14564  
 14565  	// Whether private IP needs to be enabled on this gateway for connections or not.
 14566  	EnablePrivateIPAddress *bool
 14567  
 14568  	// The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null
 14569  	// value in case of removing existing default site setting.
 14570  	GatewayDefaultSite *SubResource
 14571  
 14572  	// The type of this virtual network gateway.
 14573  	GatewayType *VirtualNetworkGatewayType
 14574  
 14575  	// IP configurations for virtual network gateway.
 14576  	IPConfigurations []*VirtualNetworkGatewayIPConfiguration
 14577  
 14578  	// NatRules for virtual network gateway.
 14579  	NatRules []*VirtualNetworkGatewayNatRule
 14580  
 14581  	// Property to indicate if the Express Route Gateway has resiliency model of MultiHomed or SingleHomed
 14582  	ResiliencyModel *ResiliencyModel
 14583  
 14584  	// The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway.
 14585  	SKU *VirtualNetworkGatewaySKU
 14586  
 14587  	// Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet.
 14588  	VNetExtendedLocationResourceID *string
 14589  
 14590  	// The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations.
 14591  	VPNClientConfiguration *VPNClientConfiguration
 14592  
 14593  	// The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.
 14594  	VPNGatewayGeneration *VPNGatewayGeneration
 14595  
 14596  	// The type of this virtual network gateway.
 14597  	VPNType *VPNType
 14598  
 14599  	// The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup
 14600  	// for the gateway.
 14601  	VirtualNetworkGatewayPolicyGroups []*VirtualNetworkGatewayPolicyGroup
 14602  
 14603  	// READ-ONLY; The IP address allocated by the gateway to which dns requests can be sent.
 14604  	InboundDNSForwardingEndpoint *string
 14605  
 14606  	// READ-ONLY; The provisioning state of the virtual network gateway resource.
 14607  	ProvisioningState *ProvisioningState
 14608  
 14609  	// READ-ONLY; The resource GUID property of the virtual network gateway resource.
 14610  	ResourceGUID *string
 14611  }
 14612  
 14613  // VirtualNetworkGatewaySKU - VirtualNetworkGatewaySku details.
 14614  type VirtualNetworkGatewaySKU struct {
 14615  	// Gateway SKU name.
 14616  	Name *VirtualNetworkGatewaySKUName
 14617  
 14618  	// Gateway SKU tier.
 14619  	Tier *VirtualNetworkGatewaySKUTier
 14620  
 14621  	// READ-ONLY; The capacity.
 14622  	Capacity *int32
 14623  }
 14624  
 14625  // VirtualNetworkListResult - Response for the ListVirtualNetworks API service call.
 14626  type VirtualNetworkListResult struct {
 14627  	// The URL to get the next set of results.
 14628  	NextLink *string
 14629  
 14630  	// A list of VirtualNetwork resources in a resource group.
 14631  	Value []*VirtualNetwork
 14632  }
 14633  
 14634  // VirtualNetworkListUsageResult - Response for the virtual networks GetUsage API service call.
 14635  type VirtualNetworkListUsageResult struct {
 14636  	// The URL to get the next set of results.
 14637  	NextLink *string
 14638  
 14639  	// READ-ONLY; VirtualNetwork usage stats.
 14640  	Value []*VirtualNetworkUsage
 14641  }
 14642  
 14643  // VirtualNetworkPeering - Peerings in a virtual network resource.
 14644  type VirtualNetworkPeering struct {
 14645  	// Resource ID.
 14646  	ID *string
 14647  
 14648  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 14649  	Name *string
 14650  
 14651  	// Properties of the virtual network peering.
 14652  	Properties *VirtualNetworkPeeringPropertiesFormat
 14653  
 14654  	// Resource type.
 14655  	Type *string
 14656  
 14657  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14658  	Etag *string
 14659  }
 14660  
 14661  // VirtualNetworkPeeringListResult - Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual
 14662  // network.
 14663  type VirtualNetworkPeeringListResult struct {
 14664  	// The URL to get the next set of results.
 14665  	NextLink *string
 14666  
 14667  	// The peerings in a virtual network.
 14668  	Value []*VirtualNetworkPeering
 14669  }
 14670  
 14671  // VirtualNetworkPeeringPropertiesFormat - Properties of the virtual network peering.
 14672  type VirtualNetworkPeeringPropertiesFormat struct {
 14673  	// Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
 14674  	AllowForwardedTraffic *bool
 14675  
 14676  	// If gateway links can be used in remote virtual networking to link to this virtual network.
 14677  	AllowGatewayTransit *bool
 14678  
 14679  	// Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
 14680  	AllowVirtualNetworkAccess *bool
 14681  
 14682  	// If we need to verify the provisioning state of the remote gateway.
 14683  	DoNotVerifyRemoteGateways *bool
 14684  
 14685  	// Whether only Ipv6 address space is peered for subnet peering.
 14686  	EnableOnlyIPv6Peering *bool
 14687  
 14688  	// The local address space of the local virtual network that is peered.
 14689  	LocalAddressSpace *AddressSpace
 14690  
 14691  	// List of local subnet names that are subnet peered with remote virtual network.
 14692  	LocalSubnetNames []*string
 14693  
 14694  	// The current local address space of the local virtual network that is peered.
 14695  	LocalVirtualNetworkAddressSpace *AddressSpace
 14696  
 14697  	// Whether complete virtual network address space is peered.
 14698  	PeerCompleteVnets *bool
 14699  
 14700  	// The status of the virtual network peering.
 14701  	PeeringState *VirtualNetworkPeeringState
 14702  
 14703  	// The peering sync status of the virtual network peering.
 14704  	PeeringSyncLevel *VirtualNetworkPeeringLevel
 14705  
 14706  	// The reference to the address space peered with the remote virtual network.
 14707  	RemoteAddressSpace *AddressSpace
 14708  
 14709  	// The reference to the remote virtual network's Bgp Communities.
 14710  	RemoteBgpCommunities *VirtualNetworkBgpCommunities
 14711  
 14712  	// List of remote subnet names from remote virtual network that are subnet peered.
 14713  	RemoteSubnetNames []*string
 14714  
 14715  	// The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview).
 14716  	// See here to register for the preview and learn more
 14717  	// (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering).
 14718  	RemoteVirtualNetwork *SubResource
 14719  
 14720  	// The reference to the current address space of the remote virtual network.
 14721  	RemoteVirtualNetworkAddressSpace *AddressSpace
 14722  
 14723  	// If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering
 14724  	// is also true, virtual network will use gateways of remote virtual network
 14725  	// for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a
 14726  	// gateway.
 14727  	UseRemoteGateways *bool
 14728  
 14729  	// READ-ONLY; The provisioning state of the virtual network peering resource.
 14730  	ProvisioningState *ProvisioningState
 14731  
 14732  	// READ-ONLY; The reference to the remote virtual network's encryption
 14733  	RemoteVirtualNetworkEncryption *VirtualNetworkEncryption
 14734  
 14735  	// READ-ONLY; The resourceGuid property of the Virtual Network peering resource.
 14736  	ResourceGUID *string
 14737  }
 14738  
 14739  // VirtualNetworkPropertiesFormat - Properties of the virtual network.
 14740  type VirtualNetworkPropertiesFormat struct {
 14741  	// The AddressSpace that contains an array of IP address ranges that can be used by subnets.
 14742  	AddressSpace *AddressSpace
 14743  
 14744  	// Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.
 14745  	BgpCommunities *VirtualNetworkBgpCommunities
 14746  
 14747  	// The DDoS protection plan associated with the virtual network.
 14748  	DdosProtectionPlan *SubResource
 14749  
 14750  	// The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network.
 14751  	DhcpOptions *DhcpOptions
 14752  
 14753  	// Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection
 14754  	// plan associated with the resource.
 14755  	EnableDdosProtection *bool
 14756  
 14757  	// Indicates if VM protection is enabled for all the subnets in the virtual network.
 14758  	EnableVMProtection *bool
 14759  
 14760  	// Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet.
 14761  	Encryption *VirtualNetworkEncryption
 14762  
 14763  	// The FlowTimeout value (in minutes) for the Virtual Network
 14764  	FlowTimeoutInMinutes *int32
 14765  
 14766  	// Array of IpAllocation which reference this VNET.
 14767  	IPAllocations []*SubResource
 14768  
 14769  	// Private Endpoint VNet Policies.
 14770  	PrivateEndpointVNetPolicies *PrivateEndpointVNetPolicies
 14771  
 14772  	// A list of subnets in a Virtual Network.
 14773  	Subnets []*Subnet
 14774  
 14775  	// A list of peerings in a Virtual Network.
 14776  	VirtualNetworkPeerings []*VirtualNetworkPeering
 14777  
 14778  	// READ-ONLY; A collection of references to flow log resources.
 14779  	FlowLogs []*FlowLog
 14780  
 14781  	// READ-ONLY; The provisioning state of the virtual network resource.
 14782  	ProvisioningState *ProvisioningState
 14783  
 14784  	// READ-ONLY; The resourceGuid property of the Virtual Network resource.
 14785  	ResourceGUID *string
 14786  }
 14787  
 14788  // VirtualNetworkTap - Virtual Network Tap resource.
 14789  type VirtualNetworkTap struct {
 14790  	// Resource ID.
 14791  	ID *string
 14792  
 14793  	// Resource location.
 14794  	Location *string
 14795  
 14796  	// Virtual Network Tap Properties.
 14797  	Properties *VirtualNetworkTapPropertiesFormat
 14798  
 14799  	// Resource tags.
 14800  	Tags map[string]*string
 14801  
 14802  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14803  	Etag *string
 14804  
 14805  	// READ-ONLY; Resource name.
 14806  	Name *string
 14807  
 14808  	// READ-ONLY; Resource type.
 14809  	Type *string
 14810  }
 14811  
 14812  // VirtualNetworkTapListResult - Response for ListVirtualNetworkTap API service call.
 14813  type VirtualNetworkTapListResult struct {
 14814  	// The URL to get the next set of results.
 14815  	NextLink *string
 14816  
 14817  	// A list of VirtualNetworkTaps in a resource group.
 14818  	Value []*VirtualNetworkTap
 14819  }
 14820  
 14821  // VirtualNetworkTapPropertiesFormat - Virtual Network Tap properties.
 14822  type VirtualNetworkTapPropertiesFormat struct {
 14823  	// The reference to the private IP address on the internal Load Balancer that will receive the tap.
 14824  	DestinationLoadBalancerFrontEndIPConfiguration *FrontendIPConfiguration
 14825  
 14826  	// The reference to the private IP Address of the collector nic that will receive the tap.
 14827  	DestinationNetworkInterfaceIPConfiguration *InterfaceIPConfiguration
 14828  
 14829  	// The VXLAN destination port that will receive the tapped traffic.
 14830  	DestinationPort *int32
 14831  
 14832  	// READ-ONLY; Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped.
 14833  	NetworkInterfaceTapConfigurations []*InterfaceTapConfiguration
 14834  
 14835  	// READ-ONLY; The provisioning state of the virtual network tap resource.
 14836  	ProvisioningState *ProvisioningState
 14837  
 14838  	// READ-ONLY; The resource GUID property of the virtual network tap resource.
 14839  	ResourceGUID *string
 14840  }
 14841  
 14842  // VirtualNetworkUsage - Usage details for subnet.
 14843  type VirtualNetworkUsage struct {
 14844  	// READ-ONLY; Indicates number of IPs used from the Subnet.
 14845  	CurrentValue *float64
 14846  
 14847  	// READ-ONLY; Subnet identifier.
 14848  	ID *string
 14849  
 14850  	// READ-ONLY; Indicates the size of the subnet.
 14851  	Limit *float64
 14852  
 14853  	// READ-ONLY; The name containing common and localized value for usage.
 14854  	Name *VirtualNetworkUsageName
 14855  
 14856  	// READ-ONLY; Usage units. Returns 'Count'.
 14857  	Unit *string
 14858  }
 14859  
 14860  // VirtualNetworkUsageName - Usage strings container.
 14861  type VirtualNetworkUsageName struct {
 14862  	// READ-ONLY; Localized subnet size and usage string.
 14863  	LocalizedValue *string
 14864  
 14865  	// READ-ONLY; Subnet size and usage string.
 14866  	Value *string
 14867  }
 14868  
 14869  // VirtualRouter Resource.
 14870  type VirtualRouter struct {
 14871  	// Resource ID.
 14872  	ID *string
 14873  
 14874  	// Resource location.
 14875  	Location *string
 14876  
 14877  	// Properties of the Virtual Router.
 14878  	Properties *VirtualRouterPropertiesFormat
 14879  
 14880  	// Resource tags.
 14881  	Tags map[string]*string
 14882  
 14883  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14884  	Etag *string
 14885  
 14886  	// READ-ONLY; Resource name.
 14887  	Name *string
 14888  
 14889  	// READ-ONLY; Resource type.
 14890  	Type *string
 14891  }
 14892  
 14893  // VirtualRouterAutoScaleConfiguration - The VirtualHub Router autoscale configuration.
 14894  type VirtualRouterAutoScaleConfiguration struct {
 14895  	// The minimum number of scale units for VirtualHub Router.
 14896  	MinCapacity *int32
 14897  }
 14898  
 14899  // VirtualRouterListResult - Response for ListVirtualRouters API service call.
 14900  type VirtualRouterListResult struct {
 14901  	// URL to get the next set of results.
 14902  	NextLink *string
 14903  
 14904  	// List of Virtual Routers.
 14905  	Value []*VirtualRouter
 14906  }
 14907  
 14908  // VirtualRouterPeering - Virtual Router Peering resource.
 14909  type VirtualRouterPeering struct {
 14910  	// Resource ID.
 14911  	ID *string
 14912  
 14913  	// Name of the virtual router peering that is unique within a virtual router.
 14914  	Name *string
 14915  
 14916  	// The properties of the Virtual Router Peering.
 14917  	Properties *VirtualRouterPeeringProperties
 14918  
 14919  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14920  	Etag *string
 14921  
 14922  	// READ-ONLY; Peering type.
 14923  	Type *string
 14924  }
 14925  
 14926  // VirtualRouterPeeringListResult - Response for ListVirtualRouterPeerings API service call.
 14927  type VirtualRouterPeeringListResult struct {
 14928  	// URL to get the next set of results.
 14929  	NextLink *string
 14930  
 14931  	// List of VirtualRouterPeerings in a VirtualRouter.
 14932  	Value []*VirtualRouterPeering
 14933  }
 14934  
 14935  // VirtualRouterPeeringProperties - Properties of the rule group.
 14936  type VirtualRouterPeeringProperties struct {
 14937  	// Peer ASN.
 14938  	PeerAsn *int64
 14939  
 14940  	// Peer IP.
 14941  	PeerIP *string
 14942  
 14943  	// READ-ONLY; The provisioning state of the resource.
 14944  	ProvisioningState *ProvisioningState
 14945  }
 14946  
 14947  // VirtualRouterPropertiesFormat - Virtual Router definition.
 14948  type VirtualRouterPropertiesFormat struct {
 14949  	// The Gateway on which VirtualRouter is hosted.
 14950  	HostedGateway *SubResource
 14951  
 14952  	// The Subnet on which VirtualRouter is hosted.
 14953  	HostedSubnet *SubResource
 14954  
 14955  	// VirtualRouter ASN.
 14956  	VirtualRouterAsn *int64
 14957  
 14958  	// VirtualRouter IPs.
 14959  	VirtualRouterIPs []*string
 14960  
 14961  	// READ-ONLY; List of references to VirtualRouterPeerings.
 14962  	Peerings []*SubResource
 14963  
 14964  	// READ-ONLY; The provisioning state of the resource.
 14965  	ProvisioningState *ProvisioningState
 14966  }
 14967  
 14968  // VirtualWAN Resource.
 14969  type VirtualWAN struct {
 14970  	// Resource ID.
 14971  	ID *string
 14972  
 14973  	// Resource location.
 14974  	Location *string
 14975  
 14976  	// Properties of the virtual WAN.
 14977  	Properties *VirtualWanProperties
 14978  
 14979  	// Resource tags.
 14980  	Tags map[string]*string
 14981  
 14982  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 14983  	Etag *string
 14984  
 14985  	// READ-ONLY; Resource name.
 14986  	Name *string
 14987  
 14988  	// READ-ONLY; Resource type.
 14989  	Type *string
 14990  }
 14991  
 14992  // VirtualWanProperties - Parameters for VirtualWAN.
 14993  type VirtualWanProperties struct {
 14994  	// True if branch to branch traffic is allowed.
 14995  	AllowBranchToBranchTraffic *bool
 14996  
 14997  	// True if Vnet to Vnet traffic is allowed.
 14998  	AllowVnetToVnetTraffic *bool
 14999  
 15000  	// Vpn encryption to be disabled or not.
 15001  	DisableVPNEncryption *bool
 15002  
 15003  	// The type of the VirtualWAN.
 15004  	Type *string
 15005  
 15006  	// READ-ONLY; The office local breakout category.
 15007  	Office365LocalBreakoutCategory *OfficeTrafficCategory
 15008  
 15009  	// READ-ONLY; The provisioning state of the virtual WAN resource.
 15010  	ProvisioningState *ProvisioningState
 15011  
 15012  	// READ-ONLY; List of VpnSites in the VirtualWAN.
 15013  	VPNSites []*SubResource
 15014  
 15015  	// READ-ONLY; List of VirtualHubs in the VirtualWAN.
 15016  	VirtualHubs []*SubResource
 15017  }
 15018  
 15019  // VirtualWanSecurityProvider - Collection of SecurityProviders.
 15020  type VirtualWanSecurityProvider struct {
 15021  	// Name of the security provider.
 15022  	Name *string
 15023  
 15024  	// Url of the security provider.
 15025  	URL *string
 15026  
 15027  	// READ-ONLY; Name of the security provider.
 15028  	Type *VirtualWanSecurityProviderType
 15029  }
 15030  
 15031  // VirtualWanSecurityProviders - Collection of SecurityProviders.
 15032  type VirtualWanSecurityProviders struct {
 15033  	// List of VirtualWAN security providers.
 15034  	SupportedProviders []*VirtualWanSecurityProvider
 15035  }
 15036  
 15037  // VirtualWanVPNProfileParameters - Virtual Wan Vpn profile parameters Vpn profile generation.
 15038  type VirtualWanVPNProfileParameters struct {
 15039  	// VPN client authentication method.
 15040  	AuthenticationMethod *AuthenticationMethod
 15041  
 15042  	// VpnServerConfiguration partial resource uri with which VirtualWan is associated to.
 15043  	VPNServerConfigurationResourceID *string
 15044  }
 15045  
 15046  // VnetRoute - List of routes that control routing from VirtualHub into a virtual network connection.
 15047  type VnetRoute struct {
 15048  	// List of all Static Routes.
 15049  	StaticRoutes []*StaticRoute
 15050  
 15051  	// Configuration for static routes on this HubVnetConnection.
 15052  	StaticRoutesConfig *StaticRoutesConfig
 15053  
 15054  	// READ-ONLY; The list of references to HubBgpConnection objects.
 15055  	BgpConnections []*SubResource
 15056  }
 15057  
 15058  // VngClientConnectionConfiguration - A vpn client connection configuration for client connection configuration.
 15059  type VngClientConnectionConfiguration struct {
 15060  	// Resource ID.
 15061  	ID *string
 15062  
 15063  	// The name of the resource that is unique within a resource group. This name can be used to access the resource.
 15064  	Name *string
 15065  
 15066  	// Properties of the vpn client root certificate.
 15067  	Properties *VngClientConnectionConfigurationProperties
 15068  
 15069  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 15070  	Etag *string
 15071  }
 15072  
 15073  // VngClientConnectionConfigurationProperties - Properties of VngClientConnectionConfiguration.
 15074  type VngClientConnectionConfigurationProperties struct {
 15075  	// REQUIRED; The reference to the address space resource which represents Address space for P2S VpnClient.
 15076  	VPNClientAddressPool *AddressSpace
 15077  
 15078  	// REQUIRED; List of references to virtualNetworkGatewayPolicyGroups
 15079  	VirtualNetworkGatewayPolicyGroups []*SubResource
 15080  
 15081  	// READ-ONLY; The provisioning state of the VngClientConnectionConfiguration resource.
 15082  	ProvisioningState *ProvisioningState
 15083  }
 15084  
 15085  // Watcher - Network watcher in a resource group.
 15086  type Watcher struct {
 15087  	// Resource ID.
 15088  	ID *string
 15089  
 15090  	// Resource location.
 15091  	Location *string
 15092  
 15093  	// Properties of the network watcher.
 15094  	Properties *WatcherPropertiesFormat
 15095  
 15096  	// Resource tags.
 15097  	Tags map[string]*string
 15098  
 15099  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 15100  	Etag *string
 15101  
 15102  	// READ-ONLY; Resource name.
 15103  	Name *string
 15104  
 15105  	// READ-ONLY; Resource type.
 15106  	Type *string
 15107  }
 15108  
 15109  // WatcherListResult - Response for ListNetworkWatchers API service call.
 15110  type WatcherListResult struct {
 15111  	// List of network watcher resources.
 15112  	Value []*Watcher
 15113  }
 15114  
 15115  // WatcherPropertiesFormat - The network watcher properties.
 15116  type WatcherPropertiesFormat struct {
 15117  	// READ-ONLY; The provisioning state of the network watcher resource.
 15118  	ProvisioningState *ProvisioningState
 15119  }
 15120  
 15121  // WebApplicationFirewallCustomRule - Defines contents of a web application rule.
 15122  type WebApplicationFirewallCustomRule struct {
 15123  	// REQUIRED; Type of Actions.
 15124  	Action *WebApplicationFirewallAction
 15125  
 15126  	// REQUIRED; List of match conditions.
 15127  	MatchConditions []*MatchCondition
 15128  
 15129  	// REQUIRED; Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.
 15130  	Priority *int32
 15131  
 15132  	// REQUIRED; The rule type.
 15133  	RuleType *WebApplicationFirewallRuleType
 15134  
 15135  	// List of user session identifier group by clauses.
 15136  	GroupByUserSession []*GroupByUserSession
 15137  
 15138  	// The name of the resource that is unique within a policy. This name can be used to access the resource.
 15139  	Name *string
 15140  
 15141  	// Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule.
 15142  	RateLimitDuration *ApplicationGatewayFirewallRateLimitDuration
 15143  
 15144  	// Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1
 15145  	RateLimitThreshold *int32
 15146  
 15147  	// Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.
 15148  	State *WebApplicationFirewallState
 15149  
 15150  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 15151  	Etag *string
 15152  }
 15153  
 15154  // WebApplicationFirewallPolicy - Defines web application firewall policy.
 15155  type WebApplicationFirewallPolicy struct {
 15156  	// Resource ID.
 15157  	ID *string
 15158  
 15159  	// Resource location.
 15160  	Location *string
 15161  
 15162  	// Properties of the web application firewall policy.
 15163  	Properties *WebApplicationFirewallPolicyPropertiesFormat
 15164  
 15165  	// Resource tags.
 15166  	Tags map[string]*string
 15167  
 15168  	// READ-ONLY; A unique read-only string that changes whenever the resource is updated.
 15169  	Etag *string
 15170  
 15171  	// READ-ONLY; Resource name.
 15172  	Name *string
 15173  
 15174  	// READ-ONLY; Resource type.
 15175  	Type *string
 15176  }
 15177  
 15178  // WebApplicationFirewallPolicyListResult - Result of the request to list WebApplicationFirewallPolicies. It contains a list
 15179  // of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.
 15180  type WebApplicationFirewallPolicyListResult struct {
 15181  	// READ-ONLY; URL to get the next set of WebApplicationFirewallPolicy objects if there are any.
 15182  	NextLink *string
 15183  
 15184  	// READ-ONLY; List of WebApplicationFirewallPolicies within a resource group.
 15185  	Value []*WebApplicationFirewallPolicy
 15186  }
 15187  
 15188  // WebApplicationFirewallPolicyPropertiesFormat - Defines web application firewall policy properties.
 15189  type WebApplicationFirewallPolicyPropertiesFormat struct {
 15190  	// REQUIRED; Describes the managedRules structure.
 15191  	ManagedRules *ManagedRulesDefinition
 15192  
 15193  	// The custom rules inside the policy.
 15194  	CustomRules []*WebApplicationFirewallCustomRule
 15195  
 15196  	// The PolicySettings for policy.
 15197  	PolicySettings *PolicySettings
 15198  
 15199  	// READ-ONLY; A collection of references to application gateway for containers.
 15200  	ApplicationGatewayForContainers []*ApplicationGatewayForContainersReferenceDefinition
 15201  
 15202  	// READ-ONLY; A collection of references to application gateways.
 15203  	ApplicationGateways []*ApplicationGateway
 15204  
 15205  	// READ-ONLY; A collection of references to application gateway http listeners.
 15206  	HTTPListeners []*SubResource
 15207  
 15208  	// READ-ONLY; A collection of references to application gateway path rules.
 15209  	PathBasedRules []*SubResource
 15210  
 15211  	// READ-ONLY; The provisioning state of the web application firewall policy resource.
 15212  	ProvisioningState *ProvisioningState
 15213  
 15214  	// READ-ONLY; Resource status of the policy.
 15215  	ResourceState *WebApplicationFirewallPolicyResourceState
 15216  }
 15217  
 15218  // WebApplicationFirewallScrubbingRules - Allow certain variables to be scrubbed on WAF logs
 15219  type WebApplicationFirewallScrubbingRules struct {
 15220  	// REQUIRED; The variable to be scrubbed from the logs.
 15221  	MatchVariable *ScrubbingRuleEntryMatchVariable
 15222  
 15223  	// REQUIRED; When matchVariable is a collection, operate on the selector to specify which elements in the collection this
 15224  	// rule applies to.
 15225  	SelectorMatchOperator *ScrubbingRuleEntryMatchOperator
 15226  
 15227  	// When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to.
 15228  	Selector *string
 15229  
 15230  	// Defines the state of log scrubbing rule. Default value is Enabled.
 15231  	State *ScrubbingRuleEntryState
 15232  }