text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Cloud Build API (cloudbuild/v1)
  // Description:
  //   Creates and manages builds on Google Cloud Platform.
  // Documentation:
  //   https://cloud.google.com/cloud-build/docs/
  
  #if SWIFT_PACKAGE || GTLR_USE_MODULAR_IMPORT
    @import GoogleAPIClientForRESTCore;
  #elif GTLR_BUILT_AS_FRAMEWORK
    #import "GTLR/GTLRObject.h"
  #else
    #import "GTLRObject.h"
  #endif
  
  #if GTLR_RUNTIME_VERSION != 3000
  #error This file was generated by a different version of ServiceGenerator which is incompatible with this GTLR library source.
  #endif
  
  @class GTLRCloudBuild_ArtifactObjects;
  @class GTLRCloudBuild_Artifacts;
  @class GTLRCloudBuild_Build;
  @class GTLRCloudBuild_Build_Substitutions;
  @class GTLRCloudBuild_Build_Timing;
  @class GTLRCloudBuild_BuildOptions;
  @class GTLRCloudBuild_BuildStep;
  @class GTLRCloudBuild_BuildTrigger;
  @class GTLRCloudBuild_BuildTrigger_Substitutions;
  @class GTLRCloudBuild_BuiltImage;
  @class GTLRCloudBuild_FileHashes;
  @class GTLRCloudBuild_GitHubEventsConfig;
  @class GTLRCloudBuild_Hash;
  @class GTLRCloudBuild_HttpBody_Extensions_Item;
  @class GTLRCloudBuild_HTTPDelivery;
  @class GTLRCloudBuild_InlineSecret;
  @class GTLRCloudBuild_InlineSecret_EnvMap;
  @class GTLRCloudBuild_Notification;
  @class GTLRCloudBuild_Notification_StructDelivery;
  @class GTLRCloudBuild_NotifierMetadata;
  @class GTLRCloudBuild_NotifierSecret;
  @class GTLRCloudBuild_NotifierSecretRef;
  @class GTLRCloudBuild_NotifierSpec;
  @class GTLRCloudBuild_Operation_Metadata;
  @class GTLRCloudBuild_Operation_Response;
  @class GTLRCloudBuild_PubsubConfig;
  @class GTLRCloudBuild_PullRequestFilter;
  @class GTLRCloudBuild_PushFilter;
  @class GTLRCloudBuild_RepoSource;
  @class GTLRCloudBuild_RepoSource_Substitutions;
  @class GTLRCloudBuild_Results;
  @class GTLRCloudBuild_Secret;
  @class GTLRCloudBuild_Secret_SecretEnv;
  @class GTLRCloudBuild_SecretManagerSecret;
  @class GTLRCloudBuild_Secrets;
  @class GTLRCloudBuild_SlackDelivery;
  @class GTLRCloudBuild_SMTPDelivery;
  @class GTLRCloudBuild_Source;
  @class GTLRCloudBuild_SourceProvenance;
  @class GTLRCloudBuild_SourceProvenance_FileHashes;
  @class GTLRCloudBuild_Status;
  @class GTLRCloudBuild_Status_Details_Item;
  @class GTLRCloudBuild_StorageSource;
  @class GTLRCloudBuild_StorageSourceManifest;
  @class GTLRCloudBuild_TimeSpan;
  @class GTLRCloudBuild_Volume;
  
  // Generated comments include content from the discovery document; avoid them
  // causing warnings since clang's checks are some what arbitrary.
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wdocumentation"
  
  NS_ASSUME_NONNULL_BEGIN
  
  // ----------------------------------------------------------------------------
  // Constants - For some of the classes' properties below.
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_Build.status
  
  /**
   *  Build or step was canceled by a user.
   *
   *  Value: "CANCELLED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_Cancelled;
  /**
   *  Build was enqueued for longer than the value of `queue_ttl`.
   *
   *  Value: "EXPIRED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_Expired;
  /**
   *  Build or step failed to complete successfully.
   *
   *  Value: "FAILURE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_Failure;
  /**
   *  Build or step failed due to an internal cause.
   *
   *  Value: "INTERNAL_ERROR"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_InternalError;
  /**
   *  Build or step is queued; work has not yet begun.
   *
   *  Value: "QUEUED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_Queued;
  /**
   *  Status of the build is unknown.
   *
   *  Value: "STATUS_UNKNOWN"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_StatusUnknown;
  /**
   *  Build or step finished successfully.
   *
   *  Value: "SUCCESS"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_Success;
  /**
   *  Build or step took longer than was allowed.
   *
   *  Value: "TIMEOUT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_Timeout;
  /**
   *  Build or step is being executed.
   *
   *  Value: "WORKING"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Build_Status_Working;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_BuildOptions.logging
  
  /**
   *  Only Cloud Logging is enabled. Note that logs for both the Cloud Console UI
   *  and Cloud SDK are based on Cloud Storage logs, so neither will provide logs
   *  if this option is chosen.
   *
   *  Value: "CLOUD_LOGGING_ONLY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_Logging_CloudLoggingOnly;
  /**
   *  Only Cloud Storage logging is enabled.
   *
   *  Value: "GCS_ONLY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_Logging_GcsOnly;
  /**
   *  Cloud Logging and Cloud Storage logging are enabled.
   *
   *  Value: "LEGACY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_Logging_Legacy;
  /**
   *  The service determines the logging mode. The default is `LEGACY`. Do not
   *  rely on the default logging behavior as it may change in the future.
   *
   *  Value: "LOGGING_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_Logging_LoggingUnspecified;
  /**
   *  Turn off all logging. No build logs will be captured.
   *
   *  Value: "NONE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_Logging_None;
  /**
   *  This option is the same as CLOUD_LOGGING_ONLY.
   *
   *  Value: "STACKDRIVER_ONLY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_Logging_StackdriverOnly;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_BuildOptions.logStreamingOption
  
  /**
   *  Service may automatically determine build log streaming behavior.
   *
   *  Value: "STREAM_DEFAULT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_LogStreamingOption_StreamDefault;
  /**
   *  Build logs should not be streamed to Google Cloud Storage; they will be
   *  written when the build is completed.
   *
   *  Value: "STREAM_OFF"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_LogStreamingOption_StreamOff;
  /**
   *  Build logs should be streamed to Google Cloud Storage.
   *
   *  Value: "STREAM_ON"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_LogStreamingOption_StreamOn;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_BuildOptions.machineType
  
  /**
   *  Highcpu e2 machine with 32 CPUs.
   *
   *  Value: "E2_HIGHCPU_32"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_MachineType_E2Highcpu32;
  /**
   *  Highcpu e2 machine with 8 CPUs.
   *
   *  Value: "E2_HIGHCPU_8"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_MachineType_E2Highcpu8;
  /**
   *  Highcpu machine with 32 CPUs.
   *
   *  Value: "N1_HIGHCPU_32"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_MachineType_N1Highcpu32;
  /**
   *  Highcpu machine with 8 CPUs.
   *
   *  Value: "N1_HIGHCPU_8"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_MachineType_N1Highcpu8;
  /**
   *  Standard machine type.
   *
   *  Value: "UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_MachineType_Unspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_BuildOptions.requestedVerifyOption
  
  /**
   *  Not a verifiable build. (default)
   *
   *  Value: "NOT_VERIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_RequestedVerifyOption_NotVerified;
  /**
   *  Verified build.
   *
   *  Value: "VERIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_RequestedVerifyOption_Verified;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_BuildOptions.sourceProvenanceHash
  
  /**
   *  Use a md5 hash.
   *
   *  Value: "MD5"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_SourceProvenanceHash_Md5;
  /**
   *  No hash requested.
   *
   *  Value: "NONE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_SourceProvenanceHash_None;
  /**
   *  Use a sha256 hash.
   *
   *  Value: "SHA256"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_SourceProvenanceHash_Sha256;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_BuildOptions.substitutionOption
  
  /**
   *  Do not fail the build if error in substitutions checks.
   *
   *  Value: "ALLOW_LOOSE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_SubstitutionOption_AllowLoose;
  /**
   *  Fails the build if error in substitutions checks, like missing a
   *  substitution in the template or in the map.
   *
   *  Value: "MUST_MATCH"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildOptions_SubstitutionOption_MustMatch;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_BuildStep.status
  
  /**
   *  Build or step was canceled by a user.
   *
   *  Value: "CANCELLED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_Cancelled;
  /**
   *  Build was enqueued for longer than the value of `queue_ttl`.
   *
   *  Value: "EXPIRED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_Expired;
  /**
   *  Build or step failed to complete successfully.
   *
   *  Value: "FAILURE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_Failure;
  /**
   *  Build or step failed due to an internal cause.
   *
   *  Value: "INTERNAL_ERROR"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_InternalError;
  /**
   *  Build or step is queued; work has not yet begun.
   *
   *  Value: "QUEUED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_Queued;
  /**
   *  Status of the build is unknown.
   *
   *  Value: "STATUS_UNKNOWN"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_StatusUnknown;
  /**
   *  Build or step finished successfully.
   *
   *  Value: "SUCCESS"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_Success;
  /**
   *  Build or step took longer than was allowed.
   *
   *  Value: "TIMEOUT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_Timeout;
  /**
   *  Build or step is being executed.
   *
   *  Value: "WORKING"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_BuildStep_Status_Working;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_Hash.type
  
  /**
   *  Use a md5 hash.
   *
   *  Value: "MD5"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Hash_Type_Md5;
  /**
   *  No hash requested.
   *
   *  Value: "NONE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Hash_Type_None;
  /**
   *  Use a sha256 hash.
   *
   *  Value: "SHA256"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_Hash_Type_Sha256;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_PubsubConfig.state
  
  /**
   *  The Pub/Sub subscription is properly configured.
   *
   *  Value: "OK"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PubsubConfig_State_Ok;
  /**
   *  The subscription configuration has not been checked.
   *
   *  Value: "STATE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PubsubConfig_State_StateUnspecified;
  /**
   *  The subscription has been deleted.
   *
   *  Value: "SUBSCRIPTION_DELETED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PubsubConfig_State_SubscriptionDeleted;
  /**
   *  Some of the subscription's field are misconfigured.
   *
   *  Value: "SUBSCRIPTION_MISCONFIGURED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PubsubConfig_State_SubscriptionMisconfigured;
  /**
   *  The topic has been deleted.
   *
   *  Value: "TOPIC_DELETED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PubsubConfig_State_TopicDeleted;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudBuild_PullRequestFilter.commentControl
  
  /**
   *  Do not require comments on Pull Requests before builds are triggered.
   *
   *  Value: "COMMENTS_DISABLED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PullRequestFilter_CommentControl_CommentsDisabled;
  /**
   *  Enforce that repository owners or collaborators must comment on Pull
   *  Requests before builds are triggered.
   *
   *  Value: "COMMENTS_ENABLED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PullRequestFilter_CommentControl_CommentsEnabled;
  /**
   *  Enforce that repository owners or collaborators must comment on external
   *  contributors' Pull Requests before builds are triggered.
   *
   *  Value: "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudBuild_PullRequestFilter_CommentControl_CommentsEnabledForExternalContributorsOnly;
  
  /**
   *  Files in the workspace to upload to Cloud Storage upon successful completion
   *  of all build steps.
   */
  @interface GTLRCloudBuild_ArtifactObjects : GTLRObject
  
  /**
   *  Cloud Storage bucket and optional object path, in the form
   *  "gs://bucket/path/to/somewhere/". (see [Bucket Name
   *  Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
   *  Files in the workspace matching any path pattern will be uploaded to Cloud
   *  Storage with this location as a prefix.
   */
  @property(nonatomic, copy, nullable) NSString *location;
  
  /** Path globs used to match files in the build's workspace. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *paths;
  
  /**
   *  Output only. Stores timing information for pushing all artifact objects.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_TimeSpan *timing;
  
  @end
  
  
  /**
   *  An artifact that was uploaded during a build. This is a single record in the
   *  artifact manifest JSON file.
   */
  @interface GTLRCloudBuild_ArtifactResult : GTLRObject
  
  /** The file hash of the artifact. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_FileHashes *> *fileHash;
  
  /**
   *  The path of an artifact in a Google Cloud Storage bucket, with the
   *  generation number. For example,
   *  `gs://mybucket/path/to/output.jar#generation`.
   */
  @property(nonatomic, copy, nullable) NSString *location;
  
  @end
  
  
  /**
   *  Artifacts produced by a build that should be uploaded upon successful
   *  completion of all build steps.
   */
  @interface GTLRCloudBuild_Artifacts : GTLRObject
  
  /**
   *  A list of images to be pushed upon the successful completion of all build
   *  steps. The images will be pushed using the builder service account's
   *  credentials. The digests of the pushed images will be stored in the Build
   *  resource's results field. If any of the images fail to be pushed, the build
   *  is marked FAILURE.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *images;
  
  /**
   *  A list of objects to be uploaded to Cloud Storage upon successful completion
   *  of all build steps. Files in the workspace matching specified paths globs
   *  will be uploaded to the specified Cloud Storage location using the builder
   *  service account's credentials. The location and generation of the uploaded
   *  objects will be stored in the Build resource's results field. If any objects
   *  fail to be pushed, the build is marked FAILURE.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_ArtifactObjects *objects;
  
  @end
  
  
  /**
   *  A build resource in the Cloud Build API. At a high level, a `Build`
   *  describes where to find source code, how to build it (for example, the
   *  builder image to run on the source), and where to store the built artifacts.
   *  Fields can include the following variables, which will be expanded when the
   *  build is created: - $PROJECT_ID: the project ID of the build. -
   *  $PROJECT_NUMBER: the project number of the build. - $BUILD_ID: the
   *  autogenerated ID of the build. - $REPO_NAME: the source repository name
   *  specified by RepoSource. - $BRANCH_NAME: the branch name specified by
   *  RepoSource. - $TAG_NAME: the tag name specified by RepoSource. -
   *  $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
   *  resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters
   *  of $REVISION_ID or $COMMIT_SHA.
   */
  @interface GTLRCloudBuild_Build : GTLRObject
  
  /**
   *  Artifacts produced by the build that should be uploaded upon successful
   *  completion of all build steps.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Artifacts *artifacts;
  
  /** Secrets and secret environment variables. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Secrets *availableSecrets;
  
  /**
   *  Output only. The ID of the `BuildTrigger` that triggered this build, if it
   *  was triggered automatically.
   */
  @property(nonatomic, copy, nullable) NSString *buildTriggerId;
  
  /**
   *  Output only. Time at which the request to create the build was received.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Output only. Time at which execution of the build was finished. The
   *  difference between finish_time and start_time is the duration of the build's
   *  execution.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *finishTime;
  
  /**
   *  Output only. Unique identifier of the build.
   *
   *  identifier property maps to 'id' in JSON (to avoid Objective C's 'id').
   */
  @property(nonatomic, copy, nullable) NSString *identifier;
  
  /**
   *  A list of images to be pushed upon the successful completion of all build
   *  steps. The images are pushed using the builder service account's
   *  credentials. The digests of the pushed images will be stored in the `Build`
   *  resource's results field. If any of the images fail to be pushed, the build
   *  status is marked `FAILURE`.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *images;
  
  /**
   *  Google Cloud Storage bucket where logs should be written (see [Bucket Name
   *  Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
   *  Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
   */
  @property(nonatomic, copy, nullable) NSString *logsBucket;
  
  /** Output only. URL to logs for this build in Google Cloud Console. */
  @property(nonatomic, copy, nullable) NSString *logUrl;
  
  /**
   *  Output only. The 'Build' name with format:
   *  `projects/{project}/locations/{location}/builds/{build}`, where {build} is a
   *  unique identifier generated by the service.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** Special options for this build. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_BuildOptions *options;
  
  /** Output only. ID of the project. */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /**
   *  TTL in queue for this build. If provided and the build is enqueued longer
   *  than this value, the build will expire and the build status will be
   *  `EXPIRED`. The TTL starts ticking from create_time.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *queueTtl;
  
  /** Output only. Results of the build. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Results *results;
  
  /**
   *  Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager
   *  is the recommended technique for managing sensitive data with Cloud Build.
   *  Use `available_secrets` to configure builds to access secrets from Secret
   *  Manager. For instructions, see:
   *  https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_Secret *> *secrets;
  
  /**
   *  IAM service account whose credentials will be used at build runtime. Must be
   *  of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can
   *  be email address or uniqueId of the service account.
   */
  @property(nonatomic, copy, nullable) NSString *serviceAccount;
  
  /** The location of the source files to build. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Source *source;
  
  /** Output only. A permanent fixed identifier for source. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_SourceProvenance *sourceProvenance;
  
  /** Output only. Time at which execution of the build was started. */
  @property(nonatomic, strong, nullable) GTLRDateTime *startTime;
  
  /**
   *  Output only. Status of the build.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_Build_Status_Cancelled Build or step was canceled
   *        by a user. (Value: "CANCELLED")
   *    @arg @c kGTLRCloudBuild_Build_Status_Expired Build was enqueued for longer
   *        than the value of `queue_ttl`. (Value: "EXPIRED")
   *    @arg @c kGTLRCloudBuild_Build_Status_Failure Build or step failed to
   *        complete successfully. (Value: "FAILURE")
   *    @arg @c kGTLRCloudBuild_Build_Status_InternalError Build or step failed
   *        due to an internal cause. (Value: "INTERNAL_ERROR")
   *    @arg @c kGTLRCloudBuild_Build_Status_Queued Build or step is queued; work
   *        has not yet begun. (Value: "QUEUED")
   *    @arg @c kGTLRCloudBuild_Build_Status_StatusUnknown Status of the build is
   *        unknown. (Value: "STATUS_UNKNOWN")
   *    @arg @c kGTLRCloudBuild_Build_Status_Success Build or step finished
   *        successfully. (Value: "SUCCESS")
   *    @arg @c kGTLRCloudBuild_Build_Status_Timeout Build or step took longer
   *        than was allowed. (Value: "TIMEOUT")
   *    @arg @c kGTLRCloudBuild_Build_Status_Working Build or step is being
   *        executed. (Value: "WORKING")
   */
  @property(nonatomic, copy, nullable) NSString *status;
  
  /** Output only. Customer-readable message about the current status. */
  @property(nonatomic, copy, nullable) NSString *statusDetail;
  
  /** Required. The operations to be performed on the workspace. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_BuildStep *> *steps;
  
  /** Substitutions data for `Build` resource. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Build_Substitutions *substitutions;
  
  /** Tags for annotation of a `Build`. These are not docker tags. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *tags;
  
  /**
   *  Amount of time that this build should be allowed to run, to second
   *  granularity. If this amount of time elapses, work on the build will cease
   *  and the build status will be `TIMEOUT`. `timeout` starts ticking from
   *  `startTime`. Default time is ten minutes.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *timeout;
  
  /**
   *  Output only. Stores timing information for phases of the build. Valid keys
   *  are: * BUILD: time to execute all build steps * PUSH: time to push all
   *  specified images. * FETCHSOURCE: time to fetch source. If the build does not
   *  specify source or images, these keys will not be included.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Build_Timing *timing;
  
  @end
  
  
  /**
   *  Substitutions data for `Build` resource.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudBuild_Build_Substitutions : GTLRObject
  @end
  
  
  /**
   *  Output only. Stores timing information for phases of the build. Valid keys
   *  are: * BUILD: time to execute all build steps * PUSH: time to push all
   *  specified images. * FETCHSOURCE: time to fetch source. If the build does not
   *  specify source or images, these keys will not be included.
   *
   *  @note This class is documented as having more properties of
   *        GTLRCloudBuild_TimeSpan. Use @c -additionalJSONKeys and @c
   *        -additionalPropertyForName: to get the list of properties and then
   *        fetch them; or @c -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_Build_Timing : GTLRObject
  @end
  
  
  /**
   *  Metadata for build operations.
   */
  @interface GTLRCloudBuild_BuildOperationMetadata : GTLRObject
  
  /** The build that the operation is tracking. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Build *build;
  
  @end
  
  
  /**
   *  Optional arguments to enable specific features of builds.
   */
  @interface GTLRCloudBuild_BuildOptions : GTLRObject
  
  /**
   *  Requested disk size for the VM that runs the build. Note that this is *NOT*
   *  "disk free"; some of the space will be used by the operating system and
   *  build utilities. Also note that this is the minimum disk size that will be
   *  allocated for the build -- the build may run with a larger disk than
   *  requested. At present, the maximum disk size is 1000GB; builds that request
   *  more than the maximum are rejected with an error.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *diskSizeGb;
  
  /**
   *  Option to specify whether or not to apply bash style string operations to
   *  the substitutions. NOTE: this is always enabled for triggered builds and
   *  cannot be overridden in the build configuration file.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *dynamicSubstitutions;
  
  /**
   *  A list of global environment variable definitions that will exist for all
   *  build steps in this build. If a variable is defined in both globally and in
   *  a build step, the variable will use the build step value. The elements are
   *  of the form "KEY=VALUE" for the environment variable "KEY" being given the
   *  value "VALUE".
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *env;
  
  /**
   *  Option to specify the logging mode, which determines if and where build logs
   *  are stored.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_BuildOptions_Logging_CloudLoggingOnly Only Cloud
   *        Logging is enabled. Note that logs for both the Cloud Console UI and
   *        Cloud SDK are based on Cloud Storage logs, so neither will provide
   *        logs if this option is chosen. (Value: "CLOUD_LOGGING_ONLY")
   *    @arg @c kGTLRCloudBuild_BuildOptions_Logging_GcsOnly Only Cloud Storage
   *        logging is enabled. (Value: "GCS_ONLY")
   *    @arg @c kGTLRCloudBuild_BuildOptions_Logging_Legacy Cloud Logging and
   *        Cloud Storage logging are enabled. (Value: "LEGACY")
   *    @arg @c kGTLRCloudBuild_BuildOptions_Logging_LoggingUnspecified The
   *        service determines the logging mode. The default is `LEGACY`. Do not
   *        rely on the default logging behavior as it may change in the future.
   *        (Value: "LOGGING_UNSPECIFIED")
   *    @arg @c kGTLRCloudBuild_BuildOptions_Logging_None Turn off all logging. No
   *        build logs will be captured. (Value: "NONE")
   *    @arg @c kGTLRCloudBuild_BuildOptions_Logging_StackdriverOnly This option
   *        is the same as CLOUD_LOGGING_ONLY. (Value: "STACKDRIVER_ONLY")
   */
  @property(nonatomic, copy, nullable) NSString *logging;
  
  /**
   *  Option to define build log streaming behavior to Google Cloud Storage.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_BuildOptions_LogStreamingOption_StreamDefault
   *        Service may automatically determine build log streaming behavior.
   *        (Value: "STREAM_DEFAULT")
   *    @arg @c kGTLRCloudBuild_BuildOptions_LogStreamingOption_StreamOff Build
   *        logs should not be streamed to Google Cloud Storage; they will be
   *        written when the build is completed. (Value: "STREAM_OFF")
   *    @arg @c kGTLRCloudBuild_BuildOptions_LogStreamingOption_StreamOn Build
   *        logs should be streamed to Google Cloud Storage. (Value: "STREAM_ON")
   */
  @property(nonatomic, copy, nullable) NSString *logStreamingOption;
  
  /**
   *  Compute Engine machine type on which to run the build.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_BuildOptions_MachineType_E2Highcpu32 Highcpu e2
   *        machine with 32 CPUs. (Value: "E2_HIGHCPU_32")
   *    @arg @c kGTLRCloudBuild_BuildOptions_MachineType_E2Highcpu8 Highcpu e2
   *        machine with 8 CPUs. (Value: "E2_HIGHCPU_8")
   *    @arg @c kGTLRCloudBuild_BuildOptions_MachineType_N1Highcpu32 Highcpu
   *        machine with 32 CPUs. (Value: "N1_HIGHCPU_32")
   *    @arg @c kGTLRCloudBuild_BuildOptions_MachineType_N1Highcpu8 Highcpu
   *        machine with 8 CPUs. (Value: "N1_HIGHCPU_8")
   *    @arg @c kGTLRCloudBuild_BuildOptions_MachineType_Unspecified Standard
   *        machine type. (Value: "UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *machineType;
  
  /**
   *  Requested verifiability options.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_BuildOptions_RequestedVerifyOption_NotVerified Not
   *        a verifiable build. (default) (Value: "NOT_VERIFIED")
   *    @arg @c kGTLRCloudBuild_BuildOptions_RequestedVerifyOption_Verified
   *        Verified build. (Value: "VERIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *requestedVerifyOption;
  
  /**
   *  A list of global environment variables, which are encrypted using a Cloud
   *  Key Management Service crypto key. These values must be specified in the
   *  build's `Secret`. These variables will be available to all build steps in
   *  this build.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *secretEnv;
  
  /** Requested hash for SourceProvenance. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *sourceProvenanceHash;
  
  /**
   *  Option to specify behavior when there is an error in the substitution
   *  checks. NOTE: this is always set to ALLOW_LOOSE for triggered builds and
   *  cannot be overridden in the build configuration file.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_BuildOptions_SubstitutionOption_AllowLoose Do not
   *        fail the build if error in substitutions checks. (Value:
   *        "ALLOW_LOOSE")
   *    @arg @c kGTLRCloudBuild_BuildOptions_SubstitutionOption_MustMatch Fails
   *        the build if error in substitutions checks, like missing a
   *        substitution in the template or in the map. (Value: "MUST_MATCH")
   */
  @property(nonatomic, copy, nullable) NSString *substitutionOption;
  
  /**
   *  Global list of volumes to mount for ALL build steps Each volume is created
   *  as an empty volume prior to starting the build process. Upon completion of
   *  the build, volumes and their contents are discarded. Global volume names and
   *  paths cannot conflict with the volumes defined a build step. Using a global
   *  volume in a build with only one step is not valid as it is indicative of a
   *  build request with an incorrect configuration.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_Volume *> *volumes;
  
  /**
   *  Option to specify a `WorkerPool` for the build. Format:
   *  projects/{project}/locations/{location}/workerPools/{workerPool} This field
   *  is in beta and is available only to restricted users.
   */
  @property(nonatomic, copy, nullable) NSString *workerPool;
  
  @end
  
  
  /**
   *  A step in the build pipeline.
   */
  @interface GTLRCloudBuild_BuildStep : GTLRObject
  
  /**
   *  A list of arguments that will be presented to the step when it is started.
   *  If the image used to run the step's container has an entrypoint, the `args`
   *  are used as arguments to that entrypoint. If the image does not define an
   *  entrypoint, the first element in args is used as the entrypoint, and the
   *  remainder will be used as arguments.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *args;
  
  /**
   *  Working directory to use when running this step's container. If this value
   *  is a relative path, it is relative to the build's working directory. If this
   *  value is absolute, it may be outside the build's working directory, in which
   *  case the contents of the path may not be persisted across build step
   *  executions, unless a `volume` for that path is specified. If the build
   *  specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
   *  an absolute path, the `RepoSource` `dir` is ignored for the step's
   *  execution.
   */
  @property(nonatomic, copy, nullable) NSString *dir;
  
  /**
   *  Entrypoint to be used instead of the build step image's default entrypoint.
   *  If unset, the image's default entrypoint is used.
   */
  @property(nonatomic, copy, nullable) NSString *entrypoint;
  
  /**
   *  A list of environment variable definitions to be used when running a step.
   *  The elements are of the form "KEY=VALUE" for the environment variable "KEY"
   *  being given the value "VALUE".
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *env;
  
  /**
   *  Unique identifier for this build step, used in `wait_for` to reference this
   *  build step as a dependency.
   *
   *  identifier property maps to 'id' in JSON (to avoid Objective C's 'id').
   */
  @property(nonatomic, copy, nullable) NSString *identifier;
  
  /**
   *  Required. The name of the container image that will run this particular
   *  build step. If the image is available in the host's Docker daemon's cache,
   *  it will be run directly. If not, the host will attempt to pull the image
   *  first, using the builder service account's credentials if necessary. The
   *  Docker daemon's cache will already have the latest versions of all of the
   *  officially supported build steps
   *  ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
   *  The Docker daemon will also have cached many of the layers for some popular
   *  images, like "ubuntu", "debian", but they will be refreshed at the time you
   *  attempt to use them. If you built an image in a previous build step, it will
   *  be stored in the host's Docker daemon's cache and is available to use as the
   *  name for a later build step.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Output only. Stores timing information for pulling this build step's builder
   *  image only.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_TimeSpan *pullTiming;
  
  /**
   *  A list of environment variables which are encrypted using a Cloud Key
   *  Management Service crypto key. These values must be specified in the build's
   *  `Secret`.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *secretEnv;
  
  /**
   *  Output only. Status of the build step. At this time, build step status is
   *  only updated on build completion; step status is not updated in real-time as
   *  the build progresses.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_Cancelled Build or step was
   *        canceled by a user. (Value: "CANCELLED")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_Expired Build was enqueued for
   *        longer than the value of `queue_ttl`. (Value: "EXPIRED")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_Failure Build or step failed to
   *        complete successfully. (Value: "FAILURE")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_InternalError Build or step
   *        failed due to an internal cause. (Value: "INTERNAL_ERROR")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_Queued Build or step is queued;
   *        work has not yet begun. (Value: "QUEUED")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_StatusUnknown Status of the build
   *        is unknown. (Value: "STATUS_UNKNOWN")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_Success Build or step finished
   *        successfully. (Value: "SUCCESS")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_Timeout Build or step took longer
   *        than was allowed. (Value: "TIMEOUT")
   *    @arg @c kGTLRCloudBuild_BuildStep_Status_Working Build or step is being
   *        executed. (Value: "WORKING")
   */
  @property(nonatomic, copy, nullable) NSString *status;
  
  /**
   *  Time limit for executing this build step. If not defined, the step has no
   *  time limit and will be allowed to continue to run until either it completes
   *  or the build itself times out.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *timeout;
  
  /** Output only. Stores timing information for executing this build step. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_TimeSpan *timing;
  
  /**
   *  List of volumes to mount into the build step. Each volume is created as an
   *  empty volume prior to execution of the build step. Upon completion of the
   *  build, volumes and their contents are discarded. Using a named volume in
   *  only one step is not valid as it is indicative of a build request with an
   *  incorrect configuration.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_Volume *> *volumes;
  
  /**
   *  The ID(s) of the step(s) that this build step depends on. This build step
   *  will not start until all the build steps in `wait_for` have completed
   *  successfully. If `wait_for` is empty, this build step will start when all
   *  previous build steps in the `Build.Steps` list have completed successfully.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *waitFor;
  
  @end
  
  
  /**
   *  Configuration for an automated build in response to source repository
   *  changes.
   */
  @interface GTLRCloudBuild_BuildTrigger : GTLRObject
  
  /** Contents of the build template. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Build *build;
  
  /** Output only. Time when the trigger was created. */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Human-readable description of this trigger.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  If true, the trigger will never automatically execute a build.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *disabled;
  
  /**
   *  Path, from the source root, to the build configuration file (i.e.
   *  cloudbuild.yaml).
   */
  @property(nonatomic, copy, nullable) NSString *filename;
  
  /** Optional. A Common Expression Language string. */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  GitHubEventsConfig describes the configuration of a trigger that creates a
   *  build whenever a GitHub event is received. Mutually exclusive with
   *  `trigger_template`.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_GitHubEventsConfig *github;
  
  /**
   *  Output only. Unique identifier of the trigger.
   *
   *  identifier property maps to 'id' in JSON (to avoid Objective C's 'id').
   */
  @property(nonatomic, copy, nullable) NSString *identifier;
  
  /**
   *  ignored_files and included_files are file glob matches using
   *  https://golang.org/pkg/path/filepath/#Match extended with support for "**".
   *  If ignored_files and changed files are both empty, then they are not used to
   *  determine whether or not to trigger a build. If ignored_files is not empty,
   *  then we ignore any files that match any of the ignored_file globs. If the
   *  change has no files that are outside of the ignored_files globs, then we do
   *  not trigger a build.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *ignoredFiles;
  
  /**
   *  If any of the files altered in the commit pass the ignored_files filter and
   *  included_files is empty, then as far as this filter is concerned, we should
   *  trigger the build. If any of the files altered in the commit pass the
   *  ignored_files filter and included_files is not empty, then we make sure that
   *  at least one of those files matches a included_files glob. If not, then we
   *  do not trigger a build.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *includedFiles;
  
  /**
   *  User-assigned name of the trigger. Must be unique within the project.
   *  Trigger names must meet the following requirements: + They must contain only
   *  alphanumeric characters and dashes. + They can be 1-64 characters long. +
   *  They must begin and end with an alphanumeric character.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Optional. PubsubConfig describes the configuration of a trigger that creates
   *  a build whenever a Pub/Sub message is published.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_PubsubConfig *pubsubConfig;
  
  /**
   *  Substitutions for Build resource. The keys must match the following regular
   *  expression: `^_[A-Z0-9_]+$`.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_BuildTrigger_Substitutions *substitutions;
  
  /** Tags for annotation of a `BuildTrigger` */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *tags;
  
  /**
   *  Template describing the types of source changes to trigger a build. Branch
   *  and tag names in trigger templates are interpreted as regular expressions.
   *  Any branch or tag change that matches that regular expression will trigger a
   *  build. Mutually exclusive with `github`.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_RepoSource *triggerTemplate;
  
  @end
  
  
  /**
   *  Substitutions for Build resource. The keys must match the following regular
   *  expression: `^_[A-Z0-9_]+$`.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudBuild_BuildTrigger_Substitutions : GTLRObject
  @end
  
  
  /**
   *  An image built by the pipeline.
   */
  @interface GTLRCloudBuild_BuiltImage : GTLRObject
  
  /** Docker Registry 2.0 digest. */
  @property(nonatomic, copy, nullable) NSString *digest;
  
  /**
   *  Name used to push the container image to Google Container Registry, as
   *  presented to `docker push`.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** Output only. Stores timing information for pushing the specified image. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_TimeSpan *pushTiming;
  
  @end
  
  
  /**
   *  Request to cancel an ongoing build.
   */
  @interface GTLRCloudBuild_CancelBuildRequest : GTLRObject
  
  /**
   *  Required. ID of the build.
   *
   *  identifier property maps to 'id' in JSON (to avoid Objective C's 'id').
   */
  @property(nonatomic, copy, nullable) NSString *identifier;
  
  /**
   *  The name of the `Build` to cancel. Format:
   *  `projects/{project}/locations/{location}/builds/{build}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** Required. ID of the project. */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  @end
  
  
  /**
   *  The request message for Operations.CancelOperation.
   */
  @interface GTLRCloudBuild_CancelOperationRequest : GTLRObject
  @end
  
  
  /**
   *  A generic empty message that you can re-use to avoid defining duplicated
   *  empty messages in your APIs. A typical example is to use it as the request
   *  or the response type of an API method. For instance: service Foo { rpc
   *  Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON
   *  representation for `Empty` is empty JSON object `{}`.
   */
  @interface GTLRCloudBuild_Empty : GTLRObject
  @end
  
  
  /**
   *  Container message for hashes of byte content of files, used in
   *  SourceProvenance messages to verify integrity of source input to the build.
   */
  @interface GTLRCloudBuild_FileHashes : GTLRObject
  
  /** Collection of file hashes. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_Hash *> *fileHash;
  
  @end
  
  
  /**
   *  GitHubEventsConfig describes the configuration of a trigger that creates a
   *  build whenever a GitHub event is received. This message is experimental.
   */
  @interface GTLRCloudBuild_GitHubEventsConfig : GTLRObject
  
  /**
   *  The installationID that emits the GitHub event.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *installationId;
  
  /**
   *  Name of the repository. For example: The name for
   *  https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Owner of the repository. For example: The owner for
   *  https://github.com/googlecloudplatform/cloud-builders is
   *  "googlecloudplatform".
   */
  @property(nonatomic, copy, nullable) NSString *owner;
  
  /** filter to match changes in pull requests. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_PullRequestFilter *pullRequest;
  
  /** filter to match changes in refs like branches, tags. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_PushFilter *push;
  
  @end
  
  
  /**
   *  Container message for hash values.
   */
  @interface GTLRCloudBuild_Hash : GTLRObject
  
  /**
   *  The type of hash that was performed.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_Hash_Type_Md5 Use a md5 hash. (Value: "MD5")
   *    @arg @c kGTLRCloudBuild_Hash_Type_None No hash requested. (Value: "NONE")
   *    @arg @c kGTLRCloudBuild_Hash_Type_Sha256 Use a sha256 hash. (Value:
   *        "SHA256")
   */
  @property(nonatomic, copy, nullable) NSString *type;
  
  /**
   *  The hash value.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *value;
  
  @end
  
  
  /**
   *  Message that represents an arbitrary HTTP body. It should only be used for
   *  payload formats that can't be represented as JSON, such as raw binary or an
   *  HTML page. This message can be used both in streaming and non-streaming API
   *  methods in the request as well as the response. It can be used as a
   *  top-level request field, which is convenient if one wants to extract
   *  parameters from either the URL or HTTP template into the request fields and
   *  also want access to the raw HTTP body. Example: message GetResourceRequest {
   *  // A unique request id. string request_id = 1; // The raw HTTP body is bound
   *  to this field. google.api.HttpBody http_body = 2; } service ResourceService
   *  { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc
   *  UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); }
   *  Example with streaming methods: service CaldavService { rpc
   *  GetCalendar(stream google.api.HttpBody) returns (stream
   *  google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns
   *  (stream google.api.HttpBody); } Use of this type only changes how the
   *  request and response bodies are handled, all other features will continue to
   *  work unchanged.
   */
  @interface GTLRCloudBuild_HttpBody : GTLRObject
  
  /**
   *  The HTTP Content-Type header value specifying the content type of the body.
   */
  @property(nonatomic, copy, nullable) NSString *contentType;
  
  /**
   *  The HTTP request/response body as raw binary.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *data;
  
  /**
   *  Application specific response metadata. Must be set in the first response
   *  for streaming APIs.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_HttpBody_Extensions_Item *> *extensions;
  
  @end
  
  
  /**
   *  GTLRCloudBuild_HttpBody_Extensions_Item
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_HttpBody_Extensions_Item : GTLRObject
  @end
  
  
  /**
   *  HTTPDelivery is the delivery configuration for an HTTP notification.
   */
  @interface GTLRCloudBuild_HTTPDelivery : GTLRObject
  
  /** The URI to which JSON-containing HTTP POST requests should be sent. */
  @property(nonatomic, copy, nullable) NSString *uri;
  
  @end
  
  
  /**
   *  Pairs a set of secret environment variables mapped to encrypted values with
   *  the Cloud KMS key to use to decrypt the value.
   */
  @interface GTLRCloudBuild_InlineSecret : GTLRObject
  
  /**
   *  Map of environment variable name to its encrypted value. Secret environment
   *  variables must be unique across all of a build's secrets, and must be used
   *  by at least one build step. Values can be at most 64 KB in size. There can
   *  be at most 100 secret values across all of a build's secrets.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_InlineSecret_EnvMap *envMap;
  
  /**
   *  Resource name of Cloud KMS crypto key to decrypt the encrypted value. In
   *  format: projects/ * /locations/ * /keyRings/ * /cryptoKeys/ *
   */
  @property(nonatomic, copy, nullable) NSString *kmsKeyName;
  
  @end
  
  
  /**
   *  Map of environment variable name to its encrypted value. Secret environment
   *  variables must be unique across all of a build's secrets, and must be used
   *  by at least one build step. Values can be at most 64 KB in size. There can
   *  be at most 100 secret values across all of a build's secrets.
   *
   *  @note This class is documented as having more properties of NSString
   *        (Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *        web-safe format).). Use @c -additionalJSONKeys and @c
   *        -additionalPropertyForName: to get the list of properties and then
   *        fetch them; or @c -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_InlineSecret_EnvMap : GTLRObject
  @end
  
  
  /**
   *  Response including listed builds.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "builds" property. If returned as the result of a query, it should
   *        support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudBuild_ListBuildsResponse : GTLRCollectionObject
  
  /**
   *  Builds will be sorted by `create_time`, descending.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_Build *> *builds;
  
  /**
   *  Token to receive the next page of results. This will be absent if the end of
   *  the response list has been reached.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  Response containing existing `BuildTriggers`.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "triggers" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudBuild_ListBuildTriggersResponse : GTLRCollectionObject
  
  /** Token to receive the next page of results. */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  `BuildTriggers` for the project, sorted by `create_time` descending.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_BuildTrigger *> *triggers;
  
  @end
  
  
  /**
   *  Notification is the container which holds the data that is relevant to this
   *  particular notification.
   */
  @interface GTLRCloudBuild_Notification : GTLRObject
  
  /**
   *  The filter string to use for notification filtering. Currently, this is
   *  assumed to be a CEL program. See https://opensource.google/projects/cel for
   *  more.
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /** Configuration for HTTP delivery. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_HTTPDelivery *httpDelivery;
  
  /** Configuration for Slack delivery. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_SlackDelivery *slackDelivery;
  
  /** Configuration for SMTP (email) delivery. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_SMTPDelivery *smtpDelivery;
  
  /** Escape hatch for users to supply custom delivery configs. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Notification_StructDelivery *structDelivery;
  
  @end
  
  
  /**
   *  Escape hatch for users to supply custom delivery configs.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_Notification_StructDelivery : GTLRObject
  @end
  
  
  /**
   *  NotifierConfig is the top-level configuration message.
   */
  @interface GTLRCloudBuild_NotifierConfig : GTLRObject
  
  /** The API version of this configuration format. */
  @property(nonatomic, copy, nullable) NSString *apiVersion;
  
  /** The type of notifier to use (e.g. SMTPNotifier). */
  @property(nonatomic, copy, nullable) NSString *kind;
  
  /** Metadata for referring to/handling/deploying this notifier. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_NotifierMetadata *metadata;
  
  /** The actual configuration for this notifier. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_NotifierSpec *spec;
  
  @end
  
  
  /**
   *  NotifierMetadata contains the data which can be used to reference or
   *  describe this notifier.
   */
  @interface GTLRCloudBuild_NotifierMetadata : GTLRObject
  
  /**
   *  The human-readable and user-given name for the notifier. For example:
   *  "repo-merge-email-notifier".
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  The string representing the name and version of notifier to deploy. Expected
   *  to be of the form of "/:". For example:
   *  "gcr.io/my-project/notifiers/smtp:1.2.34".
   */
  @property(nonatomic, copy, nullable) NSString *notifier;
  
  @end
  
  
  /**
   *  NotifierSecret is the container that maps a secret name (reference) to its
   *  Google Cloud Secret Manager resource path.
   */
  @interface GTLRCloudBuild_NotifierSecret : GTLRObject
  
  /**
   *  Name is the local name of the secret, such as the verbatim string
   *  "my-smtp-password".
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Value is interpreted to be a resource path for fetching the actual
   *  (versioned) secret data for this secret. For example, this would be a Google
   *  Cloud Secret Manager secret version resource path like:
   *  "projects/my-project/secrets/my-secret/versions/latest".
   */
  @property(nonatomic, copy, nullable) NSString *value;
  
  @end
  
  
  /**
   *  NotifierSecretRef contains the reference to a secret stored in the
   *  corresponding NotifierSpec.
   */
  @interface GTLRCloudBuild_NotifierSecretRef : GTLRObject
  
  /**
   *  The value of `secret_ref` should be a `name` that is registered in a
   *  `Secret` in the `secrets` list of the `Spec`.
   */
  @property(nonatomic, copy, nullable) NSString *secretRef;
  
  @end
  
  
  /**
   *  NotifierSpec is the configuration container for notifications.
   */
  @interface GTLRCloudBuild_NotifierSpec : GTLRObject
  
  /** The configuration of this particular notifier. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Notification *notification;
  
  /** Configurations for secret resources used by this particular notifier. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_NotifierSecret *> *secrets;
  
  @end
  
  
  /**
   *  This resource represents a long-running operation that is the result of a
   *  network API call.
   */
  @interface GTLRCloudBuild_Operation : GTLRObject
  
  /**
   *  If the value is `false`, it means the operation is still in progress. If
   *  `true`, the operation is completed, and either `error` or `response` is
   *  available.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *done;
  
  /** The error result of the operation in case of failure or cancellation. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Status *error;
  
  /**
   *  Service-specific metadata associated with the operation. It typically
   *  contains progress information and common metadata such as create time. Some
   *  services might not provide such metadata. Any method that returns a
   *  long-running operation should document the metadata type, if any.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Operation_Metadata *metadata;
  
  /**
   *  The server-assigned name, which is only unique within the same service that
   *  originally returns it. If you use the default HTTP mapping, the `name`
   *  should be a resource name ending with `operations/{unique_id}`.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  The normal response of the operation in case of success. If the original
   *  method returns no data on success, such as `Delete`, the response is
   *  `google.protobuf.Empty`. If the original method is standard
   *  `Get`/`Create`/`Update`, the response should be the resource. For other
   *  methods, the response should have the type `XxxResponse`, where `Xxx` is the
   *  original method name. For example, if the original method name is
   *  `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Operation_Response *response;
  
  @end
  
  
  /**
   *  Service-specific metadata associated with the operation. It typically
   *  contains progress information and common metadata such as create time. Some
   *  services might not provide such metadata. Any method that returns a
   *  long-running operation should document the metadata type, if any.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_Operation_Metadata : GTLRObject
  @end
  
  
  /**
   *  The normal response of the operation in case of success. If the original
   *  method returns no data on success, such as `Delete`, the response is
   *  `google.protobuf.Empty`. If the original method is standard
   *  `Get`/`Create`/`Update`, the response should be the resource. For other
   *  methods, the response should have the type `XxxResponse`, where `Xxx` is the
   *  original method name. For example, if the original method name is
   *  `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_Operation_Response : GTLRObject
  @end
  
  
  /**
   *  PubsubConfig describes the configuration of a trigger that creates a build
   *  whenever a Pub/Sub message is published.
   */
  @interface GTLRCloudBuild_PubsubConfig : GTLRObject
  
  /** Service account that will make the push request. */
  @property(nonatomic, copy, nullable) NSString *serviceAccountEmail;
  
  /**
   *  Potential issues with the underlying Pub/Sub subscription configuration.
   *  Only populated on get requests.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_PubsubConfig_State_Ok The Pub/Sub subscription is
   *        properly configured. (Value: "OK")
   *    @arg @c kGTLRCloudBuild_PubsubConfig_State_StateUnspecified The
   *        subscription configuration has not been checked. (Value:
   *        "STATE_UNSPECIFIED")
   *    @arg @c kGTLRCloudBuild_PubsubConfig_State_SubscriptionDeleted The
   *        subscription has been deleted. (Value: "SUBSCRIPTION_DELETED")
   *    @arg @c kGTLRCloudBuild_PubsubConfig_State_SubscriptionMisconfigured Some
   *        of the subscription's field are misconfigured. (Value:
   *        "SUBSCRIPTION_MISCONFIGURED")
   *    @arg @c kGTLRCloudBuild_PubsubConfig_State_TopicDeleted The topic has been
   *        deleted. (Value: "TOPIC_DELETED")
   */
  @property(nonatomic, copy, nullable) NSString *state;
  
  /**
   *  Output only. Name of the subscription. Format is
   *  `projects/{project}/subscriptions/{subscription}`.
   */
  @property(nonatomic, copy, nullable) NSString *subscription;
  
  /**
   *  The name of the topic from which this subscription is receiving messages.
   *  Format is `projects/{project}/topics/{topic}`.
   */
  @property(nonatomic, copy, nullable) NSString *topic;
  
  @end
  
  
  /**
   *  PullRequestFilter contains filter properties for matching GitHub Pull
   *  Requests.
   */
  @interface GTLRCloudBuild_PullRequestFilter : GTLRObject
  
  /**
   *  Regex of branches to match. The syntax of the regular expressions accepted
   *  is the syntax accepted by RE2 and described at
   *  https://github.com/google/re2/wiki/Syntax
   */
  @property(nonatomic, copy, nullable) NSString *branch;
  
  /**
   *  Configure builds to run whether a repository owner or collaborator need to
   *  comment `/gcbrun`.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudBuild_PullRequestFilter_CommentControl_CommentsDisabled
   *        Do not require comments on Pull Requests before builds are triggered.
   *        (Value: "COMMENTS_DISABLED")
   *    @arg @c kGTLRCloudBuild_PullRequestFilter_CommentControl_CommentsEnabled
   *        Enforce that repository owners or collaborators must comment on Pull
   *        Requests before builds are triggered. (Value: "COMMENTS_ENABLED")
   *    @arg @c kGTLRCloudBuild_PullRequestFilter_CommentControl_CommentsEnabledForExternalContributorsOnly
   *        Enforce that repository owners or collaborators must comment on
   *        external contributors' Pull Requests before builds are triggered.
   *        (Value: "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY")
   */
  @property(nonatomic, copy, nullable) NSString *commentControl;
  
  /**
   *  If true, branches that do NOT match the git_ref will trigger a build.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *invertRegex;
  
  @end
  
  
  /**
   *  Push contains filter properties for matching GitHub git pushes.
   */
  @interface GTLRCloudBuild_PushFilter : GTLRObject
  
  /**
   *  Regexes matching branches to build. The syntax of the regular expressions
   *  accepted is the syntax accepted by RE2 and described at
   *  https://github.com/google/re2/wiki/Syntax
   */
  @property(nonatomic, copy, nullable) NSString *branch;
  
  /**
   *  When true, only trigger a build if the revision regex does NOT match the
   *  git_ref regex.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *invertRegex;
  
  /**
   *  Regexes matching tags to build. The syntax of the regular expressions
   *  accepted is the syntax accepted by RE2 and described at
   *  https://github.com/google/re2/wiki/Syntax
   */
  @property(nonatomic, copy, nullable) NSString *tag;
  
  @end
  
  
  /**
   *  ReceiveTriggerWebhookResponse [Experimental] is the response object for the
   *  ReceiveTriggerWebhook method.
   */
  @interface GTLRCloudBuild_ReceiveTriggerWebhookResponse : GTLRObject
  @end
  
  
  /**
   *  Location of the source in a Google Cloud Source Repository.
   */
  @interface GTLRCloudBuild_RepoSource : GTLRObject
  
  /**
   *  Regex matching branches to build. The syntax of the regular expressions
   *  accepted is the syntax accepted by RE2 and described at
   *  https://github.com/google/re2/wiki/Syntax
   */
  @property(nonatomic, copy, nullable) NSString *branchName;
  
  /** Explicit commit SHA to build. */
  @property(nonatomic, copy, nullable) NSString *commitSha;
  
  /**
   *  Directory, relative to the source root, in which to run the build. This must
   *  be a relative path. If a step's `dir` is specified and is an absolute path,
   *  this value is ignored for that step's execution.
   */
  @property(nonatomic, copy, nullable) NSString *dir;
  
  /**
   *  Only trigger a build if the revision regex does NOT match the revision
   *  regex.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *invertRegex;
  
  /**
   *  ID of the project that owns the Cloud Source Repository. If omitted, the
   *  project ID requesting the build is assumed.
   */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  /** Name of the Cloud Source Repository. */
  @property(nonatomic, copy, nullable) NSString *repoName;
  
  /**
   *  Substitutions to use in a triggered build. Should only be used with
   *  RunBuildTrigger
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_RepoSource_Substitutions *substitutions;
  
  /**
   *  Regex matching tags to build. The syntax of the regular expressions accepted
   *  is the syntax accepted by RE2 and described at
   *  https://github.com/google/re2/wiki/Syntax
   */
  @property(nonatomic, copy, nullable) NSString *tagName;
  
  @end
  
  
  /**
   *  Substitutions to use in a triggered build. Should only be used with
   *  RunBuildTrigger
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudBuild_RepoSource_Substitutions : GTLRObject
  @end
  
  
  /**
   *  Artifacts created by the build pipeline.
   */
  @interface GTLRCloudBuild_Results : GTLRObject
  
  /**
   *  Path to the artifact manifest. Only populated when artifacts are uploaded.
   */
  @property(nonatomic, copy, nullable) NSString *artifactManifest;
  
  /** Time to push all non-container artifacts. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_TimeSpan *artifactTiming;
  
  /**
   *  List of build step digests, in the order corresponding to build step
   *  indices.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *buildStepImages;
  
  /**
   *  List of build step outputs, produced by builder images, in the order
   *  corresponding to build step indices. [Cloud
   *  Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can
   *  produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first
   *  4KB of data is stored.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *buildStepOutputs;
  
  /** Container images that were built as a part of the build. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_BuiltImage *> *images;
  
  /**
   *  Number of artifacts uploaded. Only populated when artifacts are uploaded.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *numArtifacts;
  
  @end
  
  
  /**
   *  Specifies a build to retry.
   */
  @interface GTLRCloudBuild_RetryBuildRequest : GTLRObject
  
  /**
   *  Required. Build ID of the original build.
   *
   *  identifier property maps to 'id' in JSON (to avoid Objective C's 'id').
   */
  @property(nonatomic, copy, nullable) NSString *identifier;
  
  /**
   *  The name of the `Build` to retry. Format:
   *  `projects/{project}/locations/{location}/builds/{build}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** Required. ID of the project. */
  @property(nonatomic, copy, nullable) NSString *projectId;
  
  @end
  
  
  /**
   *  Pairs a set of secret environment variables containing encrypted values with
   *  the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with
   *  `available_secrets` instead of using `kmsKeyName` with `secret`. For
   *  instructions see:
   *  https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.
   */
  @interface GTLRCloudBuild_Secret : GTLRObject
  
  /** Cloud KMS key name to use to decrypt these envs. */
  @property(nonatomic, copy, nullable) NSString *kmsKeyName;
  
  /**
   *  Map of environment variable name to its encrypted value. Secret environment
   *  variables must be unique across all of a build's secrets, and must be used
   *  by at least one build step. Values can be at most 64 KB in size. There can
   *  be at most 100 secret values across all of a build's secrets.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_Secret_SecretEnv *secretEnv;
  
  @end
  
  
  /**
   *  Map of environment variable name to its encrypted value. Secret environment
   *  variables must be unique across all of a build's secrets, and must be used
   *  by at least one build step. Values can be at most 64 KB in size. There can
   *  be at most 100 secret values across all of a build's secrets.
   *
   *  @note This class is documented as having more properties of NSString
   *        (Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *        web-safe format).). Use @c -additionalJSONKeys and @c
   *        -additionalPropertyForName: to get the list of properties and then
   *        fetch them; or @c -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_Secret_SecretEnv : GTLRObject
  @end
  
  
  /**
   *  Pairs a secret environment variable with a SecretVersion in Secret Manager.
   */
  @interface GTLRCloudBuild_SecretManagerSecret : GTLRObject
  
  /**
   *  Environment variable name to associate with the secret. Secret environment
   *  variables must be unique across all of a build's secrets, and must be used
   *  by at least one build step.
   */
  @property(nonatomic, copy, nullable) NSString *env;
  
  /**
   *  Resource name of the SecretVersion. In format: projects/ * /secrets/ *
   *  /versions/ *
   */
  @property(nonatomic, copy, nullable) NSString *versionName;
  
  @end
  
  
  /**
   *  Secrets and secret environment variables.
   */
  @interface GTLRCloudBuild_Secrets : GTLRObject
  
  /**
   *  Secrets encrypted with KMS key and the associated secret environment
   *  variable.
   *
   *  Remapped to 'inlineProperty' to avoid language reserved word 'inline'.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_InlineSecret *> *inlineProperty;
  
  /** Secrets in Secret Manager and associated secret environment variable. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_SecretManagerSecret *> *secretManager;
  
  @end
  
  
  /**
   *  SlackDelivery is the delivery configuration for delivering Slack messages
   *  via webhooks. See Slack webhook documentation at:
   *  https://api.slack.com/messaging/webhooks.
   */
  @interface GTLRCloudBuild_SlackDelivery : GTLRObject
  
  /**
   *  The secret reference for the Slack webhook URI for sending messages to a
   *  channel.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_NotifierSecretRef *webhookUri;
  
  @end
  
  
  /**
   *  SMTPDelivery is the delivery configuration for an SMTP (email) notification.
   */
  @interface GTLRCloudBuild_SMTPDelivery : GTLRObject
  
  /**
   *  This is the SMTP account/email that appears in the `From:` of the email. If
   *  empty, it is assumed to be sender.
   */
  @property(nonatomic, copy, nullable) NSString *fromAddress;
  
  /** The SMTP sender's password. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_NotifierSecretRef *password;
  
  /** The SMTP port of the server. */
  @property(nonatomic, copy, nullable) NSString *port;
  
  /**
   *  This is the list of addresses to which we send the email (i.e. in the `To:`
   *  of the email).
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *recipientAddresses;
  
  /** This is the SMTP account/email that is used to send the message. */
  @property(nonatomic, copy, nullable) NSString *senderAddress;
  
  /** The address of the SMTP server. */
  @property(nonatomic, copy, nullable) NSString *server;
  
  @end
  
  
  /**
   *  Location of the source in a supported storage service.
   */
  @interface GTLRCloudBuild_Source : GTLRObject
  
  /**
   *  If provided, get the source from this location in a Cloud Source Repository.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_RepoSource *repoSource;
  
  /** If provided, get the source from this location in Google Cloud Storage. */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_StorageSource *storageSource;
  
  /**
   *  If provided, get the source from this manifest in Google Cloud Storage. This
   *  feature is in Preview.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_StorageSourceManifest *storageSourceManifest;
  
  @end
  
  
  /**
   *  Provenance of the source. Ways to find the original source, or verify that
   *  some source was used for this build.
   */
  @interface GTLRCloudBuild_SourceProvenance : GTLRObject
  
  /**
   *  Output only. Hash(es) of the build source, which can be used to verify that
   *  the original source integrity was maintained in the build. Note that
   *  `FileHashes` will only be populated if `BuildOptions` has requested a
   *  `SourceProvenanceHash`. The keys to this map are file paths used as build
   *  source and the values contain the hash values for those files. If the build
   *  source came in a single package such as a gzipped tarfile (`.tar.gz`), the
   *  `FileHash` will be for the single path to that file.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_SourceProvenance_FileHashes *fileHashes;
  
  /**
   *  A copy of the build's `source.repo_source`, if exists, with any revisions
   *  resolved.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_RepoSource *resolvedRepoSource;
  
  /**
   *  A copy of the build's `source.storage_source`, if exists, with any
   *  generations resolved.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_StorageSource *resolvedStorageSource;
  
  /**
   *  A copy of the build's `source.storage_source_manifest`, if exists, with any
   *  revisions resolved. This feature is in Preview.
   */
  @property(nonatomic, strong, nullable) GTLRCloudBuild_StorageSourceManifest *resolvedStorageSourceManifest;
  
  @end
  
  
  /**
   *  Output only. Hash(es) of the build source, which can be used to verify that
   *  the original source integrity was maintained in the build. Note that
   *  `FileHashes` will only be populated if `BuildOptions` has requested a
   *  `SourceProvenanceHash`. The keys to this map are file paths used as build
   *  source and the values contain the hash values for those files. If the build
   *  source came in a single package such as a gzipped tarfile (`.tar.gz`), the
   *  `FileHash` will be for the single path to that file.
   *
   *  @note This class is documented as having more properties of
   *        GTLRCloudBuild_FileHashes. Use @c -additionalJSONKeys and @c
   *        -additionalPropertyForName: to get the list of properties and then
   *        fetch them; or @c -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_SourceProvenance_FileHashes : GTLRObject
  @end
  
  
  /**
   *  The `Status` type defines a logical error model that is suitable for
   *  different programming environments, including REST APIs and RPC APIs. It is
   *  used by [gRPC](https://github.com/grpc). Each `Status` message contains
   *  three pieces of data: error code, error message, and error details. You can
   *  find out more about this error model and how to work with it in the [API
   *  Design Guide](https://cloud.google.com/apis/design/errors).
   */
  @interface GTLRCloudBuild_Status : GTLRObject
  
  /**
   *  The status code, which should be an enum value of google.rpc.Code.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *code;
  
  /**
   *  A list of messages that carry the error details. There is a common set of
   *  message types for APIs to use.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudBuild_Status_Details_Item *> *details;
  
  /**
   *  A developer-facing error message, which should be in English. Any
   *  user-facing error message should be localized and sent in the
   *  google.rpc.Status.details field, or localized by the client.
   */
  @property(nonatomic, copy, nullable) NSString *message;
  
  @end
  
  
  /**
   *  GTLRCloudBuild_Status_Details_Item
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudBuild_Status_Details_Item : GTLRObject
  @end
  
  
  /**
   *  Location of the source in an archive file in Google Cloud Storage.
   */
  @interface GTLRCloudBuild_StorageSource : GTLRObject
  
  /**
   *  Google Cloud Storage bucket containing the source (see [Bucket Name
   *  Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
   */
  @property(nonatomic, copy, nullable) NSString *bucket;
  
  /**
   *  Google Cloud Storage generation for the object. If the generation is
   *  omitted, the latest generation will be used.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *generation;
  
  /**
   *  Google Cloud Storage object containing the source. This object must be a
   *  gzipped archive file (`.tar.gz`) containing source to build.
   */
  @property(nonatomic, copy, nullable) NSString *object;
  
  @end
  
  
  /**
   *  Location of the source manifest in Google Cloud Storage. This feature is in
   *  Preview.
   */
  @interface GTLRCloudBuild_StorageSourceManifest : GTLRObject
  
  /**
   *  Google Cloud Storage bucket containing the source manifest (see [Bucket Name
   *  Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
   */
  @property(nonatomic, copy, nullable) NSString *bucket;
  
  /**
   *  Google Cloud Storage generation for the object. If the generation is
   *  omitted, the latest generation will be used.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *generation;
  
  /**
   *  Google Cloud Storage object containing the source manifest. This object must
   *  be a JSON file.
   */
  @property(nonatomic, copy, nullable) NSString *object;
  
  @end
  
  
  /**
   *  Start and end times for a build execution phase.
   */
  @interface GTLRCloudBuild_TimeSpan : GTLRObject
  
  /** End of time span. */
  @property(nonatomic, strong, nullable) GTLRDateTime *endTime;
  
  /** Start of time span. */
  @property(nonatomic, strong, nullable) GTLRDateTime *startTime;
  
  @end
  
  
  /**
   *  Volume describes a Docker container volume which is mounted into build steps
   *  in order to persist files across build step execution.
   */
  @interface GTLRCloudBuild_Volume : GTLRObject
  
  /**
   *  Name of the volume to mount. Volume names must be unique per build step and
   *  must be valid names for Docker volumes. Each named volume must be used by at
   *  least two build steps.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Path at which to mount the volume. Paths must be absolute and cannot
   *  conflict with other volume paths on the same build step or with certain
   *  reserved volume paths.
   */
  @property(nonatomic, copy, nullable) NSString *path;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #pragma clang diagnostic pop
  