Skip to content

Commit 1c89d10

Browse files
feat(azure): add azure autodiscovery integration (#1344)
1 parent 80337d5 commit 1c89d10

2 files changed

Lines changed: 75 additions & 0 deletions

File tree

pkg/cloud/cloud_api.go

Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/cloud/types.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1703,6 +1703,42 @@ type CloudAzureAppserviceIntegrationInput struct {
17031703
ResourceGroups []string `json:"resourceGroups,omitempty"`
17041704
}
17051705

1706+
// CloudAzureAutoDiscoveryIntegration - Azure Auto Discover Integration
1707+
type CloudAzureAutoDiscoveryIntegration struct {
1708+
// The object creation date, in epoch (Unix) time
1709+
CreatedAt nrtime.EpochSeconds `json:"createdAt"`
1710+
// Specify if integration is active
1711+
Enabled bool `json:"enabled,omitempty"`
1712+
// The cloud service integration identifier.
1713+
ID int `json:"id,omitempty"`
1714+
// The polling interval for metadata and tags, in seconds.
1715+
InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
1716+
// The parent linked account identifier.
1717+
LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
1718+
// The polling interval for metrics, in seconds.
1719+
MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
1720+
// The cloud service integration name.
1721+
Name string `json:"name,omitempty"`
1722+
// The parent NewRelic account identifier.
1723+
NrAccountId int `json:"nrAccountId"`
1724+
// The cloud service used in the integration.
1725+
Service CloudService `json:"service,omitempty"`
1726+
// The object last update date, in epoch (Unix) time
1727+
UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
1728+
}
1729+
1730+
func (x *CloudAzureAutoDiscoveryIntegration) ImplementsCloudIntegration() {}
1731+
1732+
// CloudAzureAutoDiscoveryIntegrationInput - Azure Auto Discovery
1733+
type CloudAzureAutoDiscoveryIntegrationInput struct {
1734+
// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
1735+
InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
1736+
// The linked account identifier.
1737+
LinkedAccountId int `json:"linkedAccountId"`
1738+
// The data polling interval in seconds.
1739+
MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
1740+
}
1741+
17061742
// CloudAzureContainersIntegration - Containers Integration
17071743
type CloudAzureContainersIntegration struct {
17081744
// The object creation date, in epoch (Unix) time
@@ -1863,6 +1899,8 @@ type CloudAzureDisableIntegrationsInput struct {
18631899
AzureAppgateway []CloudDisableAccountIntegrationInput `json:"azureAppgateway,omitempty"`
18641900
// App Service integration
18651901
AzureAppservice []CloudDisableAccountIntegrationInput `json:"azureAppservice,omitempty"`
1902+
// Azure Auto Discovery Integration
1903+
AzureAutoDiscovery []CloudDisableAccountIntegrationInput `json:"azureAutoDiscovery,omitempty"`
18661904
// Containers integration
18671905
AzureContainers []CloudDisableAccountIntegrationInput `json:"azureContainers,omitempty"`
18681906
// Cosmos DB integration
@@ -2121,6 +2159,8 @@ type CloudAzureIntegrationsInput struct {
21212159
AzureAppgateway []CloudAzureAppgatewayIntegrationInput `json:"azureAppgateway,omitempty"`
21222160
// App Service integration
21232161
AzureAppservice []CloudAzureAppserviceIntegrationInput `json:"azureAppservice,omitempty"`
2162+
// Azure Auto Discovery Integration
2163+
AzureAutoDiscovery []CloudAzureAutoDiscoveryIntegrationInput `json:"azureAutoDiscovery,omitempty"`
21242164
// Containers integration
21252165
AzureContainers []CloudAzureContainersIntegrationInput `json:"azureContainers,omitempty"`
21262166
// Cosmos DB integration
@@ -6488,6 +6528,17 @@ func UnmarshalCloudIntegrationInterface(b []byte) (*CloudIntegrationInterface, e
64886528

64896529
var xxx CloudIntegrationInterface = &interfaceType
64906530

6531+
return &xxx, nil
6532+
6533+
case "CloudAzureAutoDiscoveryIntegration":
6534+
var interfaceType CloudAzureAutoDiscoveryIntegration
6535+
err = json.Unmarshal(b, &interfaceType)
6536+
if err != nil {
6537+
return nil, err
6538+
}
6539+
6540+
var xxx CloudIntegrationInterface = &interfaceType
6541+
64916542
return &xxx, nil
64926543
case "CloudAzureContainersIntegration":
64936544
var interfaceType CloudAzureContainersIntegration

0 commit comments

Comments
 (0)