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;
}