diff --git a/.changelog/3569.txt b/.changelog/3569.txt new file mode 100644 index 0000000000..ed5499e340 --- /dev/null +++ b/.changelog/3569.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_kubernetes_node_pool: support `ipv4_address_type` +``` diff --git a/go.mod b/go.mod index 842a4286d4..c8076c67d2 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/api v1.0.285 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.4 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.21 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.1.27 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825 diff --git a/go.sum b/go.sum index 222f12b08b..832edba365 100644 --- a/go.sum +++ b/go.sum @@ -829,6 +829,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825 h1:yiC2lsZ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825/go.mod h1:6qtSa8OZKwJOWoOCYWVZd6+T62O96AxbPll0I43d4yw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.4 h1:9EguBiOzGyfCm4ZlO4QnnsZf/kpyTWS6DHz3bse9lNY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.4/go.mod h1:jUF68ck1rxCqXkdmYRT2B2GtLrXAxmp7T0CcyWZ8BbM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.21 h1:Y1miKK/dhfGn3AtCXMFDE3+kOUXyJMUnVlHCGC6EKSw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.1.21/go.mod h1:JqVqVFUzcEVksJT1WNRUsRQPgyfLSpJ8C0PxnTXinuY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824 h1:DVKvZ6h+qd7tadUrCjVAkCCmE3TsbK2ZmwGd3AJcpWc= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824/go.mod h1:DvBpDX/qdJG4KKLeULmRvhAjPYiw8za0HeTSu2y/lFw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/billing v1.1.0 h1:tfTh+fIqYPgWV2wi4oDvG963pi8tljtZ+5OdnhEqRnU= @@ -941,6 +943,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.5/go.mod h1 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.7/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.13/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.14/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.21/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.22 h1:1unTmvNXynDN0mOZSWh9tL5Wp9Rb5paMGwFvua+HHoI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.22/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.23 h1:YZOxepoaH/yNaD1sYpCXR6PuFd22hbKdlXAGXWre8aM= diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go index 975a4088ea..2840194c95 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go @@ -416,6 +416,12 @@ func ResourceTencentCloudKubernetesNodePool() *schema.Resource { Optional: true, Description: "Specify whether to assign an Internet IP address.", }, + "ipv4_address_type": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "Type of public IP address. WanIP: Ordinary public IP address; HighQualityEIP: High Quality EIP is supported only in Singapore and Hong Kong; AntiDDoSEIP: Anti-DDoS IP is supported only in specific regions. For details, see EIP Product Overview. Specify the type of public IPv4 address to assign a public IPv4 address to the resource. HighQualityEIP and AntiDDoSEIP features are gradually released in select regions. For usage, submit a ticket for consultation.", + }, "password": { Type: schema.TypeString, Optional: true, diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go index 6f51494d89..05177f14e8 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go @@ -261,6 +261,9 @@ func resourceTencentCloudKubernetesNodePoolReadPostHandleResponse1(ctx context.C if launchCfg.InternetAccessible.PublicIpAssigned != nil { launchConfig["public_ip_assigned"] = launchCfg.InternetAccessible.PublicIpAssigned } + if launchCfg.InternetAccessible.IPv4AddressType != nil { + launchConfig["ipv4_address_type"] = launchCfg.InternetAccessible.IPv4AddressType + } if launchCfg.InstanceChargeType != nil { launchConfig["instance_charge_type"] = launchCfg.InstanceChargeType if *launchCfg.InstanceChargeType == svcas.INSTANCE_CHARGE_TYPE_SPOTPAID && launchCfg.InstanceMarketOptions != nil { @@ -1012,6 +1015,10 @@ func composedKubernetesAsScalingConfigParaSerial(dMap map[string]interface{}, me publicIpAssigned := v.(bool) request.InternetAccessible.PublicIpAssigned = &publicIpAssigned } + if v, ok := dMap["ipv4_address_type"]; ok && v != "" { + ipv4AddressType := v.(string) + request.InternetAccessible.IPv4AddressType = &ipv4AddressType + } request.LoginSettings = &as.LoginSettings{} @@ -1222,6 +1229,10 @@ func composeAsLaunchConfigModifyRequest(d *schema.ResourceData, launchConfigId s publicIpAssigned := v.(bool) request.InternetAccessible.PublicIpAssigned = &publicIpAssigned } + if v, ok := dMap["ipv4_address_type"]; ok && v != "" { + ipv4AddressType := v.(string) + request.InternetAccessible.IPv4AddressType = &ipv4AddressType + } if d.HasChange("auto_scaling_config.0.security_group_ids") { if v, ok := dMap["security_group_ids"]; ok { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/client.go index 6427ca193c..14db24a608 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/client.go @@ -1787,7 +1787,7 @@ func NewDescribeAutoScalingActivitiesResponse() (response *DescribeAutoScalingAc } // DescribeAutoScalingActivities -// 本接口(DescribeAutoScalingActivities)用于查询伸缩组的伸缩活动记录。 +// 本接口(DescribeAutoScalingActivities)用于查询伸缩组的伸缩活动记录。当前仅保存近两年的伸缩活动。 // // 可能返回的错误码: // INTERNALERROR = "InternalError" @@ -1804,7 +1804,7 @@ func (c *Client) DescribeAutoScalingActivities(request *DescribeAutoScalingActiv } // DescribeAutoScalingActivities -// 本接口(DescribeAutoScalingActivities)用于查询伸缩组的伸缩活动记录。 +// 本接口(DescribeAutoScalingActivities)用于查询伸缩组的伸缩活动记录。当前仅保存近两年的伸缩活动。 // // 可能返回的错误码: // INTERNALERROR = "InternalError" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/models.go index d1693eb406..bd7c609694 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419/models.go @@ -1128,10 +1128,15 @@ type CreateLaunchConfigurationRequestParams struct { Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` // 云服务器主机名(HostName)的相关设置。 + // 不支持windows实例设置主机名。 + // 新增该属性时,必须传递云服务器的主机名,其它未传递字段会设置为默认值。 + // 会校验主机名(如果存在后缀则加上后缀)是否超过最大位数46。 HostNameSettings *HostNameSettings `json:"HostNameSettings,omitnil,omitempty" name:"HostNameSettings"` // 云服务器实例名(InstanceName)的相关设置。 // 如果用户在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 参照此字段进行设置,并传递给 CVM;如果用户未在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置,并传递给 CVM。 + // 新增该属性时,必须传递云服务器的实例名称,其它未传递字段会设置为默认值。 + // 会校验实例名称(如果存在后缀则加上后缀)是否超过最大位数108。 InstanceNameSettings *InstanceNameSettings `json:"InstanceNameSettings,omitnil,omitempty" name:"InstanceNameSettings"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 @@ -1232,10 +1237,15 @@ type CreateLaunchConfigurationRequest struct { Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` // 云服务器主机名(HostName)的相关设置。 + // 不支持windows实例设置主机名。 + // 新增该属性时,必须传递云服务器的主机名,其它未传递字段会设置为默认值。 + // 会校验主机名(如果存在后缀则加上后缀)是否超过最大位数46。 HostNameSettings *HostNameSettings `json:"HostNameSettings,omitnil,omitempty" name:"HostNameSettings"` // 云服务器实例名(InstanceName)的相关设置。 // 如果用户在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 参照此字段进行设置,并传递给 CVM;如果用户未在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置,并传递给 CVM。 + // 新增该属性时,必须传递云服务器的实例名称,其它未传递字段会设置为默认值。 + // 会校验实例名称(如果存在后缀则加上后缀)是否超过最大位数108。 InstanceNameSettings *InstanceNameSettings `json:"InstanceNameSettings,omitnil,omitempty" name:"InstanceNameSettings"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 @@ -2315,7 +2325,7 @@ type DescribeAutoScalingActivitiesRequestParams struct { // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` - // 伸缩活动最早的开始时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。 + // 伸缩活动最早的开始时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。注意:当前仅保存近两年的伸缩活动。 StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` // 伸缩活动最晚的结束时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。 @@ -2340,7 +2350,7 @@ type DescribeAutoScalingActivitiesRequest struct { // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` - // 伸缩活动最早的开始时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。 + // 伸缩活动最早的开始时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。注意:当前仅保存近两年的伸缩活动。 StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` // 伸缩活动最晚的结束时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。 @@ -3799,7 +3809,7 @@ type HostNameSettings struct { // 云服务器的主机名。 //