Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changelog/2910.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:new-data-source
tencentcloud_ccn_route_table_input_policies
```
14 changes: 14 additions & 0 deletions tencentcloud/connectivity/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@ type TencentCloudClient struct {
sslv20191205Conn *sslCertificate.Client
postgresv20170312Conn *postgre.Client
cfwv20190904Conn *cfw.Client
ccnv20170312Conn *vpc.Client
}

// NewClientProfile returns a new ClientProfile
Expand Down Expand Up @@ -1886,3 +1887,16 @@ func (me *TencentCloudClient) UseCfwV20190904Client() *cfw.Client {

return me.cfwv20190904Conn
}

// UseCcnV20170312Client return CCN client for service
func (me *TencentCloudClient) UseCcnV20170312Client() *vpc.Client {
if me.ccnv20170312Conn != nil {
return me.ccnv20170312Conn
}
cpf := me.NewClientProfile(300)
cpf.Language = "zh-CN"
me.ccnv20170312Conn, _ = vpc.NewClient(me.Credential, me.Region, cpf)
me.ccnv20170312Conn.WithHttpTransport(&LogRoundTripper{})

return me.ccnv20170312Conn
}
1 change: 1 addition & 0 deletions tencentcloud/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,7 @@ func Provider() *schema.Provider {
"tencentcloud_ccn_tenant_instances": ccn.DataSourceTencentCloudCcnTenantInstance(),
"tencentcloud_ccn_cross_border_flow_monitor": ccn.DataSourceTencentCloudCcnCrossBorderFlowMonitor(),
"tencentcloud_ccn_cross_border_region_bandwidth_limits": ccn.DataSourceTencentCloudCcnCrossBorderRegionBandwidthLimits(),
"tencentcloud_ccn_route_table_input_policies": ccn.DataSourceTencentCloudCcnRouteTableInputPolicies(),
"tencentcloud_dc_instances": dc.DataSourceTencentCloudDcInstances(),
"tencentcloud_dc_access_points": dc.DataSourceTencentCloudDcAccessPoints(),
"tencentcloud_dc_internet_address_quota": dc.DataSourceTencentCloudDcInternetAddressQuota(),
Expand Down
1 change: 1 addition & 0 deletions tencentcloud/provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,7 @@ Cloud Connect Network(CCN)
tencentcloud_ccn_cross_border_flow_monitor
tencentcloud_ccn_cross_border_region_bandwidth_limits
tencentcloud_ccn_routes
tencentcloud_ccn_route_table_input_policies

Resource
tencentcloud_ccn
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Use this data source to query CCN route table input policies.

Example Usage

```hcl
data "tencentcloud_ccn_route_table_input_policies" "example" {
ccn_id = "ccn-06jek8tf"
route_table_id = "ccnrtb-4jv5ltb9"
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package ccn
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package ccn_test

import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
)

func TestAccTencentCloudCcnRouteTableInputPoliciesDataSource_basic(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() {
tcacctest.AccPreCheck(t)
},
Providers: tcacctest.AccProviders,
Steps: []resource.TestStep{{
Config: testAccCcnRouteTableInputPoliciesDataSource,
Check: resource.ComposeTestCheckFunc(
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_ccn_route_table_input_policies.example"),
resource.TestCheckResourceAttrSet("data.tencentcloud_ccn_route_table_input_policies.example", "ccn_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_ccn_route_table_input_policies.example", "route_table_id"),
),
}},
})
}

const testAccCcnRouteTableInputPoliciesDataSource = `
data "tencentcloud_ccn_route_table_input_policies" "example" {
ccn_id = "ccn-06jek8tf"
route_table_id = "ccnrtb-4jv5ltb9"
}
`
2 changes: 1 addition & 1 deletion tencentcloud/services/ccn/resource_tc_ccn_routes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Example Usage
```hcl
resource "tencentcloud_ccn_routes" "example" {
ccn_id = "ccn-gr7nynbd"
route_id = "ccnrtb-jpf7bzn3"
route_id = "ccnr-5uhewx1s"
switch = "off"
}
```
Expand Down
41 changes: 41 additions & 0 deletions tencentcloud/services/ccn/service_tencentcloud_ccn.go
Original file line number Diff line number Diff line change
Expand Up @@ -1340,3 +1340,44 @@ func (me *VpcService) DescribeTenantCcnByFilter(ctx context.Context, param map[s

return
}

func (me *VpcService) DescribeCcnRouteTableInputPoliciesByFilter(ctx context.Context, param map[string]interface{}) (ret []*vpc.CcnRouteTableInputPolicys, errRet error) {
var (
logId = tccommon.GetLogId(ctx)
request = vpc.NewDescribeCcnRouteTableInputPolicysRequest()
)

defer func() {
if errRet != nil {
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error())
}
}()

for k, v := range param {
if k == "CcnId" {
request.CcnId = v.(*string)
}
if k == "RouteTableId" {
request.RouteTableId = v.(*string)
}
if k == "PolicyVersion" {
request.PolicyVersion = v.(*uint64)
}
}

ratelimit.Check(request.GetAction())

response, err := me.client.UseCcnV20170312Client().DescribeCcnRouteTableInputPolicys(request)
if err != nil {
errRet = err
return
}
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())

if len(response.Response.PolicySet) < 1 {
return
}

ret = response.Response.PolicySet
return
}
Loading
Loading