云服务器内容精选

  • 请求示例 创建云数据库RDS组件配置,数据库名称为“cae”,地址为100.xx.xx.xxx,端口号为3306。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "rds", "data" : { "spec" : { "rds_id" : "a5fdee4cf88c4277a68688a014f444bdin01", "rds_db_name" : "cae", "rds_address" : "100.xx.xx.xxx", "rds_username" : "cae", "rds_password" : "xxx", "rds_port" : "3306" } } } ] } 创建 微服务引擎CSE 组件配置,配置中心地址:“https://192.168.1.xxx:30103,https://192.168.1.xxx:30103”,服务注册发现地址:“https://192.168.1.xxx:30100,https://192.168.1.xxx:30100”。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "cse", "data" : { "spec" : { "config_center_addr" : "https://192.168.1.xxx:30103,https://192.168.1.xxx:30103", "service_center_addr" : "https://192.168.1.xxx:30100,https://192.168.1.xxx:30100", "cse_id" : "25779525-1aac-44be-abda-f9164f1b41b8" } } } ] } 创建环境变量组件配置,配置时区为Asia/Shanghai,且注入一个名称为password的凭据作为环境变量。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "env", "data" : { "spec" : { "envs" : { "TZ" : "Asia/Shanghai" }, "env_references" : [ { "env_name" : "env-test", "value_from" : { "name" : "env-test", "reference_type" : "dewSecret" } } ] } } } ] } 创建内网访问方式和负载均衡类型的外网访问方式组件配置。 内网访问方式类型为ClusterIP,监听端口为80,访问端口为8080,协议为TCP。 外网访问方式类型为LoadBalancer,监听端口为80,访问端口为9090,协议为TCP,配置白名单访问控制,仅允许170.126.0.0/16网段的用户访问。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "access", "data" : { "spec" : { "items" : [ { "type" : "ClusterIP", "ports" : [ { "target_port" : 80, "port" : 8080, "protocol" : "TCP" } ] }, { "type" : "LoadBalancer", "access_control" : { "type" : "white", "ip_list" : [ "170.126.0.0/16" ] }, "elb_id" : "xxx", "ports" : [ { "target_port" : 80, "port" : 9090, "protocol" : "TCP" } ] } ] } } } ] } 创建转发策略类型的外网访问方式组件配置,如下请求示例配置了两条转发策略,两条策略的对外协议为HTTPS、负载均衡策略为默认策略,使用加权轮询算法、访问端口为8443,配置黑名单访问策略,不允许10.120.1.1和10.120.1.2这两个IP访问,安全策略为tls-1-2-strict,服务器默认证书是test。 第一条转发策略域名设置为test.example.com,URL匹配规则为前缀匹配,匹配路径为/test1,监听端口设置为80,第一条访问策略未配置域名证书对,使用默认证书test。 第二条转发策略域名设置为test.example.cn,URL匹配规则为前缀匹配,匹配路径为/test2,监听端口设置为80,第二条访问策略配置了域名证书对,使用域名证书对中的证书test1。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "access", "data" : { "spec" : { "items" : [ { "type" : "Ingress", "access_control" : { "type" : "black", "ip_list" : [ "10.120.1.1", "10.120.1.2" ] }, "ports" : [ { "port" : 8443, "protocol" : "HTTPS", "default_certificate" : "test", "policy" : "tls-1-2-strict", "target_port" : 80, "paths" : [ { "path" : "/test1", "url_match_mode" : "STARTS_WITH", "hostname" : "test.example.com" } ] }, { "port" : 8443, "protocol" : "HTTPS", "default_certificate" : "test", "certificate" : "test1", "policy" : "tls-1-2-strict", "target_port" : 80, "paths" : [ { "path" : "/test2", "url_match_mode" : "STARTS_WITH", "hostname" : "test.example.cn" } ] } ] } ] }, "metadata" : { "annotations" : { "kubernetes.io/elb.health-check-flag" : "off", "kubernetes.io/elb.lb-algorithm" : "ROUND_ROBIN" } } } } ] } 创建伸缩策略组件配置,配置最大实例数3个,最小实例数1个,cpu使用率30%,内存使用率30%,缩容冷却时间窗5分钟,每次最大缩容99个实例,最大扩容4个实例,禁止缩容功能关闭。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "scaling", "data" : { "spec" : { "scale_strategy" : "metric", "max_replica_count" : 3, "min_replica_count" : 1, "advanced" : { "scaledown_stabilization_seconds" : 300, "scaledown_rate" : 99, "scaleup_stabilization_seconds" : 0, "scaleup_rate" : 4, "disable_scaledown" : false }, "triggers" : [ { "metadata" : { "type" : "Utilization", "value" : "30" }, "type" : "cpu" }, { "metadata" : { "type" : "Utilization", "value" : "30" }, "type" : "memory" } ] } } } ] } 创建 云存储 配置组件配置(OBS桶配置、OBS并行文件系统、SFS3.0容量型配置),配置存储桶,挂载路径为/tmp,权限设置为读写;配置并行文件系统,挂载路径为/temp,权限设置为读写。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "volume", "data" : { "spec" : { "volumes" : [ { "volume_id" : "bef119d0-c7d1-4b58-9794-8b74faf80a59", "resource_name" : "test-nacos", "resource_type" : "obs", "resource_sub_type" : "object_bucket", "umask" : "0027", "mount_info" : [ { "path" : "/tmp", "access_mode" : "ReadWriteMany" } ] }, { "mount_info" : [ { "path" : "/temp", "access_mode" : "ReadWriteMany" } ], "volume_id" : "a061934d-52e3-4b36-aea7-6c51879f84c9", "resource_name" : "test", "resource_type" : "obs", "resource_sub_type" : "parallel_file_system", "umask" : "0027" } ] } } } ] } 创建健康检查组件配置(配置存活探针、就绪探针、启动探针)。 配置存活探针,类型为livenessProbe,检测周期10s,延迟时间1s,超时时间1s,成功阈值1,最大失败次数3,端口为80,协议HTTP,路径、请求头未设置。 配置就绪探针,类型为readinessProbe,检测周期10s,延迟时间0s(0可不传),超时时间1s,成功阈值1,最大失败次数3,端口为80,协议HTTP,路径、请求头未设置。 配置启动探针,类型为startupProbe,检测周期10s,延迟时间0s(0可不传),超时时间1s,成功阈值1,最大失败次数3,端口为80,协议HTTP,路径未设置,请求头设置x-auth-token。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "healthCheck", "data" : { "spec" : { "livenessProbe" : { "periodSeconds" : 10, "initialDelaySeconds" : 1, "timeoutSeconds" : 1, "successThreshold" : 1, "failureThreshold" : 3, "httpGet" : { "path" : "", "port" : 80, "httpHeaders" : [ ], "scheme" : "HTTP" } }, "startupProbe" : { "periodSeconds" : 10, "timeoutSeconds" : 1, "successThreshold" : 1, "failureThreshold" : 3, "httpGet" : { "path" : "", "port" : 80, "httpHeaders" : [ { "name" : "x-auth-token", "value" : "xxx" } ], "scheme" : "HTTP" } }, "readinessProbe" : { "periodSeconds" : 10, "timeoutSeconds" : 1, "successThreshold" : 1, "failureThreshold" : 3, "httpGet" : { "path" : "", "port" : 80, "httpHeaders" : [ ], "scheme" : "HTTP" } } } } } ] } 创建生命周期管理组件配置(配置启动后处理、停止前处理)。配置启动后命令脚本“/bin/sh -c "echo service start"”,配置停止前命令脚本“/bin/sh -c "echo service end"”。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "lifecycle", "data" : { "spec" : { "postStart" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service start" ] } }, "preStop" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service end" ] } } } } } ] } 创建自定义日志配置,创建自定义路径“/var/log/error.log”。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "log", "data" : { "spec" : { "log_paths" : [ "/var/log/error.log" ] } } } ] } 创建性能管理配置,探针注入方式为自动注入。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "apm2", "data" : { "spec" : { "instrumentation" : "automatic" } } } ] } 创建自定义监控指标配置,采集路径为/metrics,采集端口为2112,指定一个自定义监控指标,名称为myapp_processed_ops_total。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "customMetric", "data" : { "spec" : { "path" : "/metrics", "port" : 2112, "metrics" : [ "myapp_processed_ops_total" ] } } } ] } 使用增删改模式新增转发策略类型的外网访问方式组件配置,如下请求示例配置了基于最后一次生效配置中uid为“1”的访问方式中uid为“1-1”的转发策略配置,修改了监听端口为8080,URL为/test3,域名为test.example.com,URL匹配规则为正则匹配并且剩余字段保持不变后新增到原有配置中。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "access", "data" : { "spec" : { "items" : [ { "operator" : "modify", "uid" : 1, "ports" : [ { "operator" : "copy", "uid" : "1-1", "target_port" : 8080, "paths" : [ { "path" : "/test3", "url_match_mode" : "REGEX", "hostname" : "test.example.com" } ] } ] } ] } } } ] } 使用增删改模式删除转发策略类型的外网访问方式组件配置,如下请求示例配置了将最后一次生效配置中uid为“1”的访问方式中uid为“1-2”的转发策略配置删除。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "access", "data" : { "spec" : { "items" : [ { "operator" : "modify", "uid" : 1, "ports" : [ { "operator" : "delete", "uid" : "1-2" } ] } ] } } } ] } 使用增删改模式修改转发策略类型的外网访问方式组件配置,如下请求示例配置了将最后一次生效配置中uid为“1”的访问方式中uid为“1-2”的转发策略配置,只修改监听端口为8081。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "access", "data" : { "spec" : { "items" : [ { "operator" : "modify", "uid" : 1, "ports" : [ { "operator" : "modify", "uid" : "1-2", "target_port" : 8081 } ] } ] } } } ] } 混合策略配置,最大实例数3个,最小1个。 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "data" : { "spec" : { "scale_strategy" : "mix", "max_replica_count" : 3, "min_replica_count" : 1, "triggers" : [ { "metadata" : { "period_type" : "day", "schedulers" : [ { "cron" : "00 00 * * *", "target_replica" : 1 }, { "cron" : "00 09 * * *", "target_replica" : 2 } ] }, "type" : "cron" }, { "metadata" : { "type" : "Utilization", "value" : "80" }, "type" : "cpu" }, { "metadata" : { "type" : "Utilization", "value" : "80" }, "type" : "memory" } ], "switch" : "on" } }, "type" : "scaling" } ] } 伸缩指标:在cpu使用率、内存使用率阈值都设为80%。 伸缩时间:每天的0点之后保持实例数为1,9点后保持实例数为2。
  • URI POST /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取项目ID请参见获取项目ID。 application_id 是 String 应用ID。 component_id 是 String 组件ID。
  • 操作(Action) 操作(Action)即为身份策略中支持的授权项。 “访问级别”列描述如何对操作进行分类(List、Read和Write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。 “资源类型”列指每个操作是否支持资源级权限。 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的Resource元素中指定所有资源类型(“*”)。 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。 关于cae定义的资源类型的详细信息请参见资源类型(Resource)。 “条件键”列包括了可以在身份策略语句的Condition元素中支持指定的键值。 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。 如果此列条件键没有值(-),表示此操作不支持指定条件键。 关于cae定义的条件键的详细信息请参见条件(Condition)。 “别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的API访问。详细信息请参见身份策略兼容性说明。 您可以在身份策略语句的Action元素中指定以下cae的相关操作。 表1 cae支持的授权项 授权项 描述 访问级别 资源类型(*为必须) 条件键 别名 cae:environment:listEnvironments 授予查询所有环境的权限。 List environment * - cae:environment:list cae:environment:createEnvironment 授予创建环境的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteEnvironment 授予删除环境的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:getEnvironment 授予查询环境的权限。 Read environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:listCloudVolumes 授予查询所有云存储的权限。 List environment * - cae:environment:list - g:EnterpriseProjectId cae:environment:createCloudVolume 授予授权云存储的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteCloudVolume 授予解绑云存储的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:listDomains 授予查询所有域名的权限。 List environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:createDomain 授予创建域名的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteDomain 授予删除域名的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:listCertificates 授予查询所有证书的权限。 List environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:createCertificate 授予创建证书的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteCertificate 授予删除证书的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:updateCertificate 授予更新证书的权限。 Write environment * - cae:environment:update - g:EnterpriseProjectId cae:environment:listTimerRules 授予查询所有启停规则的权限。 List environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:createTimerRule 授予创建启停规则的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteTimerRule 授予删除启停规则的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:updateTimerRule 授予更新启停规则的权限。 Write environment * - cae:environment:update - g:EnterpriseProjectId cae:environment:getTimerRule 授予查询启停规则的权限。 Read environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:listEips 授予查看所有EIP(环境与公网互相访问)的权限。 List environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:updateEip 授予更新EIP(环境与公网互相访问)的权限。 Write environment * - cae:environment:update - g:EnterpriseProjectId cae:environment:listVpcEgresses 授予查看所有VpcEgress(环境访问VPC)的权限。 List environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:createVpcEgress 授予创建VpcEgress(环境访问VPC)的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteVpcEgress 授予删除VpcEgress(环境访问VPC)的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:listVpcIngresses 授予查看所有VpcIngress(VPC访问环境)的权限。 List environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:createVpcIngress 授予创建VpcIngress(VPC访问环境)的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteVpcIngress 授予删除VpcIngress(VPC访问环境)的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:createMonitorSystem 授予创建监控系统的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:updateMonitorSystem 授予更新监控系统的权限。 Write environment * - cae:environment:update - g:EnterpriseProjectId cae:environment:getMonitorSystem 授予查询监控系统的权限。 Read environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:listIngressConfigs 授予查看所有入网配置的权限。 List environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:createIngressConfig 授予创建入网配置的权限。 Write environment * - cae:environment:create - g:EnterpriseProjectId cae:environment:deleteIngressConfig 授予删除入网配置的权限。 Write environment * - cae:environment:delete - g:EnterpriseProjectId cae:environment:updateIngressConfig 授予更新入网配置的权限。 Write environment * - cae:environment:update - g:EnterpriseProjectId cae:environment:getEgressConfig 授予查询出网配置的权限。 Read environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:updateEgressConfig 授予更新出网配置的权限。 Write environment * - cae:environment:update - g:EnterpriseProjectId cae:environment:getUrlMonitorConfig 授予查询URL监控配置的权限。 Read environment * - cae:environment:get - g:EnterpriseProjectId cae:environment:updateUrlMonitorConfig 授予更新URL监控配置的权限。 Write environment * - cae:environment:update - g:EnterpriseProjectId cae:application:listApplications 授予查询所有应用的权限。 List application * - cae:application:list cae:application:createApplication 授予创建应用的权限。 Write application * - cae:application:create - g:EnterpriseProjectId cae:application:deleteApplication 授予删除应用的权限。 Write application * - cae:application:delete - g:EnterpriseProjectId cae:component:listComponents 授予查询所有组件的权限。 List component * - cae:application:list - g:EnterpriseProjectId cae:component:createComponent 授予创建组件的权限。 Write component * - cae:application:create - g:EnterpriseProjectId cae:component:deleteComponent 授予删除组件的权限。 Write component * - cae:application:delete - g:EnterpriseProjectId cae:component:updateComponent 授予更新组件的权限。 Write component * - cae:application:modify - g:EnterpriseProjectId cae:component:getComponent 授予查询组件的权限。 Read component * - cae:application:get - g:EnterpriseProjectId cae:component:createWithConfigComponent 授予创建、生效配置并部署组件的权限。 Write component * - cae:application:create - g:EnterpriseProjectId cae:component:operateComponent 授予操作(deploy|scale|upgrade|rollback|start|stop|restart|configure)组件的权限。 Write component * - cae:application:modify - g:EnterpriseProjectId cae:component:deployComponent 授予部署组件的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:scaleComponent 授予修改组件实例个数的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:upgradeComponent 授予升级组件的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:rollbackComponent 授予回退组件的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:startComponent 授予启动组件的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:stopComponent 授予停止组件的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:restartComponent 授予重启组件的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:labelComponent 授予标记组件的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:configureComponent 授予生效组件配置的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:listConfigurations 授予查询组件所有配置的权限。 List component * - cae:application:get - g:EnterpriseProjectId cae:component:createConfiguration 授予创建(更新)组件配置的权限。 Write component * - cae:application:create - g:EnterpriseProjectId cae:component:deleteConfiguration 授予删除(取消)组件配置的权限。 Write component * - cae:application:delete - g:EnterpriseProjectId cae:component:getConfiguration 授予查询组件配置的权限。 Read component * - cae:application:list cae:application:get - g:EnterpriseProjectId cae:component:createInstanceWebShell 授予创建远程登录的权限。 Write component * - cae:application:createConsole - g:EnterpriseProjectId cae:component:listConfigItems 授予查询所有配置项的权限(元戎共享版)。 List component * - - - g:EnterpriseProjectId cae:component:createConfigItem 授予创建配置项的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae:component:deleteConfigItem 授予删除配置项的权限(元戎共享版)。 Write component * - - - g:EnterpriseProjectId cae::listNoticeRules 授予查询所有事件通知规则的权限。 List - g:EnterpriseProjectId cae:environment:get cae::createNoticeRule 授予创建事件通知规则的权限。 Write - g:EnterpriseProjectId cae:environment:create cae::deleteNoticeRule 授予删除事件通知规则的权限。 Write - g:EnterpriseProjectId cae:environment:delete cae::updateNoticeRule 授予更新事件通知规则的权限。 Write - g:EnterpriseProjectId cae:environment:update cae::getNoticeRule 授予查询事件通知规则的权限。 Read - g:EnterpriseProjectId cae:environment:get cae::listDewSecrets 授予查询所有凭据的权限。 List - g:EnterpriseProjectId cae:environment:get cae::createDewSecret 授予创建凭据的权限。 Write - g:EnterpriseProjectId cae:environment:create cae::deleteDewSecret 授予删除凭据的权限。 Write - g:EnterpriseProjectId cae:environment:delete cae::updateDewSecret 授予更新凭据的权限。 Write - g:EnterpriseProjectId cae:environment:update cae::getDewSecret 授予查询凭据的权限。 Read - g:EnterpriseProjectId cae:environment:get cae::listImageSecrets 授予查询所有镜像访问凭据的权限(元戎共享版)。 List - g:EnterpriseProjectId cae:imageSecret:list cae::createImageSecret 授予创建镜像访问凭据的权限(元戎共享版)。 Write - g:EnterpriseProjectId cae:imageSecret:create cae::deleteImageSecret 授予删除镜像访问凭据的权限(元戎共享版)。 Write - g:EnterpriseProjectId cae:imageSecret:delete cae::listComponentSpecificationWhiteLists 授予查询所有组件规格白名单的权限(元戎共享版)。 List - g:EnterpriseProjectId cae:componentSpecWhiteListConfig:get cae::createComponentSpecificationWhiteList 授予创建组件规格白名单的权限(元戎共享版)。 Write - g:EnterpriseProjectId cae:componentSpecWhiteListConfig:create cae::updateComponentSpecificationWhiteList 授予更新组件规格白名单的权限。 Write - g:EnterpriseProjectId cae:componentSpecWhiteListConfig:update cae::deleteComponentSpecificationWhiteList 授予删除组件规格白名单的权限(元戎共享版)。 Write - g:EnterpriseProjectId cae:componentSpecWhiteListConfig:delete cae::listMaintenanceConfigs 授予查询所有运维配置的权限(元戎共享版)。 List - g:EnterpriseProjectId cae:maintenanceConfig:get cae::createMaintenanceConfig 授予创建运维配置的权限(元戎共享版)。 Write - g:EnterpriseProjectId cae:maintenanceConfig:create cae::deleteMaintenanceConfig 授予删除运维配置的权限(元戎共享版)。 Write - g:EnterpriseProjectId cae:maintenanceConfig:delete cae::buyPackage 授予购买套餐包的权限。 Write - g:EnterpriseProjectId cae:environment:create cae的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该API需要依赖的授权项。 表2 API与授权项的关系 API 对应的授权项 依赖的授权项 GET /v1/{project_id}/cae/environments cae:environment:listEnvironments - POST /v1/{project_id}/cae/environments cae:environment:createEnvironment - DELETE /v1/{project_id}/cae/environments/{environment_id} cae:environment:deleteEnvironment - GET /v1/{project_id}/cae/volumes cae:environment:listCloudVolumes - POST /v1/{project_id}/cae/volumes cae:environment:createCloudVolume - DELETE /v1/{project_id}/cae/volumes/{id} cae:environment:deleteCloudVolume - GET /v1/{project_id}/cae/domains cae:environment:listDomains - POST /v1/{project_id}/cae/domains cae:environment:createDomain - DELETE /v1/{project_id}/cae/domains/{domain_id} cae:environment:deleteDomain - GET /v1/{project_id}/cae/certificates cae:environment:listCertificates - POST /v1/{project_id}/cae/certificates cae:environment:createCertificate - PUT /v1/{project_id}/cae/certificates/{certificate_id} cae:environment:updateCertificate - DELETE /v1/{project_id}/cae/certificates/{certificate_id} cae:environment:deleteCertificate - GET /v1/{project_id}/cae/timer-rules cae:environment:listTimerRules - POST /v1/{project_id}/cae/timer-rules cae:environment:createTimerRule - DELETE /v1/{project_id}/cae/timer-rules/{timer_rule_id} cae:environment:deleteTimerRule - PUT /v1/{project_id}/cae/timer-rules/{timer_rule_id} cae:environment:updateTimerRule - GET /v1/{project_id}/cae/timer-rules/{timer_rule_id}/execution-results cae:environment:getTimerRule - GET /v1/{project_id}/cae/eips cae:environment:listEips - PUT /v1/{project_id}/cae/eips cae:environment:updateEip - GET /v1/{project_id}/cae/vpc-egress cae:environment:listVpcEgresses - POST /v1/{project_id}/cae/vpc-egress cae:environment:createVpcEgress - DELETE /v1/{project_id}/cae/vpc-egress/{vpc_egress_id} cae:environment:deleteVpcEgress - GET /v1/{project_id}/cae/vpc-ingress cae:environment:listVpcIngresses - POST /v1/{project_id}/cae/vpc-ingress cae:environment:createVpcIngress - DELETE /v1/{project_id}/cae/vpc-ingress/{vpc_ingress_id} cae:environment:deleteVpcIngress - GET /v1/{project_id}/cae/monitor-system cae:environment:getMonitorSystem - POST /v1/{project_id}/cae/monitor-system cae:environment:createMonitorSystem - PUT /v1/{project_id}/cae/monitor-system/{monitor_system_id} cae:environment:updateMonitorSystem - GET /v1/{project_id}/cae/applications cae:application:listApplications - POST /v1/{project_id}/cae/applications cae:application:createApplication - DELETE /v1/{project_id}/cae/applications/{application_id} cae:application:deleteApplication - GET /v1/{project_id}/cae/applications/{application_id} cae:application:listApplications - POST /v1/{project_id}/cae/applications/{application_id}/components cae:component:createComponent - GET /v1/{project_id}/cae/applications/{application_id}/components cae:component:listComponents - GET /v1/{project_id}/cae/applications/{application_id}/components/{component_id} cae:component:getComponent - PUT /v1/{project_id}/cae/applications/{application_id}/components/{component_id} cae:component:updateComponent - DELETE /v1/{project_id}/cae/applications/{application_id}/components/{component_id} cae:component:deleteComponent - POST /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action cae:component:operateComponent - GET /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations cae:component:listConfigurations - POST /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations cae:component:createConfiguration - DELETE /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations cae:component:deleteConfiguration - GET /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configuration-history-time cae:component:getConfiguration - GET /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configuration-history cae:component:getConfiguration - GET /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/instances cae:component:getComponent - GET /v1/{project_id}/cae/jobs/{job_id} cae:environment:getEnvironment - POST /v1/{project_id}/cae/jobs/{job_id} cae:environment:createEnvironment - POST /v1/{project_id}/cae/notice-rules cae::createNoticeRule - GET /v1/{project_id}/cae/notice-rules cae::listNoticeRules - PUT /v1/{project_id}/cae/notice-rules/{rule_id} cae::updateNoticeRule - GET /v1/{project_id}/cae/notice-rules/{rule_id} cae::getNoticeRule - DELETE /v1/{project_id}/cae/notice-rules/{rule_id} cae::deleteNoticeRule - POST /v1/{project_id}/cae/dew-secrets cae::createDewSecret - GET /v1/{project_id}/cae/dew-secrets cae::listDewSecrets - PUT /v1/{project_id}/cae/dew-secrets/{secret_id} cae::updateDewSecret - DELETE /v1/{project_id}/cae/dew-secrets/{secret_id} cae::deleteDewSecret - GET /v1/{project_id}/cae/dew-secrets/{secret_id}/effective-components cae::getDewSecret -
  • 响应示例 状态码:200 请求成功。 { "api_version" : "v1", "kind" : "Job", "spec" : { "progress" : 0, "status" : "running", "tasks" : [ { "index" : 1, "name" : "upgrade", "status" : "init", "detail" : "", "created_at" : "2023-02-16T11:24:07.950175Z", "updated_at" : "2023-02-16T11:24:07.950175Z" } ] } }
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 api_version String API版本,固定值“v1”,该值不可修改。 kind String API类型,固定值“Job”,该值不可修改。 spec JobSpec object job规格信息。 表4 JobSpec 参数 参数类型 描述 progress Number 任务进度。 status String 任务状态。 init: 初始化中 running: 运行中 failed: 执行失败 timeout: 执行超时 success: 执行成功 skip: 忽略执行 terminating: 手动终止中 terminated: 已手动终止 tasks Array of Task objects 子任务。 表5 Task 参数 参数类型 描述 index Integer 任务序号。 name String 任务名称。 status String 参数解释: 任务状态。 取值范围: init: 初始化中 running: 运行中 failed: 执行失败 timeout: 执行超时 success: 执行成功 skip: 忽略执行 terminating: 手动终止中 terminated: 已手动终止 默认取值: 不涉及。 detail String 任务详情。 created_at String 创建时间。 updated_at String 更新时间。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token ,请参考《 统一身份认证 服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Enterprise-Project-ID 否 String 企业项目ID。 创建环境时,环境会绑定企业项目ID。 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 X-Environment-ID 是 String 环境ID。 获取环境ID,通过获取环境列表来获取环境信息。 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。
  • 请求示例 更新监控系统配置。 PUT https://{endpoint}/v1/{project_id}/cae/monitor-system/{monitor_system_id} { "api_version" : "v1", "kind" : "MonitorSystem", "spec" : { "type" : "opentelemetry", "access_token" : "******", "apm_application" : "default", "image_pull_policy" : "Always", "version" : "1.32.0.14", "instrumentation" : "automatic" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Enterprise-Project-ID 否 String 企业项目ID。 创建环境时,环境会绑定企业项目ID。 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 X-Environment-ID 是 String 环境ID。 获取环境ID,通过获取环境列表来获取环境信息。 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。 表3 请求Body参数 参数 是否必选 参数类型 描述 api_version 否 String API版本,固定值“v1”,该值不可修改。 kind 否 String API类型,固定值“MonitorSystem”,该值不可修改。 spec 否 MonitorSystemRequestBodySpec object 创建或更新监控系统配置。 表4 MonitorSystemRequestBodySpec 参数 是否必选 参数类型 描述 type 是 String 参数解释: 采集方式。 取值范围: opentelemetry:对接opentelemetry agent apm2:对接apm2 agent 默认取值: 不涉及。 instrumentation 是 String 探针注入方式。 access_key 否 String apm2访问密钥Key。 access_value 否 String apm2访问密钥value。 access_token 否 String apm2 opentelemetry接入token。 apm_application 是 String apm2应用。 version 是 String 增强型探针/opentelemetry探针版本。 image_pull_policy 是 String 探针镜像更新策略。
  • 请求示例 创建定时启停规则,策略名称为“test”,是一个启动策略,生效组件范围涉及环境中的所有组件,触发策略为“执行一次”。 POST https://{endpoint}/v1/{project_id}/cae/timer-rules { "api_version" : "v1", "kind" : "TimerRule", "spec" : { "name" : "test", "type" : "start", "cron" : "0 55 16 22 2 ? 2023", "status" : "on", "env_id" : "c41a8e9f-5447-406a-8783-85885f3870a3", "effective_range" : "environment", "effective_policy" : "onetime" } }
  • 响应参数 状态码:200 表7 响应Body参数 参数 参数类型 描述 api_version String API版本,固定值“v1”,该值不可修改。 kind String API类型,固定值“TimerRule”,该值不可修改。 items Array of TimerRuleDetails objects 启停规则列表。 表8 TimerRuleDetails 参数 参数类型 描述 id String 定时启停规则ID,在创建定时启停规则时会忽略。 name String 定时启停规则名称。 type String 参数解释: 定时启停规则的类型:stop/start。 取值范围: stop:停止策略 start:启动策略 默认取值: 不涉及。 status String 参数解释: 定时启停规则状态(是否开启):on/off。 取值范围: on:开启 off:关闭 默认取值: 不涉及。 env_id String 环境ID。 apps Array of AppInfo objects 定时启停规则所包含的所有应用,只在生效范围为application的时候需要填写。 components Array of ComponentInfo objects 在定时启停规则所包含的所有组件,只在生效范围为component的时候需要填写。 component_number Integer 定时启停规则包含的组件个数,在创建定时启停规则时会忽略。 cron String cron表达式。 effective_range String 定时启停规则生效范围: component/application/environment。 effective_policy String 定时启停规则的定时类别: onetime/periodic。 last_execution_status String 参数解释: 上次执行的状态:abnormal/normal/waiting,在创建定时启停规则时会忽略。 取值范围: abnormal:不正常 normal:正常 waiting:未执行 默认取值: 获取定时启停规则列表时,默认取值为waiting。其他情况不涉及默认取值。 timezone_offset String 定时启停规则中的时区偏移量,例如北京时间为+8 表9 AppInfo 参数 参数类型 描述 app_id String 应用ID。 app_name String 应用名称。 表10 ComponentInfo 参数 参数类型 描述 component_id String 组件ID。 component_name String 组件名称。
  • 响应示例 状态码:200 请求成功。 { "api_version": "v1", "kind": "TimerRule", "items": [ { "id": "string", "name": "string", "type": "start", "env_id": "string", "cron": "0 16 17 31 1 ? 2023", "component_number": 2, "status": "off", "last_execution_status": "normal", "effective_range": "application", "effective_policy": "onetime", "timezone_offset": "+8", "apps": [ { "app_id": "string", "app_name": "string" } ] ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Enterprise-Project-ID 否 String 企业项目ID。 创建环境时,环境会绑定企业项目ID。 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 X-Environment-ID 是 String 环境ID。 获取环境ID,通过获取环境列表来获取环境信息。 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。 表3 请求Body参数 参数 是否必选 参数类型 描述 api_version 否 String API版本,固定值“v1”,该值不可修改。 kind 否 String API类型,固定值“TimerRule”,该值不可修改。 spec 否 UpdateTimerRuleDetails object 启停规则规格信息。 表4 UpdateTimerRuleDetails 参数 是否必选 参数类型 描述 name 是 String 定时启停规则名称。 type 是 String 参数解释: 定时启停规则的类型:stop/start。 取值范围: stop:停止策略 start:启动策略 默认取值: 不涉及。 status 是 String 参数解释: 定时启停规则状态(是否开启):on/off。 取值范围: on:开启 off:关闭 默认取值: 不涉及。 apps 否 Array of AppInfo objects 定时启停规则所包含的所有应用,只在生效范围为application的时候需要填写。 components 否 Array of ComponentInfo objects 在定时启停规则所包含的所有组件,只在生效范围为component的时候需要填写。 cron 是 String cron表达式。 effective_range 是 String 定时启停规则生效范围: component/application/environment。 effective_policy 是 String 定时启停规则的定时类别: onetime/periodic。 timezone_offset 是 String 定时启停规则中的时区偏移量,例如北京时间为+8 表5 AppInfo 参数 是否必选 参数类型 描述 app_id 否 String 应用ID。 app_name 否 String 应用名称。 表6 ComponentInfo 参数 是否必选 参数类型 描述 component_id 否 String 组件ID。 component_name 否 String 组件名称。
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 api_version String API版本,固定值“v1”,该值不可修改。 kind String API类型,固定值“TimerRule”,该值不可修改。 spec ExecutionDetails object 启停规则执行信息。 表4 ExecutionDetails 参数 参数类型 描述 last_execution_time String 启停策略执行时间。 items Array of ComponentExecutionResult objects 组件启停规则执行结果列表。 表5 ComponentExecutionResult 参数 参数类型 描述 component_name String 组件名称。 component_id String 组件ID。 status String 参数解释: 组件执行启停的结果:failed/success。 取值范围: failed:失败 success:成功 默认取值: 不涉及。 error_message String 组件执行启停的错误信息,如果执行结果为成功,则为空。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Enterprise-Project-ID 否 String 企业项目ID。 创建环境时,环境会绑定企业项目ID。 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 X-Environment-ID 是 String 环境ID。 获取环境ID,通过获取环境列表来获取环境信息。 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。
  • 响应示例 状态码:200 请求成功。 { "api_version": "v1", "kind": "TimerRule", "spec": { "last_execution_time": "string", "items": [ { "component_name": "string", "component_id": "string", "status": "normal", "error_message": "", }, { "component_name": "string", "component_id": "string", "status": "abnormal", "error_message": "string", } ] } }