// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/ads/googleads/v10/services/batch_job_service.proto

package com.google.ads.googleads.v10.services;

public interface AddBatchJobOperationsRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.ads.googleads.v10.services.AddBatchJobOperationsRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Required. The resource name of the batch job.
   * </pre>
   *
   * <code>string resource_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }</code>
   * @return The resourceName.
   */
  java.lang.String getResourceName();
  /**
   * <pre>
   * Required. The resource name of the batch job.
   * </pre>
   *
   * <code>string resource_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }</code>
   * @return The bytes for resourceName.
   */
  com.google.protobuf.ByteString
      getResourceNameBytes();

  /**
   * <pre>
   * A token used to enforce sequencing.
   * The first AddBatchJobOperations request for a batch job should not set
   * sequence_token. Subsequent requests must set sequence_token to the value of
   * next_sequence_token received in the previous AddBatchJobOperations
   * response.
   * </pre>
   *
   * <code>string sequence_token = 2;</code>
   * @return The sequenceToken.
   */
  java.lang.String getSequenceToken();
  /**
   * <pre>
   * A token used to enforce sequencing.
   * The first AddBatchJobOperations request for a batch job should not set
   * sequence_token. Subsequent requests must set sequence_token to the value of
   * next_sequence_token received in the previous AddBatchJobOperations
   * response.
   * </pre>
   *
   * <code>string sequence_token = 2;</code>
   * @return The bytes for sequenceToken.
   */
  com.google.protobuf.ByteString
      getSequenceTokenBytes();

  /**
   * <pre>
   * Required. The list of mutates being added.
   * Operations can use negative integers as temp ids to signify dependencies
   * between entities created in this batch job. For example, a customer with
   * id = 1234 can create a campaign and an ad group in that same campaign by
   * creating a campaign in the first operation with the resource name
   * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
   * in the second operation with the campaign field also set to
   * "customers/1234/campaigns/-1".
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v10.services.MutateOperation mutate_operations = 3 [(.google.api.field_behavior) = REQUIRED];</code>
   */
  java.util.List<com.google.ads.googleads.v10.services.MutateOperation> 
      getMutateOperationsList();
  /**
   * <pre>
   * Required. The list of mutates being added.
   * Operations can use negative integers as temp ids to signify dependencies
   * between entities created in this batch job. For example, a customer with
   * id = 1234 can create a campaign and an ad group in that same campaign by
   * creating a campaign in the first operation with the resource name
   * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
   * in the second operation with the campaign field also set to
   * "customers/1234/campaigns/-1".
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v10.services.MutateOperation mutate_operations = 3 [(.google.api.field_behavior) = REQUIRED];</code>
   */
  com.google.ads.googleads.v10.services.MutateOperation getMutateOperations(int index);
  /**
   * <pre>
   * Required. The list of mutates being added.
   * Operations can use negative integers as temp ids to signify dependencies
   * between entities created in this batch job. For example, a customer with
   * id = 1234 can create a campaign and an ad group in that same campaign by
   * creating a campaign in the first operation with the resource name
   * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
   * in the second operation with the campaign field also set to
   * "customers/1234/campaigns/-1".
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v10.services.MutateOperation mutate_operations = 3 [(.google.api.field_behavior) = REQUIRED];</code>
   */
  int getMutateOperationsCount();
  /**
   * <pre>
   * Required. The list of mutates being added.
   * Operations can use negative integers as temp ids to signify dependencies
   * between entities created in this batch job. For example, a customer with
   * id = 1234 can create a campaign and an ad group in that same campaign by
   * creating a campaign in the first operation with the resource name
   * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
   * in the second operation with the campaign field also set to
   * "customers/1234/campaigns/-1".
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v10.services.MutateOperation mutate_operations = 3 [(.google.api.field_behavior) = REQUIRED];</code>
   */
  java.util.List<? extends com.google.ads.googleads.v10.services.MutateOperationOrBuilder> 
      getMutateOperationsOrBuilderList();
  /**
   * <pre>
   * Required. The list of mutates being added.
   * Operations can use negative integers as temp ids to signify dependencies
   * between entities created in this batch job. For example, a customer with
   * id = 1234 can create a campaign and an ad group in that same campaign by
   * creating a campaign in the first operation with the resource name
   * explicitly set to "customers/1234/campaigns/-1", and creating an ad group
   * in the second operation with the campaign field also set to
   * "customers/1234/campaigns/-1".
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v10.services.MutateOperation mutate_operations = 3 [(.google.api.field_behavior) = REQUIRED];</code>
   */
  com.google.ads.googleads.v10.services.MutateOperationOrBuilder getMutateOperationsOrBuilder(
      int index);
}
