Exemple #1
0
        public void EcsInvokeCommand()
        {
            var accessKey       = Environment.GetEnvironmentVariable("ACCESS_KEY_ID") ?? "AccessKeyId";
            var accessKeySecret = Environment.GetEnvironmentVariable("ACCESS_KEY_SECRET") ?? "AccessKeySecret";
            var regionId        = "cn-hangzhou";

            var profile = DefaultProfile.GetProfile(regionId, accessKey, accessKeySecret);
            var client  = new DefaultAcsClient(profile);

            var request = new InvokeCommandRequest();

            request.CommandId = "commandId";

            var instanceIdList = new List <string>();

            instanceIdList.Add("instance1");
            instanceIdList.Add("instance2");

            request.InstanceIds = instanceIdList;

            try
            {
                var response = client.GetAcsResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException ex)
            {
                Console.WriteLine(ex.ToString());
            }
            catch (ClientException ex)
            {
                Console.WriteLine("ErrorCode" + ex.ErrorCode);
                Console.WriteLine("ErrorMessage" + ex.ErrorMessage);
            }
        }
Exemple #2
0
        /// <summary>
        /// 在指定的实例上触发命令,调用成功返回执行活动ID(inv-xxxxxxxx),每个执行活动内部有一个或多个执行任务(invt-xxxxxxxx),每个执行任务代表命令在一台 CVM 或一台 Lighthouse 上的执行记录。
        ///
        /// * 如果指定实例未安装 agent,或 agent 不在线,返回失败
        /// * 如果命令类型与 agent 运行环境不符,返回失败
        /// * 指定的实例需要处于 VPC 网络
        /// * 指定的实例需要处于 RUNNING 状态
        /// * 不可同时指定 CVM 和 Lighthouse
        /// </summary>
        /// <param name="req"><see cref="InvokeCommandRequest"/></param>
        /// <returns><see cref="InvokeCommandResponse"/></returns>
        public InvokeCommandResponse InvokeCommandSync(InvokeCommandRequest req)
        {
            JsonResponseModel <InvokeCommandResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "InvokeCommand");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <InvokeCommandResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }