in providers/tencentcloud/gaap.go [52:122]
func (g *GaapGenerator) loadProxy(client *gaap.Client) error {
request := gaap.NewDescribeProxiesRequest()
filters := make([]string, 0)
for _, filter := range g.Filter {
if filter.FieldPath == "id" && filter.IsApplicable("tencentcloud_gaap_proxy") {
filters = append(filters, filter.AcceptableValues...)
}
}
for i := range filters {
request.InstanceIds = append(request.InstanceIds, &filters[i])
}
var offset uint64
var pageSize uint64 = 50
allInstances := make([]*gaap.ProxyInfo, 0)
for {
request.Offset = &offset
request.Limit = &pageSize
response, err := client.DescribeProxies(request)
if err != nil {
return err
}
allInstances = append(allInstances, response.Response.ProxySet...)
if len(response.Response.ProxySet) < int(pageSize) {
break
}
offset += pageSize
}
for _, instance := range allInstances {
resource := terraformutils.NewResource(
*instance.ProxyId,
*instance.ProxyName+"_"+*instance.ProxyId,
"tencentcloud_gaap_proxy",
"tencentcloud",
map[string]string{},
[]string{},
map[string]interface{}{},
)
g.Resources = append(g.Resources, resource)
if len(g.Filter) > 0 {
match := false
for _, filter := range g.Filter {
if filter.Filter(resource) {
match = true
break
}
}
if !match {
continue
}
}
if err := g.loadHTTPListener(client, *instance.ProxyId, resource.ResourceName); err != nil {
return err
}
if err := g.loadHTTPSListener(client, *instance.ProxyId, resource.ResourceName); err != nil {
return err
}
if err := g.loadTCPListener(client, *instance.ProxyId, resource.ResourceName); err != nil {
return err
}
if err := g.loadUDPListener(client, *instance.ProxyId, resource.ResourceName); err != nil {
return err
}
}
return nil
}