-
Notifications
You must be signed in to change notification settings - Fork 68
/
function_app_props.go
84 lines (80 loc) · 6.01 KB
/
function_app_props.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// Copyright (C) 2022 Specter Ops, Inc.
//
// This file is part of AzureHound.
//
// AzureHound is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// AzureHound is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package azure
import "github.com/bloodhoundad/azurehound/enums"
type FunctionAppProperties struct {
AvailabilityState enums.SiteAvailabilityState `json:"availabilityState,omitempty"`
ClientAffinityEnabled bool `json:"clientAffinityEnabled,omitempty"`
ClientCertEnabled bool `json:"clientCertEnabled,omitempty"`
ClientCertExclusionPaths string `json:"clientCertExclusionPaths,omitempty"`
ClientCertMode enums.ClientCertMode `json:"clientCertMode,omitempty"`
CloningInfo CloningInfo `json:"cloningInfo,omitempty"`
ContainerSize int `json:"containerSize,omitempty"`
CustomDomainVerificationId string `json:"customDomainVerificationId,omitempty"`
DailyMemoryTimeQuota int `json:"dailyMemoryTimeQuota,omitempty"`
DefaultHostName string `json:"defaultHostName,omitempty"`
Enabled bool `json:"enabled,omitempty"`
EnabledHostnames []string `json:"enabledHostnames,omitempty"`
HostingEnvironmentProfile HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"`
Hostnames []string `json:"hostNames,omitempty"`
HostNamesDisabled bool `json:"hostNamesDisabled,omitempty"`
HostNameSslStates []HostNameSslState `json:"hostNameSslStates,omitempty"`
HttpsOnly bool `json:"httpsOnly,omitempty"`
HyperV bool `json:"hyperV,omitempty"`
InProgressOperationId string `json:"inProgressOperationId,omitempty"`
IsDefaultContainer bool `json:"isDefaultContainer,omitempty"`
IsXenon bool `json:"isXenon,omitempty"`
KeyVaultReferenceIdentity string `json:"keyVaultReferenceIdentity,omitempty"`
LastModifiedTimeUTC string `json:"lastModifiedTimeUtc,omitempty"`
MaxNumberOfWorkers int `json:"maxNumberOfWorkers,omitempty"`
OutboundIpAddresses string `json:"outboundIpAddresses,omitempty"`
PossibleOutboundIpAddresses string `json:"possibleOutboundIpAddresses,omitempty"`
PublicNetworkAccess string `json:"publicNetworkAccess,omitempty"`
RedundancyMode enums.RedundancyMode `json:"redundancyMode,omitempty"`
RepositorySiteName string `json:"repositorySiteName,omitempty"`
Reserved bool `json:"reserved,omitempty"`
ResourceGroup string `json:"resourceGroup,omitempty"`
ScmSiteAlsoStopped bool `json:"scmSiteAlsoStopped,omitempty"`
ServerFarmId string `json:"serverFarmId,omitempty"`
SiteConfig SiteConfig `json:"siteConfig,omitempty"`
SlotSwapStatus SlotSwapStatus `json:",omitempty"`
State string `json:"state,omitempty"`
StorageAccountRequired bool `json:"storageAccountRequired,omitempty"`
SuspendedTill string `json:"suspendedTill,omitempty"`
TargetSwapSlot string `json:"targetSwapSlot,omitempty"`
TrafficManagerHostNames []string `json:"trafficManagerHostNames,omitempty"`
UsageState enums.UsageState `json:"usageState,omitempty"`
VirtualNetworkSubnetId string `json:"virtualNetworkSubnetId,omitempty"`
VnetContentShareEnabled bool `json:"vnetContentShareEnabled,omitempty"`
VnetImagePullEnabled bool `json:"vnetImagePullEnabled,omitempty"`
VnetRouteAllEnabled bool `json:"vnetRouteAllEnabled,omitempty"`
// Following elements have been found in testing within the returned object, but not present in the official documentation
AdminEnabled bool `json:"adminEnabled,omitempty"`
ComputeMode string `json:"computeMode,omitempty"`
ContainerAllocationSubnet string `json:"containerAllocationSubnet,omitempty"`
ContentAvailabilityState string `json:"contentAvailabilityState,omitempty"`
FtpsHostName string `json:"ftpsHostName,omitempty"`
FtpUsername string `json:"ftpUsername,omitempty"`
InboundIPAddress string `json:"inboundIpAddress,omitempty"`
Kind string `json:"kind,omitempty"`
Name string `json:"name,omitempty"`
PossibleInboundIpAddresses string `json:"possibleInboundIpAddresses,omitempty"`
PrivateEndpointConnections string `json:"privateEndpointConnections,omitempty"`
RuntimeAvailabilityState string `json:"runtimeAvailabilityState,omitempty"`
SelfLink string `json:"selfLink,omitempty"`
StorageRecoveryDefaultState string `json:"storageRecoveryDefaultState,omitempty"`
}