HHWCloudSolution优化代码
6998f6a0Add on Jan 5, 2023History
{
    "terraform": {
        "required_providers": [
            {
                "huaweicloud": {
                    "source": "huawei.com/provider/huaweicloud",
                    "version": ">=1.40.1"
                }
            }
        ]
    },
    "provider": {
        "huaweicloud": {
            "region": "cn-north-4",
            "cloud": "myhuaweicloud.com",
            "endpoints": {
                "iam": "iam.cn-north-4.myhuaweicloud.com",
                "dns": "dns.cn-north-4.myhuaweicloud.com"
            },
            "insecure": true,
            "auth_url": "https://iam.cn-north-4.myhuaweicloud.com/v3"
        }
    },
    "variable": {
        "function_name": {
            "default": "call-center-speech-analytics-demo",
            "description": "函数名称,用于定义创建函数及其他资源前缀,不支持重名。取值范围:2-57个字符,可包含字母、数字、下划线和中划线,以大/小写字母开头,以字母或数字结尾。默认为call-center-speech-analytics-demo。",
            "type": "string",
            "nullable": "false"
        },
        "speech_bucket_name": {
            "default": "",
            "description": "OBS桶名称,全局唯一,用于上传wav语音文件,上传的录音时长不应超过15min。取值范围:3~55个字符,支持小写字母、数字、中划线(-)、英文句号(.)。",
            "type": "string",
            "nullable": "false"
        },
        "result_bucket_name": {
            "default": "",
            "description": "OBS桶名称,全局唯一,用于存放客服中心质检识别结果。取值范围:3~63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。",
            "type": "string",
            "nullable": "false"
        },
        "channel": {
            "default": "LEFT_AGENT",
            "description": "语音文件声道信息,可设置为MONO,LEFT_AGENT, RIGHT_AGENT。如果channel 为MONO,那么原始文件需要为单声道文件。LEFT_AGENT 指定左声道语音为agent(坐席)。RIGHT_AGENT 指定右声道为agent(坐席)。如果 channel 为 LEFT_AGENT或RIGHT_AGENT,则原始文件需要为双声道文件,如果为单声道文件,系统会将其转换成双声道文件,识别结果会出现两条内容完全一致的文本。默认为LEFT_AGENT。",
            "type": "string",
            "nullable": "false"
        }
    },
    "resource": {
        "huaweicloud_fgs_function": {
            "fgs_function": {
                "agency": "${huaweicloud_identity_agency.agency.name}",
                "app": "default",
                "code_type": "obs",
                "code_url": "https://documentation-samples.obs.cn-north-4.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-moudle/speech-recognition-call-center-speech-analytics/functiongraph/call-center-speech-analytics.zip",
                "functiongraph_version": "v2",
                "handler": "index.handler",
                "memory_size": 128,
                "name": "${var.function_name}_fgs",
                "runtime": "Python3.9",
                "timeout": 900,
                "user_data": "${jsonencode({\n   result_bucket = huaweicloud_obs_bucket.sis_app_result_bucket.bucket\n  region = \"cn-north-4\" \n channel=\"LEFT_AGENT\" \n  })}"
            }
        },
        "huaweicloud_fgs_trigger": {
            "fgs_trigger": {
                "depends_on": [
                    "huaweicloud_fgs_function.fgs_function"
                ],
                "function_urn": "${huaweicloud_fgs_function.fgs_function.urn}",
                "obs": [
                    {
                        "bucket_name": "${huaweicloud_obs_bucket.sis_app_speech_bucket.bucket}",
                        "event_notification_name": "${var.speech_bucket_name}_trigger",
                        "events": [
                            "Post",
                            "Put"
                        ]
                    }
                ],
                "status": "ACTIVE",
                "type": "OBS"
            }
        },
        "huaweicloud_identity_agency": {
            "agency": {
                "delegated_service_name": "op_svc_cff",
                "domain_roles": [
                    "OBS Administrator"
                ],
                "name": "${var.function_name}_agency",
                "project_role": [
                    {
                        "project": "MOS",
                        "roles": [
                            "OBS Administrator"
                        ]
                    }
                ]
            }
        },
        "huaweicloud_obs_bucket": {
            "sis_app_speech_bucket": {
                "acl": "private",
                "bucket": "${var.speech_bucket_name}",
                "multi_az": true
            },
            "sis_app_result_bucket": {
                "acl": "private",
                "bucket": "${var.result_bucket_name}",
                "multi_az": true
            }
        }
    }
}