Feat/support alibabacloud resource#67
Conversation
This reverts commit 74abede.
change docker-image.yaml, add lint.yaml
…/support-alibabacloud-resource
- Add ONS instance collector - Add GA accelerator collector with listeners and endpoint groups - Add EFLO node collector for edge computing - Update service initialization and platform config
|
Important Installation incomplete: to start using Gemini Code Assist, please ask the organization owner(s) to visit the Gemini Code Assist Admin Console and sign the Terms of Services. |
Reviewer's GuideThis pull request adds support for a wide range of new Alibaba Cloud (Aliyun) resources to the collector, including new resource types, service clients, resource detail implementations, and platform configuration updates. It introduces new Go modules and updates dependencies to enable these integrations. Class diagram for new Alibaba Cloud resource detail implementationsclassDiagram
class Services {
+APIGatewayApp : *cloudapi20160714.Client
+ARMSPrometheus : *arms20190808.Client
+ECP : *eds_aic20230930.Client
+Ons : *ons.Client
+GA : *ga.Client
+DCDN : *dcdn.Client
+VOD : *vod.Client
+SGW : *sgw.Client
+Live : *live.Client
+EfloController : *eflo_controller.Client
+Dysmsapi : *dysmsapi.Client
}
class APIGatewayAppDetail {
+App : *cloudapi20160714.DescribeAppsResponseBodyAppsAppItem
+AppSecurity : *cloudapi20160714.DescribeAppSecurityResponseBody
+AuthorizedAPIs : []*cloudapi20160714.DescribeAuthorizedApisResponseBodyAuthorizedApisAuthorizedApi
}
class PrometheusDetail {
+PrometheusInstance : *arms20190808.GetPrometheusInstanceResponseBodyData
+AlertRules : []*arms20190808.ListPrometheusAlertRulesResponseBodyPrometheusAlertRules
+MonitoringConfigs : []*arms20190808.ListPrometheusMonitoringResponseBodyData
+SubClusters : []SubClusterDetail
}
class CloudStorageGatewayDetail {
+Gateway : sgw.Gateway
+AuthInfo : *sgw.DescribeGatewayAuthInfoResponse
+FileShares : []sgw.FileShare
+BlockVolumes : []sgw.BlockVolume
+SMBUsers : []sgw.User
+NFSClients : []sgw.ClientInfo
+LDAPInfo : *sgw.DescribeGatewayLDAPInfoResponse
}
class CloudStorageGatewayStorageBundleDetail {
+StorageBundle : sgw.StorageBundle
}
class LiveDomainDetail {
+Domain : live.PageData
+DomainDetail : live.DomainDetail
+DomainConfigs : live.DomainConfigsInDescribeLiveDomainConfigs
+CertificateInfo : live.CertInfosInDescribeLiveDomainCertificateInfo
+DomainMapping : live.LiveDomainModels
}
class DCDNIpaDomainDetail {
+Domain : dcdn.PageData
+DomainDetail : dcdn.DomainDetail
+DomainConfigs : dcdn.DomainConfigsInDescribeDcdnIpaDomainConfigs
+CertificateInfo : dcdn.CertInfosInDescribeDcdnDomainCertificateInfo
}
class DCDNDomainDetail {
+Domains : dcdn.PageData
+DomainConfigs : []dcdn.DomainConfig
}
class VODDomainDetail {
+Domains : vod.PageData
+DomainDetail : vod.DomainDetail
+DomainConfigs : []vod.DomainConfig
+CertificateList : vod.CertificateListModel
}
class SMSTemplateDetail {
+Template : dysmsapi.SmsStatsResultDTO
}
class EfloNodeDetail {
+Node : eflo_controller.NodesItem
}
class GAAcceleratorDetail {
+Accelerator : ga.AcceleratorsItem
+Listeners : []Listener
+EndpointGroups : []ga.EndpointGroupsItem
}
class ECPInstanceDetail {
+Instance : *aic20230930.DescribeAndroidInstancesResponseBodyInstanceModel
}
class ONSInstanceDetail {
+Instance : ons.InstanceVO
+InstanceBaseInfo : ons.InstanceBaseInfo
}
class LogstashDetail {
+Instance : *client.ListLogstashResponseBodyResult
}
Class diagram for updated resource type constantsclassDiagram
class CollectorConstants {
+ElasticsearchLogstash : string
+APIGatewayApp : string
+ARMSPrometheus : string
+ONS_INSTANCE : string
+GAAccelerator : string
+CloudStorageGateway : string
+CloudStorageGatewayStorageBundle : string
+DCDNIpaDomain : string
+LiveDomain : string
+EfloNode : string
+ECPInstance : string
+VODDomain : string
+SMSTemplate : string
}
Class diagram for new resource group type constantclassDiagram
class ResourceGroupType {
+MONITORING : string
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey there - I've reviewed your changes and they look great!
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location> `collector/alicloud/collector/cloudapi/api_gateway_app.go:96` </location>
<code_context>
+ return nil
+}
+
+func getAppSecurity(ctx context.Context, cli *cloudapi20160714.Client, appId *int64) *cloudapi20160714.DescribeAppSecurityResponseBody {
+ describeAppSecurityRequest := &cloudapi20160714.DescribeAppSecurityRequest{AppId: appId}
+
</code_context>
<issue_to_address>
Check for nil pointer dereference on appId.
A nil appId will trigger a runtime panic. Add a nil check before using appId.
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| return nil | ||
| } | ||
|
|
||
| func getAppSecurity(ctx context.Context, cli *cloudapi20160714.Client, appId *int64) *cloudapi20160714.DescribeAppSecurityResponseBody { |
There was a problem hiding this comment.
issue (bug_risk): Check for nil pointer dereference on appId.
A nil appId will trigger a runtime panic. Add a nil check before using appId.
Thank you for your contribution to CloudRec!
What About:
java)go)opa)Description:
Add support for new Alibaba Cloud resources:
Bug Fixes:
Summary by Sourcery
Expand the Alibaba Cloud collector to support a broad set of new services by adding corresponding SDK clients, resource detail functions, and registrations in platform configuration
New Features:
Bug Fixes:
Enhancements: