public JSONObject toJsonObject()

in src/main/java/com/aliyun/openservices/log/common/EtlJob.java [90:146]


    public JSONObject toJsonObject(boolean withJobName, boolean withSourceConfig) throws LogException {
        JSONObject etlJobJson = new JSONObject();

        if (withJobName) {
            etlJobJson.put(Consts.ETL_JOB_NAME, this.jobName);
        }

        if (withSourceConfig) {
            JSONObject sourceConfigJson = new JSONObject();
            sourceConfigJson.put(Consts.ETL_JOB_LOG_LOGSTORE_NAME, this.sourceConfig.getLogstoreName());
            etlJobJson.put(Consts.ETL_JOB_SOURCE_CONFIG, sourceConfigJson);
        }

        JSONObject triggerConfigJson = new JSONObject();
        triggerConfigJson.put(Consts.ETL_JOB_TRIGGER_ROLEARN, this.triggerConfig.getRoleArn());
        triggerConfigJson.put(Consts.ETL_JOB_TRIGGER_INTERVAL, this.triggerConfig.getTriggerInterval());
        triggerConfigJson.put(Consts.ETL_JOB_TRIGGER_MAX_RETRY_TIME, this.triggerConfig.getMaxRetryTime());
        String startingPosition = this.triggerConfig.getStartingPosition();
        if (startingPosition != null) {
            triggerConfigJson.put(Consts.ETL_JOB_TRIGGER_STARTING_POSITION, startingPosition);
            if (startingPosition.equals(Consts.ETL_JOB_TRIGGER_STARTING_POSITION_AT_UNIXTIME)) {
                triggerConfigJson.put(Consts.ETL_JOB_TRIGGER_STARTING_UNIXTIME, this.triggerConfig.getStartingUnixtime());
            }
        }
        etlJobJson.put(Consts.ETL_JOB_TRIGGER_CONFIG, triggerConfigJson);

        JSONObject functionConfigJson = new JSONObject();
        String functionProvider = this.functionConfig.getFunctionProvider();
        functionConfigJson.put(Consts.ETL_JOB_FUNCTION_PROVIDER, functionProvider);
        if (functionProvider.equals(Consts.FUNCTION_PROVIDER_FC)) {
            EtlFunctionFcConfig fcConfig = (EtlFunctionFcConfig)this.getFunctionConfig();
            functionConfigJson.put(Consts.ETL_JOB_FC_ENDPOINT, fcConfig.getEndpoint());
            functionConfigJson.put(Consts.ETL_JOB_FC_ACCOUNT_ID, fcConfig.getAccountId());
            functionConfigJson.put(Consts.ETL_JOB_FC_REGION_NAME, fcConfig.getRegionName());
            functionConfigJson.put(Consts.ETL_JOB_FC_SERVICE_NAME, fcConfig.getServiceName());
            functionConfigJson.put(Consts.ETL_JOB_FC_FUNCTION_NAME, fcConfig.getFunctionName());
            functionConfigJson.put(Consts.ETL_JOB_TRIGGER_ROLEARN, fcConfig.getRoleArn());
        }
        etlJobJson.put(Consts.ETL_JOB_FUNCTION_CONFIG, functionConfigJson);

        try {
            JSONObject fpJsonObj = JSONObject.parseObject(this.functionParameter);
            etlJobJson.put(Consts.ETL_JOB_FUNCTION_PARAMETER, fpJsonObj);
        } catch (JSONException e) {
            throw new LogException("PostBodyInvalid",  e.getMessage(), e, "");
        }

        JSONObject logConfigJson = new JSONObject();
        logConfigJson.put(Consts.ETL_JOB_LOG_ENDPOINT, this.logConfig.getEndpoint());
        logConfigJson.put(Consts.ETL_JOB_LOG_PROJECT_NAME, this.logConfig.getProjectName());
        logConfigJson.put(Consts.ETL_JOB_LOG_LOGSTORE_NAME, this.logConfig.getLogstoreName());
        etlJobJson.put(Consts.ETL_JOB_LOG_CONFIG, logConfigJson);

        etlJobJson.put(Consts.ETL_ENABLE, this.enable);

        return etlJobJson;
    }