/*-
 * -\-\-
 * Spotify Styx Common
 * --
 * Copyright (C) 2016 Spotify AB
 * --
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * -/-/-
 */

package com.spotify.styx.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.norberg.automatter.AutoMatter;
import java.util.List;
import java.util.Optional;

@AutoMatter
@JsonIgnoreProperties(ignoreUnknown = true)
public interface ExecutionDescription {

  @JsonProperty("docker_image")
  String dockerImage();

  @JsonProperty("docker_args")
  List<String> dockerArgs();

  @JsonProperty("docker_termination_logging")
  boolean dockerTerminationLogging();

  @JsonProperty("secret")
  Optional<WorkflowConfiguration.Secret> secret();

  @JsonProperty("service_account")
  Optional<String> serviceAccount();

  @JsonProperty("commit_sha")
  Optional<String> commitSha();

  static ExecutionDescriptionBuilder builder() {
    return new ExecutionDescriptionBuilder();
  }

  static ExecutionDescription forImage(String dockerImage) {
    return builder().dockerImage(dockerImage).build();
  }
}

@@ -990,169 +990,58 @@
 %0A%0A  
-@JsonProperty(%22docker_image%22)%0A  String dockerImage();%0A%0A  @JsonProperty(%22docker_args%22)%0A  List%3CString%3E dockerArgs();%0A%0A  @JsonProperty(%22docker_termination_logging%22)
+String dockerImage();%0A  List%3CString%3E dockerArgs();
 %0A  b
@@ -1078,35 +1078,8 @@
 g();
-%0A%0A  @JsonProperty(%22secret%22)
 %0A  O
@@ -1129,44 +1129,8 @@
 t();
-%0A%0A  @JsonProperty(%22service_account%22)
 %0A  O
@@ -1166,39 +1166,8 @@
 t();
-%0A%0A  @JsonProperty(%22commit_sha%22)
 %0A  O

remove redundant @JsonProperty annotations