diff --git a/internal/certmgmt/deployers/sp_volcengine_vod.go b/internal/certmgmt/deployers/sp_volcengine_vod.go index 095c04d58..a980160ac 100644 --- a/internal/certmgmt/deployers/sp_volcengine_vod.go +++ b/internal/certmgmt/deployers/sp_volcengine_vod.go @@ -20,6 +20,7 @@ func init() { AccessKeyId: credentials.AccessKeyId, SecretAccessKey: credentials.SecretAccessKey, ProjectName: credentials.ProjectName, + Region: xmaps.GetString(options.ProviderExtendedConfig, "region"), SpaceName: xmaps.GetString(options.ProviderExtendedConfig, "spaceName"), DomainMatchPattern: xmaps.GetString(options.ProviderExtendedConfig, "domainMatchPattern"), DomainType: xmaps.GetString(options.ProviderExtendedConfig, "domainType"), diff --git a/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go b/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go index d7501c5ab..53322f5e6 100644 --- a/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go +++ b/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go @@ -52,7 +52,7 @@ func NewDeployer(config *DeployerConfig) (*Deployer, error) { return nil, fmt.Errorf("the configuration of the deployer provider is nil") } - client, err := createSDKClient(config.AccessKeyId, config.SecretAccessKey, config.Region) + client, err := createSDKClient(config.AccessKeyId, config.SecretAccessKey) if err != nil { return nil, fmt.Errorf("could not create client: %w", err) } @@ -61,7 +61,6 @@ func NewDeployer(config *DeployerConfig) (*Deployer, error) { AccessKeyId: config.AccessKeyId, SecretAccessKey: config.SecretAccessKey, ProjectName: config.ProjectName, - Region: config.Region, }) if err != nil { return nil, fmt.Errorf("could not create certmgr: %w", err) @@ -209,14 +208,10 @@ func (d *Deployer) getAllDomains(ctx context.Context) ([]string, error) { return domains, nil } -func createSDKClient(accessKeyId, secretAccessKey, region string) (*vedcdn.DCDN, error) { - if region == "" { - region = "cn-beijing" // DCDN 服务默认区域:北京 - } - +func createSDKClient(accessKeyId, secretAccessKey string) (*vedcdn.DCDN, error) { config := ve.NewConfig(). WithAkSk(accessKeyId, secretAccessKey). - WithRegion(region) + WithRegion("cn-beijing") session, err := vesession.NewSession(config) if err != nil { diff --git a/pkg/core/deployer/providers/volcengine-vod/volcengine_vod.go b/pkg/core/deployer/providers/volcengine-vod/volcengine_vod.go index 823abd805..15881fbac 100644 --- a/pkg/core/deployer/providers/volcengine-vod/volcengine_vod.go +++ b/pkg/core/deployer/providers/volcengine-vod/volcengine_vod.go @@ -30,6 +30,8 @@ type DeployerConfig struct { SecretAccessKey string `json:"secretAccessKey"` // 火山引擎项目名称。 ProjectName string `json:"projectName,omitempty"` + // 火山引擎地域。 + Region string `json:"region"` // 点播空间名称。 SpaceName string `json:"spaceName"` // 域名匹配模式。 @@ -55,7 +57,7 @@ func NewDeployer(config *DeployerConfig) (*Deployer, error) { return nil, fmt.Errorf("the configuration of the deployer provider is nil") } - client, err := createSDKClient(config.AccessKeyId, config.SecretAccessKey) + client, err := createSDKClient(config.AccessKeyId, config.SecretAccessKey, config.Region) if err != nil { return nil, fmt.Errorf("could not create client: %w", err) } @@ -194,11 +196,15 @@ func (d *Deployer) getAllDomains(ctx context.Context) ([]string, error) { return nil, fmt.Errorf("failed to execute sdk request 'vod.ListVodDomain': %w", err) } - for _, domainItem := range listVodDomainResp.Domains { + if listVodDomainResp.VodInfo == nil { + break + } + + for _, domainItem := range listVodDomainResp.VodInfo.Domains { domains = append(domains, ve.StringValue(domainItem.Domain)) } - if len(listVodDomainResp.Domains) < listVodDomainPageSize { + if len(listVodDomainResp.VodInfo.Domains) < listVodDomainPageSize { break } @@ -233,9 +239,14 @@ func (d *Deployer) updateDomainCertificate(ctx context.Context, domain string, c return nil } -func createSDKClient(accessKeyId, secretAccessKey string) (*vevod.VOD20260101, error) { +func createSDKClient(accessKeyId, secretAccessKey, region string) (*vevod.VOD20260101, error) { + if region == "" { + region = "cn-north-1" // VOD 服务默认区域:华北 + } + config := ve.NewConfig(). - WithAkSk(accessKeyId, secretAccessKey) + WithAkSk(accessKeyId, secretAccessKey). + WithRegion(region) session, err := vesession.NewSession(config) if err != nil { diff --git a/pkg/sdk3rd-trimmed/github.com/volcengine/volcengine-go-sdk/service/vod20260101/api_list_vod_domains.go b/pkg/sdk3rd-trimmed/github.com/volcengine/volcengine-go-sdk/service/vod20260101/api_list_vod_domains.go index a82341561..544a6802f 100644 --- a/pkg/sdk3rd-trimmed/github.com/volcengine/volcengine-go-sdk/service/vod20260101/api_list_vod_domains.go +++ b/pkg/sdk3rd-trimmed/github.com/volcengine/volcengine-go-sdk/service/vod20260101/api_list_vod_domains.go @@ -36,6 +36,6 @@ func (c *VOD20260101) ListVodDomainsWithContext(ctx volcengine.Context, input *L type ListVodDomainsInput = vod20260101.ListVodDomainsInput -type ListVodDomainsOutput = vod20260101.VodInfoForListVodDomainsOutput +type ListVodDomainsOutput = vod20260101.ListVodDomainsOutput type ListCdnDomainsParamForListVodDomainsInput = vod20260101.ListCdnDomainsParamForListVodDomainsInput diff --git a/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProviderVolcEngineVOD.tsx b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProviderVolcEngineVOD.tsx index c10c09716..004b50106 100644 --- a/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProviderVolcEngineVOD.tsx +++ b/ui/src/components/workflow/designer/forms/BizDeployNodeConfigFieldsProviderVolcEngineVOD.tsx @@ -34,6 +34,16 @@ const BizDeployNodeConfigFieldsProviderVolcEngineVOD = () => { return ( <> + } + > + + + { const getInitialValues = (): Nullish>> => { return { + region: "cn-north-1", spaceName: "", domainMatchPattern: DOMAIN_MATCH_PATTERN_EXACT, domainType: DOMAIN_TYPE_PLAY, @@ -101,7 +112,8 @@ const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType }) return z .object({ - spaceName: z.string().nonempty().nullish(), + region: z.string().nonempty(), + spaceName: z.string().nonempty(), domainMatchPattern: z.string().nonempty().default(DOMAIN_MATCH_PATTERN_EXACT), domainType: z.enum([DOMAIN_TYPE_PLAY, DOMAIN_TYPE_IMAGE, DOMAIN_TYPE_THIRD]), domain: z.string().nullish(), diff --git a/ui/src/i18n/resources/en/nls.workflow.nodes.json b/ui/src/i18n/resources/en/nls.workflow.nodes.json index 800caf874..71a70d2e6 100644 --- a/ui/src/i18n/resources/en/nls.workflow.nodes.json +++ b/ui/src/i18n/resources/en/nls.workflow.nodes.json @@ -2700,7 +2700,7 @@ "volcengine_alb_region": { "label": "VolcEngine region", "placeholder": "Please enter VolcEngine ALB region (e.g. cn-beijing)", - "tooltip": "For more information, see https://www.volcengine.com/docs/6767/127501" + "tooltip": "For more information, see https://www.volcengine.com/docs/6767/127501" }, "volcengine_alb_deploy_target": { "option": { @@ -2730,7 +2730,7 @@ "volcengine_apig_region": { "label": "VolcEngine region", "placeholder": "Please enter VolcEngine API gateway region (e.g. cn-beijing)", - "tooltip": "For more information, see https://www.volcengine.com/docs/6767/127501" + "tooltip": "For more information, see https://www.volcengine.com/docs/6767/127501" }, "volcengine_apig_domain": { "label": "VolcEngine API gateway custom domain", @@ -2747,7 +2747,7 @@ "volcengine_clb_region": { "label": "VolcEngine region", "placeholder": "Please enter VolcEngine CLB region (e.g. cn-beijing)", - "tooltip": "For more information, see https://www.volcengine.com/docs/6406/74892" + "tooltip": "For more information, see https://www.volcengine.com/docs/6406/74892" }, "volcengine_clb_deploy_target": { "option": { @@ -2776,7 +2776,7 @@ "volcengine_imagex_region": { "label": "VolcEngine region", "placeholder": "Please enter VolcEngine ImageX region (e.g. cn-north-1)", - "tooltip": "For more information, see https://www.volcengine.com/docs/508/23757" + "tooltip": "For more information, see https://www.volcengine.com/docs/508/23757" }, "volcengine_imagex_service_id": { "label": "VolcEngine ImageX service ID", @@ -2794,7 +2794,7 @@ "volcengine_tos_region": { "label": "VolcEngine region", "placeholder": "Please enter VolcEngine TOS region (e.g. cn-beijing)", - "tooltip": "For more information, see https://www.volcengine.com/docs/6349/107356" + "tooltip": "For more information, see https://www.volcengine.com/docs/6349/107356" }, "volcengine_tos_bucket": { "label": "VolcEngine TOS bucket", @@ -2804,6 +2804,11 @@ "label": "VolcEngine TOS custom domain", "placeholder": "Please enter VolcEngine TOS bucket custom domain name" }, + "volcengine_vod_region": { + "label": "VolcEngine region", + "placeholder": "Please enter VolcEngine VOD region (e.g. cn-north-1)", + "tooltip": "For more information, see https://docs.volcengine.com/docs/4/1215505" + }, "volcengine_vod_space_name": { "label": "VolcEngine VOD space name", "placeholder": "Please enter VolcEngine VOD space name", @@ -2831,7 +2836,7 @@ "volcengine_waf_region": { "label": "VolcEngine region", "placeholder": "Please enter VolcEngine WAF region (e.g. cn-beijing)", - "tooltip": "For more information, see https://www.volcengine.com/docs/6511/1594024" + "tooltip": "For more information, see https://www.volcengine.com/docs/6511/1594024" }, "volcengine_waf_access_mode": { "label": "VolcEngine WAF access mode", diff --git a/ui/src/i18n/resources/zh/nls.workflow.nodes.json b/ui/src/i18n/resources/zh/nls.workflow.nodes.json index d43d3c1bb..dcf9e98a8 100644 --- a/ui/src/i18n/resources/zh/nls.workflow.nodes.json +++ b/ui/src/i18n/resources/zh/nls.workflow.nodes.json @@ -2803,6 +2803,11 @@ "label": "火山引擎 TOS 自定义域名", "placeholder": "请输入火山引擎 TOS 自定义域名" }, + "volcengine_vod_region": { + "label": "火山引擎服务地域", + "placeholder": "请输入火山引擎 VOD 服务地域(例如:cn-north-1)", + "tooltip": "这是什么?请参阅 https://docs.volcengine.com/docs/4/1215505" + }, "volcengine_vod_space_name": { "label": "火山引擎 VOD 空间名称", "placeholder": "请输入火山引擎 VOD 空间名称",