public static ResourceModel constructModel()

in aws-synthetics-canary/src/main/java/com/amazon/synthetics/canary/ModelHelper.java [40:71]


    public static ResourceModel constructModel(Canary canary, ResourceModel model) {
        Map<String, String> tags = canary.tags();

        model.setId(canary.id());
        model.setName(canary.name());
        model.setArtifactS3Location("s3://" + canary.artifactS3Location());
        model.setExecutionRoleArn(canary.executionRoleArn());
        model.setFailureRetentionPeriod(canary.failureRetentionPeriodInDays());
        model.setSuccessRetentionPeriod(canary.successRetentionPeriodInDays());
        model.setRuntimeVersion(canary.runtimeVersion());
        model.setState(canary.status().stateAsString());

        model.setCode(buildCodeObject(canary.code()));
        model.setSchedule(buildCanaryScheduleObject(canary.schedule()));
        // Tags are optional. Check for null
        model.setTags(tags != null ? buildTagObject(tags) : null);

        // VPC Config is optional. Check for null
        if (!CanaryHelper.isNullOrEmpty(canary.vpcConfig())) {
            model.setVPCConfig(buildVpcConfigObject(canary.vpcConfig()));
        }

        if (!CanaryHelper.isNullOrEmpty(canary.runConfig())) {
            model.setRunConfig(RunConfig.builder()
                .timeoutInSeconds(canary.runConfig().timeoutInSeconds())
                .memoryInMB(canary.runConfig().memoryInMB())
                .activeTracing(canary.runConfig().activeTracing())
                .build());
        }

        return model;
    }