text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Cloud Logging API (logging/v2)
  // Description:
  //   Writes log entries and manages your Cloud Logging configuration. The table
  //   entries below are presented in alphabetical order, not in order of common
  //   use. For explanations of the concepts found in the table entries, read the
  //   documentation at https://cloud.google.com/logging/docs.
  // Documentation:
  //   https://cloud.google.com/logging/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 GTLRLogging_BigQueryOptions;
  @class GTLRLogging_BucketOptions;
  @class GTLRLogging_Explicit;
  @class GTLRLogging_Exponential;
  @class GTLRLogging_HttpRequest;
  @class GTLRLogging_LabelDescriptor;
  @class GTLRLogging_Linear;
  @class GTLRLogging_Location;
  @class GTLRLogging_Location_Labels;
  @class GTLRLogging_Location_Metadata;
  @class GTLRLogging_LogBucket;
  @class GTLRLogging_LogEntry;
  @class GTLRLogging_LogEntry_JsonPayload;
  @class GTLRLogging_LogEntry_Labels;
  @class GTLRLogging_LogEntry_ProtoPayload;
  @class GTLRLogging_LogEntryOperation;
  @class GTLRLogging_LogEntrySourceLocation;
  @class GTLRLogging_LogExclusion;
  @class GTLRLogging_LogLine;
  @class GTLRLogging_LogMetric;
  @class GTLRLogging_LogMetric_LabelExtractors;
  @class GTLRLogging_LogSink;
  @class GTLRLogging_LogView;
  @class GTLRLogging_MetricDescriptor;
  @class GTLRLogging_MetricDescriptorMetadata;
  @class GTLRLogging_MonitoredResource;
  @class GTLRLogging_MonitoredResource_Labels;
  @class GTLRLogging_MonitoredResourceDescriptor;
  @class GTLRLogging_MonitoredResourceMetadata;
  @class GTLRLogging_MonitoredResourceMetadata_SystemLabels;
  @class GTLRLogging_MonitoredResourceMetadata_UserLabels;
  @class GTLRLogging_SourceLocation;
  @class GTLRLogging_SourceReference;
  @class GTLRLogging_SuppressionInfo;
  @class GTLRLogging_WriteLogEntriesRequest_Labels;
  
  // 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.
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_LabelDescriptor.valueType
  
  /**
   *  Boolean; true or false.
   *
   *  Value: "BOOL"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LabelDescriptor_ValueType_Bool;
  /**
   *  A 64-bit signed integer.
   *
   *  Value: "INT64"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LabelDescriptor_ValueType_Int64;
  /**
   *  A variable-length string. This is the default.
   *
   *  Value: "STRING"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LabelDescriptor_ValueType_String;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_LogBucket.lifecycleState
  
  /**
   *  The normal and active state.
   *
   *  Value: "ACTIVE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogBucket_LifecycleState_Active;
  /**
   *  The bucket has been marked for deletion by the user.
   *
   *  Value: "DELETE_REQUESTED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogBucket_LifecycleState_DeleteRequested;
  /**
   *  Unspecified state. This is only used/useful for distinguishing unset values.
   *
   *  Value: "LIFECYCLE_STATE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogBucket_LifecycleState_LifecycleStateUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_LogEntry.severity
  
  /**
   *  (700) A person must take an action immediately.
   *
   *  Value: "ALERT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Alert;
  /**
   *  (600) Critical events cause more severe problems or outages.
   *
   *  Value: "CRITICAL"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Critical;
  /**
   *  (100) Debug or trace information.
   *
   *  Value: "DEBUG"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Debug;
  /**
   *  (0) The log entry has no assigned severity level.
   *
   *  Value: "DEFAULT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Default;
  /**
   *  (800) One or more systems are unusable.
   *
   *  Value: "EMERGENCY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Emergency;
  /**
   *  (500) Error events are likely to cause problems.
   *
   *  Value: "ERROR"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Error;
  /**
   *  (200) Routine information, such as ongoing status or performance.
   *
   *  Value: "INFO"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Info;
  /**
   *  (300) Normal but significant events, such as start up, shut down, or a
   *  configuration change.
   *
   *  Value: "NOTICE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Notice;
  /**
   *  (400) Warning events might cause problems.
   *
   *  Value: "WARNING"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogEntry_Severity_Warning;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_LogLine.severity
  
  /**
   *  (700) A person must take an action immediately.
   *
   *  Value: "ALERT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Alert;
  /**
   *  (600) Critical events cause more severe problems or outages.
   *
   *  Value: "CRITICAL"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Critical;
  /**
   *  (100) Debug or trace information.
   *
   *  Value: "DEBUG"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Debug;
  /**
   *  (0) The log entry has no assigned severity level.
   *
   *  Value: "DEFAULT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Default;
  /**
   *  (800) One or more systems are unusable.
   *
   *  Value: "EMERGENCY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Emergency;
  /**
   *  (500) Error events are likely to cause problems.
   *
   *  Value: "ERROR"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Error;
  /**
   *  (200) Routine information, such as ongoing status or performance.
   *
   *  Value: "INFO"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Info;
  /**
   *  (300) Normal but significant events, such as start up, shut down, or a
   *  configuration change.
   *
   *  Value: "NOTICE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Notice;
  /**
   *  (400) Warning events might cause problems.
   *
   *  Value: "WARNING"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogLine_Severity_Warning;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_LogMetric.version
  
  /**
   *  Logging API v1.
   *
   *  Value: "V1"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogMetric_Version_V1;
  /**
   *  Logging API v2.
   *
   *  Value: "V2"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogMetric_Version_V2;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_LogSink.outputVersionFormat
  
  /**
   *  LogEntry version 1 format.
   *
   *  Value: "V1"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogSink_OutputVersionFormat_V1;
  /**
   *  LogEntry version 2 format.
   *
   *  Value: "V2"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogSink_OutputVersionFormat_V2;
  /**
   *  An unspecified format version that will default to V2.
   *
   *  Value: "VERSION_FORMAT_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_LogSink_OutputVersionFormat_VersionFormatUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_MetricDescriptor.launchStage
  
  /**
   *  Alpha is a limited availability test for releases before they are cleared
   *  for widespread use. By Alpha, all significant design issues are resolved and
   *  we are in the process of verifying functionality. Alpha customers need to
   *  apply for access, agree to applicable terms, and have their projects
   *  allowlisted. Alpha releases don’t have to be feature complete, no SLAs are
   *  provided, and there are no technical support obligations, but they will be
   *  far enough along that customers can actually use them in test environments
   *  or for limited-use tests -- just like they would in normal production cases.
   *
   *  Value: "ALPHA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_Alpha;
  /**
   *  Beta is the point at which we are ready to open a release for any customer
   *  to use. There are no SLA or technical support obligations in a Beta release.
   *  Products will be complete from a feature perspective, but may have some open
   *  outstanding issues. Beta releases are suitable for limited production use
   *  cases.
   *
   *  Value: "BETA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_Beta;
  /**
   *  Deprecated features are scheduled to be shut down and removed. For more
   *  information, see the “Deprecation Policy” section of our Terms of Service
   *  (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to
   *  the Deprecation Policy (https://cloud.google.com/terms/deprecation)
   *  documentation.
   *
   *  Value: "DEPRECATED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_Deprecated;
  /**
   *  Early Access features are limited to a closed group of testers. To use these
   *  features, you must sign up in advance and sign a Trusted Tester agreement
   *  (which includes confidentiality provisions). These features may be unstable,
   *  changed in backward-incompatible ways, and are not guaranteed to be
   *  released.
   *
   *  Value: "EARLY_ACCESS"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_EarlyAccess;
  /**
   *  GA features are open to all developers and are considered stable and fully
   *  qualified for production use.
   *
   *  Value: "GA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_Ga;
  /**
   *  Do not use this default value.
   *
   *  Value: "LAUNCH_STAGE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_LaunchStageUnspecified;
  /**
   *  Prelaunch features are hidden from users and are only visible internally.
   *
   *  Value: "PRELAUNCH"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_Prelaunch;
  /**
   *  The feature is not yet implemented. Users can not use it.
   *
   *  Value: "UNIMPLEMENTED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_LaunchStage_Unimplemented;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_MetricDescriptor.metricKind
  
  /**
   *  A value accumulated over a time interval. Cumulative measurements in a time
   *  series should have the same start time and increasing end times, until an
   *  event resets the cumulative value to zero and sets a new start time for the
   *  following points.
   *
   *  Value: "CUMULATIVE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_MetricKind_Cumulative;
  /**
   *  The change in a value during a time interval.
   *
   *  Value: "DELTA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_MetricKind_Delta;
  /**
   *  An instantaneous measurement of a value.
   *
   *  Value: "GAUGE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_MetricKind_Gauge;
  /**
   *  Do not use this default value.
   *
   *  Value: "METRIC_KIND_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_MetricKind_MetricKindUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_MetricDescriptor.valueType
  
  /**
   *  The value is a boolean. This value type can be used only if the metric kind
   *  is GAUGE.
   *
   *  Value: "BOOL"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_ValueType_Bool;
  /**
   *  The value is a Distribution.
   *
   *  Value: "DISTRIBUTION"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_ValueType_Distribution;
  /**
   *  The value is a double precision floating point number.
   *
   *  Value: "DOUBLE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_ValueType_Double;
  /**
   *  The value is a signed 64-bit integer.
   *
   *  Value: "INT64"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_ValueType_Int64;
  /**
   *  The value is money.
   *
   *  Value: "MONEY"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_ValueType_Money;
  /**
   *  The value is a text string. This value type can be used only if the metric
   *  kind is GAUGE.
   *
   *  Value: "STRING"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_ValueType_String;
  /**
   *  Do not use this default value.
   *
   *  Value: "VALUE_TYPE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptor_ValueType_ValueTypeUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_MetricDescriptorMetadata.launchStage
  
  /**
   *  Alpha is a limited availability test for releases before they are cleared
   *  for widespread use. By Alpha, all significant design issues are resolved and
   *  we are in the process of verifying functionality. Alpha customers need to
   *  apply for access, agree to applicable terms, and have their projects
   *  allowlisted. Alpha releases don’t have to be feature complete, no SLAs are
   *  provided, and there are no technical support obligations, but they will be
   *  far enough along that customers can actually use them in test environments
   *  or for limited-use tests -- just like they would in normal production cases.
   *
   *  Value: "ALPHA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Alpha;
  /**
   *  Beta is the point at which we are ready to open a release for any customer
   *  to use. There are no SLA or technical support obligations in a Beta release.
   *  Products will be complete from a feature perspective, but may have some open
   *  outstanding issues. Beta releases are suitable for limited production use
   *  cases.
   *
   *  Value: "BETA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Beta;
  /**
   *  Deprecated features are scheduled to be shut down and removed. For more
   *  information, see the “Deprecation Policy” section of our Terms of Service
   *  (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to
   *  the Deprecation Policy (https://cloud.google.com/terms/deprecation)
   *  documentation.
   *
   *  Value: "DEPRECATED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Deprecated;
  /**
   *  Early Access features are limited to a closed group of testers. To use these
   *  features, you must sign up in advance and sign a Trusted Tester agreement
   *  (which includes confidentiality provisions). These features may be unstable,
   *  changed in backward-incompatible ways, and are not guaranteed to be
   *  released.
   *
   *  Value: "EARLY_ACCESS"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_EarlyAccess;
  /**
   *  GA features are open to all developers and are considered stable and fully
   *  qualified for production use.
   *
   *  Value: "GA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Ga;
  /**
   *  Do not use this default value.
   *
   *  Value: "LAUNCH_STAGE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_LaunchStageUnspecified;
  /**
   *  Prelaunch features are hidden from users and are only visible internally.
   *
   *  Value: "PRELAUNCH"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Prelaunch;
  /**
   *  The feature is not yet implemented. Users can not use it.
   *
   *  Value: "UNIMPLEMENTED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Unimplemented;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_MonitoredResourceDescriptor.launchStage
  
  /**
   *  Alpha is a limited availability test for releases before they are cleared
   *  for widespread use. By Alpha, all significant design issues are resolved and
   *  we are in the process of verifying functionality. Alpha customers need to
   *  apply for access, agree to applicable terms, and have their projects
   *  allowlisted. Alpha releases don’t have to be feature complete, no SLAs are
   *  provided, and there are no technical support obligations, but they will be
   *  far enough along that customers can actually use them in test environments
   *  or for limited-use tests -- just like they would in normal production cases.
   *
   *  Value: "ALPHA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Alpha;
  /**
   *  Beta is the point at which we are ready to open a release for any customer
   *  to use. There are no SLA or technical support obligations in a Beta release.
   *  Products will be complete from a feature perspective, but may have some open
   *  outstanding issues. Beta releases are suitable for limited production use
   *  cases.
   *
   *  Value: "BETA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Beta;
  /**
   *  Deprecated features are scheduled to be shut down and removed. For more
   *  information, see the “Deprecation Policy” section of our Terms of Service
   *  (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to
   *  the Deprecation Policy (https://cloud.google.com/terms/deprecation)
   *  documentation.
   *
   *  Value: "DEPRECATED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Deprecated;
  /**
   *  Early Access features are limited to a closed group of testers. To use these
   *  features, you must sign up in advance and sign a Trusted Tester agreement
   *  (which includes confidentiality provisions). These features may be unstable,
   *  changed in backward-incompatible ways, and are not guaranteed to be
   *  released.
   *
   *  Value: "EARLY_ACCESS"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_EarlyAccess;
  /**
   *  GA features are open to all developers and are considered stable and fully
   *  qualified for production use.
   *
   *  Value: "GA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Ga;
  /**
   *  Do not use this default value.
   *
   *  Value: "LAUNCH_STAGE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_LaunchStageUnspecified;
  /**
   *  Prelaunch features are hidden from users and are only visible internally.
   *
   *  Value: "PRELAUNCH"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Prelaunch;
  /**
   *  The feature is not yet implemented. Users can not use it.
   *
   *  Value: "UNIMPLEMENTED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Unimplemented;
  
  // ----------------------------------------------------------------------------
  // GTLRLogging_SuppressionInfo.reason
  
  /**
   *  Indicates suppression occurred due to the client not consuming responses
   *  quickly enough.
   *
   *  Value: "NOT_CONSUMED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_SuppressionInfo_Reason_NotConsumed;
  /**
   *  Indicates suppression occurred due to relevant entries being received in
   *  excess of rate limits. For quotas and limits, see Logging API quotas and
   *  limits (https://cloud.google.com/logging/quotas#api-limits).
   *
   *  Value: "RATE_LIMIT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_SuppressionInfo_Reason_RateLimit;
  /**
   *  Unexpected default.
   *
   *  Value: "REASON_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRLogging_SuppressionInfo_Reason_ReasonUnspecified;
  
  /**
   *  Options that change functionality of a sink exporting data to BigQuery.
   */
  @interface GTLRLogging_BigQueryOptions : GTLRObject
  
  /**
   *  Optional. Whether to use BigQuery's partition tables
   *  (https://cloud.google.com/bigquery/docs/partitioned-tables). By default,
   *  Logging creates dated tables based on the log entries' timestamps, e.g.
   *  syslog_20170523. With partitioned tables the date suffix is no longer
   *  present and special query syntax
   *  (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to
   *  be used instead. In both cases, tables are sharded based on UTC timezone.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *usePartitionedTables;
  
  /**
   *  Output only. True if new timestamp column based partitioning is in use,
   *  false if legacy ingestion-time partitioning is in use. All new sinks will
   *  have this field set true and will use timestamp column based partitioning.
   *  If use_partitioned_tables is false, this value has no meaning and will be
   *  false. Legacy sinks using partitioned tables will have this field set to
   *  false.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *usesTimestampColumnPartitioning;
  
  @end
  
  
  /**
   *  BucketOptions describes the bucket boundaries used to create a histogram for
   *  the distribution. The buckets can be in a linear sequence, an exponential
   *  sequence, or each bucket can be specified explicitly. BucketOptions does not
   *  include the number of values in each bucket.A bucket has an inclusive lower
   *  bound and exclusive upper bound for the values that are counted for that
   *  bucket. The upper bound of a bucket must be strictly greater than the lower
   *  bound. The sequence of N buckets for a distribution consists of an underflow
   *  bucket (number 0), zero or more finite buckets (number 1 through N - 2) and
   *  an overflow bucket (number N - 1). The buckets are contiguous: the lower
   *  bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1.
   *  The buckets span the whole range of finite values: lower bound of the
   *  underflow bucket is -infinity and the upper bound of the overflow bucket is
   *  +infinity. The finite buckets are so-called because both bounds are finite.
   */
  @interface GTLRLogging_BucketOptions : GTLRObject
  
  /** The explicit buckets. */
  @property(nonatomic, strong, nullable) GTLRLogging_Explicit *explicitBuckets;
  
  /** The exponential buckets. */
  @property(nonatomic, strong, nullable) GTLRLogging_Exponential *exponentialBuckets;
  
  /** The linear bucket. */
  @property(nonatomic, strong, nullable) GTLRLogging_Linear *linearBuckets;
  
  @end
  
  
  /**
   *  Describes the customer-managed encryption key (CMEK) settings associated
   *  with a project, folder, organization, billing account, or flexible
   *  resource.Note: CMEK for the Logs Router can currently only be configured for
   *  GCP organizations. Once configured, it applies to all projects and folders
   *  in the GCP organization.See Enabling CMEK for Logs Router
   *  (https://cloud.google.com/logging/docs/routing/managed-encryption) for more
   *  information.
   */
  @interface GTLRLogging_CmekSettings : GTLRObject
  
  /**
   *  The resource name for the configured Cloud KMS key.KMS key name format:
   *  "projects/PROJECT_ID/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY"For
   *  example:
   *  "projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name"To
   *  enable CMEK for the Logs Router, set this field to a valid kms_key_name for
   *  which the associated service account has the required
   *  roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The
   *  Cloud KMS key used by the Log Router can be updated by changing the
   *  kms_key_name to a new valid key name. Encryption operations that are in
   *  progress will be completed with the key that was in use when they started.
   *  Decryption operations will be completed using the key that was used at the
   *  time of encryption unless access to that key has been revoked.To disable
   *  CMEK for the Logs Router, set this field to an empty string.See Enabling
   *  CMEK for Logs Router
   *  (https://cloud.google.com/logging/docs/routing/managed-encryption) for more
   *  information.
   */
  @property(nonatomic, copy, nullable) NSString *kmsKeyName;
  
  /** Output only. The resource name of the CMEK settings. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Output only. The service account that will be used by the Logs Router to
   *  access your Cloud KMS key.Before enabling CMEK for Logs Router, you must
   *  first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the
   *  service account that the Logs Router will use to access your Cloud KMS key.
   *  Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for
   *  Logs Router
   *  (https://cloud.google.com/logging/docs/routing/managed-encryption) for more
   *  information.
   */
  @property(nonatomic, copy, nullable) NSString *serviceAccountId;
  
  @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 GTLRLogging_Empty : GTLRObject
  @end
  
  
  /**
   *  Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1
   *  (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i <
   *  N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must
   *  contain at least one element. If bounds has only one element, then there are
   *  no finite buckets, and that single element is the common boundary of the
   *  overflow and underflow buckets.
   */
  @interface GTLRLogging_Explicit : GTLRObject
  
  /**
   *  The values must be monotonically increasing.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSArray<NSNumber *> *bounds;
  
  @end
  
  
  /**
   *  Specifies an exponential sequence of buckets that have a width that is
   *  proportional to the value of the lower bound. Each bucket represents a
   *  constant relative uncertainty on a specific value in the bucket.There are
   *  num_finite_buckets + 2 (= N) buckets. Bucket i has the following
   *  boundaries:Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower
   *  bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).
   */
  @interface GTLRLogging_Exponential : GTLRObject
  
  /**
   *  Must be greater than 1.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *growthFactor;
  
  /**
   *  Must be greater than 0.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *numFiniteBuckets;
  
  /**
   *  Must be greater than 0.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *scale;
  
  @end
  
  
  /**
   *  A common proto for logging HTTP requests. Only contains semantics defined by
   *  the HTTP specification. Product-specific logging information MUST be defined
   *  in a separate message.
   */
  @interface GTLRLogging_HttpRequest : GTLRObject
  
  /**
   *  The number of HTTP response bytes inserted into cache. Set only when a cache
   *  fill was attempted.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *cacheFillBytes;
  
  /**
   *  Whether or not an entity was served from cache (with or without validation).
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *cacheHit;
  
  /**
   *  Whether or not a cache lookup was attempted.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *cacheLookup;
  
  /**
   *  Whether or not the response was validated with the origin server before
   *  being served from cache. This field is only meaningful if cache_hit is True.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *cacheValidatedWithOriginServer;
  
  /**
   *  The request processing latency on the server, from the time the request was
   *  received until the response was sent.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *latency;
  
  /**
   *  Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket"
   */
  @property(nonatomic, copy, nullable) NSString *protocol;
  
  /**
   *  The referer URL of the request, as defined in HTTP/1.1 Header Field
   *  Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
   */
  @property(nonatomic, copy, nullable) NSString *referer;
  
  /**
   *  The IP address (IPv4 or IPv6) of the client that issued the HTTP request.
   *  This field can include port information. Examples: "192.168.1.1",
   *  "10.0.0.1:80", "FE80::0202:B3FF:FE1E:8329".
   */
  @property(nonatomic, copy, nullable) NSString *remoteIp;
  
  /** The request method. Examples: "GET", "HEAD", "PUT", "POST". */
  @property(nonatomic, copy, nullable) NSString *requestMethod;
  
  /**
   *  The size of the HTTP request message in bytes, including the request headers
   *  and the request body.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *requestSize;
  
  /**
   *  The scheme (http, https), the host name, the path and the query portion of
   *  the URL that was requested. Example:
   *  "http://example.com/some/info?color=red".
   */
  @property(nonatomic, copy, nullable) NSString *requestUrl;
  
  /**
   *  The size of the HTTP response message sent back to the client, in bytes,
   *  including the response headers and the response body.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *responseSize;
  
  /**
   *  The IP address (IPv4 or IPv6) of the origin server that the request was sent
   *  to. This field can include port information. Examples: "192.168.1.1",
   *  "10.0.0.1:80", "FE80::0202:B3FF:FE1E:8329".
   */
  @property(nonatomic, copy, nullable) NSString *serverIp;
  
  /**
   *  The response code indicating the status of response. Examples: 200, 404.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *status;
  
  /**
   *  The user agent sent by the client. Example: "Mozilla/4.0 (compatible; MSIE
   *  6.0; Windows 98; Q312461; .NET CLR 1.0.3705)".
   */
  @property(nonatomic, copy, nullable) NSString *userAgent;
  
  @end
  
  
  /**
   *  A description of a label.
   */
  @interface GTLRLogging_LabelDescriptor : GTLRObject
  
  /**
   *  A human-readable description for the label.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /** The label key. */
  @property(nonatomic, copy, nullable) NSString *key;
  
  /**
   *  The type of data that can be assigned to the label.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_LabelDescriptor_ValueType_Bool Boolean; true or
   *        false. (Value: "BOOL")
   *    @arg @c kGTLRLogging_LabelDescriptor_ValueType_Int64 A 64-bit signed
   *        integer. (Value: "INT64")
   *    @arg @c kGTLRLogging_LabelDescriptor_ValueType_String A variable-length
   *        string. This is the default. (Value: "STRING")
   */
  @property(nonatomic, copy, nullable) NSString *valueType;
  
  @end
  
  
  /**
   *  Specifies a linear sequence of buckets that all have the same width (except
   *  overflow and underflow). Each bucket represents a constant absolute
   *  uncertainty on the specific value in the bucket.There are num_finite_buckets
   *  + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i
   *  < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i
   *  - 1)).
   */
  @interface GTLRLogging_Linear : GTLRObject
  
  /**
   *  Must be greater than 0.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *numFiniteBuckets;
  
  /**
   *  Lower bound of the first bucket.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *offset;
  
  /**
   *  Must be greater than 0.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *width;
  
  @end
  
  
  /**
   *  The response from ListBuckets.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "buckets" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRLogging_ListBucketsResponse : GTLRCollectionObject
  
  /**
   *  A list of buckets.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogBucket *> *buckets;
  
  /**
   *  If there might be more results than appear in this response, then
   *  nextPageToken is included. To get the next set of results, call the same
   *  method again using the value of nextPageToken as pageToken.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  Result returned from ListExclusions.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "exclusions" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRLogging_ListExclusionsResponse : GTLRCollectionObject
  
  /**
   *  A list of exclusions.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogExclusion *> *exclusions;
  
  /**
   *  If there might be more results than appear in this response, then
   *  nextPageToken is included. To get the next set of results, call the same
   *  method again using the value of nextPageToken as pageToken.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  The response message for Locations.ListLocations.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "locations" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRLogging_ListLocationsResponse : GTLRCollectionObject
  
  /**
   *  A list of locations that matches the specified filter in the request.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_Location *> *locations;
  
  /** The standard List next-page token. */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  The parameters to ListLogEntries.
   */
  @interface GTLRLogging_ListLogEntriesRequest : GTLRObject
  
  /**
   *  Optional. A filter that chooses which log entries to return. See Advanced
   *  Logs Queries (https://cloud.google.com/logging/docs/view/advanced-queries).
   *  Only log entries that match the filter are returned. An empty filter matches
   *  all log entries in the resources listed in resource_names. Referencing a
   *  parent resource that is not listed in resource_names will cause the filter
   *  to return no results. The maximum length of the filter is 20000 characters.
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  Optional. How the results should be sorted. Presently, the only permitted
   *  values are "timestamp asc" (default) and "timestamp desc". The first option
   *  returns entries in order of increasing values of LogEntry.timestamp (oldest
   *  first), and the second option returns entries in order of decreasing
   *  timestamps (newest first). Entries with equal timestamps are returned in
   *  order of their insert_id values.
   */
  @property(nonatomic, copy, nullable) NSString *orderBy;
  
  /**
   *  Optional. The maximum number of results to return from this request. Default
   *  is 50. If the value is negative or exceeds 1000, the request is rejected.
   *  The presence of next_page_token in the response indicates that more results
   *  might be available.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *pageSize;
  
  /**
   *  Optional. If present, then retrieve the next batch of results from the
   *  preceding call to this method. page_token must be the value of
   *  next_page_token from the previous response. The values of other method
   *  parameters should be identical to those in the previous call.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Optional. Deprecated. Use resource_names instead. One or more project
   *  identifiers or project numbers from which to retrieve log entries. Example:
   *  "my-project-1A".
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *projectIds;
  
  /**
   *  Required. Names of one or more parent resources from which to retrieve log
   *  entries: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID]
   *  billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]May alternatively be
   *  one or more views:
   *  projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
   *  organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
   *  billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
   *  folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]Projects
   *  listed in the project_ids field are added to this list.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *resourceNames;
  
  @end
  
  
  /**
   *  Result returned from ListLogEntries.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "entries" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRLogging_ListLogEntriesResponse : GTLRCollectionObject
  
  /**
   *  A list of log entries. If entries is empty, nextPageToken may still be
   *  returned, indicating that more entries may exist. See nextPageToken for more
   *  information.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogEntry *> *entries;
  
  /**
   *  If there might be more results than those appearing in this response, then
   *  nextPageToken is included. To get the next set of results, call this method
   *  again using the value of nextPageToken as pageToken.If a value for
   *  next_page_token appears and the entries field is empty, it means that the
   *  search found no log entries so far but it did not have time to search all
   *  the possible log entries. Retry the method with this value for page_token to
   *  continue the search. Alternatively, consider speeding up the search by
   *  changing your filter to specify a single log name or resource type, or to
   *  narrow the time range of the search.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  Result returned from ListLogMetrics.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "metrics" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRLogging_ListLogMetricsResponse : GTLRCollectionObject
  
  /**
   *  A list of logs-based metrics.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogMetric *> *metrics;
  
  /**
   *  If there might be more results than appear in this response, then
   *  nextPageToken is included. To get the next set of results, call this method
   *  again using the value of nextPageToken as pageToken.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  Result returned from ListLogs.
   */
  @interface GTLRLogging_ListLogsResponse : GTLRObject
  
  /**
   *  A list of log names. For example, "projects/my-project/logs/syslog" or
   *  "organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity".
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *logNames;
  
  /**
   *  If there might be more results than those appearing in this response, then
   *  nextPageToken is included. To get the next set of results, call this method
   *  again using the value of nextPageToken as pageToken.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  Result returned from ListMonitoredResourceDescriptors.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "resourceDescriptors" property. If returned as the result of a
   *        query, it should support automatic pagination (when @c
   *        shouldFetchNextPages is enabled).
   */
  @interface GTLRLogging_ListMonitoredResourceDescriptorsResponse : GTLRCollectionObject
  
  /**
   *  If there might be more results than those appearing in this response, then
   *  nextPageToken is included. To get the next set of results, call this method
   *  again using the value of nextPageToken as pageToken.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  A list of resource descriptors.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_MonitoredResourceDescriptor *> *resourceDescriptors;
  
  @end
  
  
  /**
   *  Result returned from ListSinks.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "sinks" property. If returned as the result of a query, it should
   *        support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRLogging_ListSinksResponse : GTLRCollectionObject
  
  /**
   *  If there might be more results than appear in this response, then
   *  nextPageToken is included. To get the next set of results, call the same
   *  method again using the value of nextPageToken as pageToken.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  A list of sinks.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogSink *> *sinks;
  
  @end
  
  
  /**
   *  The response from ListViews.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "views" property. If returned as the result of a query, it should
   *        support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRLogging_ListViewsResponse : GTLRCollectionObject
  
  /**
   *  If there might be more results than appear in this response, then
   *  nextPageToken is included. To get the next set of results, call the same
   *  method again using the value of nextPageToken as pageToken.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  A list of views.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogView *> *views;
  
  @end
  
  
  /**
   *  A resource that represents Google Cloud Platform location.
   */
  @interface GTLRLogging_Location : GTLRObject
  
  /**
   *  The friendly name for this location, typically a nearby city name. For
   *  example, "Tokyo".
   */
  @property(nonatomic, copy, nullable) NSString *displayName;
  
  /**
   *  Cross-service attributes for the location. For example
   *  {"cloud.googleapis.com/region": "us-east1"}
   */
  @property(nonatomic, strong, nullable) GTLRLogging_Location_Labels *labels;
  
  /** The canonical id for this location. For example: "us-east1". */
  @property(nonatomic, copy, nullable) NSString *locationId;
  
  /**
   *  Service-specific metadata. For example the available capacity at the given
   *  location.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_Location_Metadata *metadata;
  
  /**
   *  Resource name for the location, which may vary between implementations. For
   *  example: "projects/example-project/locations/us-east1"
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  @end
  
  
  /**
   *  Cross-service attributes for the location. For example
   *  {"cloud.googleapis.com/region": "us-east1"}
   *
   *  @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 GTLRLogging_Location_Labels : GTLRObject
  @end
  
  
  /**
   *  Service-specific metadata. For example the available capacity at the given
   *  location.
   *
   *  @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 GTLRLogging_Location_Metadata : GTLRObject
  @end
  
  
  /**
   *  Describes a repository of logs.
   */
  @interface GTLRLogging_LogBucket : GTLRObject
  
  /**
   *  Output only. The creation timestamp of the bucket. This is not set for any
   *  of the default buckets.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Describes this bucket.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Output only. The bucket lifecycle state.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_LogBucket_LifecycleState_Active The normal and active
   *        state. (Value: "ACTIVE")
   *    @arg @c kGTLRLogging_LogBucket_LifecycleState_DeleteRequested The bucket
   *        has been marked for deletion by the user. (Value: "DELETE_REQUESTED")
   *    @arg @c kGTLRLogging_LogBucket_LifecycleState_LifecycleStateUnspecified
   *        Unspecified state. This is only used/useful for distinguishing unset
   *        values. (Value: "LIFECYCLE_STATE_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *lifecycleState;
  
  /**
   *  Whether the bucket has been locked. The retention period on a locked bucket
   *  may not be changed. Locked buckets may only be deleted if they are empty.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *locked;
  
  /**
   *  Output only. The resource name of the bucket. For example:
   *  "projects/my-project-id/locations/my-location/buckets/my-bucket-id" The
   *  supported locations are: global, us-central1, us-east1, us-west1,
   *  asia-east1, europe-west1.For the location of global it is unspecified where
   *  logs are actually stored. Once a bucket has been created, the location can
   *  not be changed.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Log entry field paths that are denied access in this bucket. The following
   *  fields and their children are eligible: textPayload, jsonPayload,
   *  protoPayload, httpRequest, labels, sourceLocation. Restricting a repeated
   *  field will restrict all values. Adding a parent will block all child fields
   *  e.g. foo.bar will block foo.bar.baz.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *restrictedFields;
  
  /**
   *  Logs will be retained by default for this amount of time, after which they
   *  will automatically be deleted. The minimum retention period is 1 day. If
   *  this value is set to zero at bucket creation time, the default time of 30
   *  days will be used.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *retentionDays;
  
  /** Output only. The last update timestamp of the bucket. */
  @property(nonatomic, strong, nullable) GTLRDateTime *updateTime;
  
  @end
  
  
  /**
   *  An individual entry in a log.
   */
  @interface GTLRLogging_LogEntry : GTLRObject
  
  /**
   *  Optional. Information about the HTTP request associated with this log entry,
   *  if applicable.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_HttpRequest *httpRequest;
  
  /**
   *  Optional. A unique identifier for the log entry. If you provide a value,
   *  then Logging considers other log entries in the same project, with the same
   *  timestamp, and with the same insert_id to be duplicates which are removed in
   *  a single query result. However, there are no guarantees of de-duplication in
   *  the export of logs.If the insert_id is omitted when writing a log entry, the
   *  Logging API assigns its own unique identifier in this field.In queries, the
   *  insert_id is also used to order log entries that have the same log_name and
   *  timestamp values.
   */
  @property(nonatomic, copy, nullable) NSString *insertId;
  
  /**
   *  The log entry payload, represented as a structure that is expressed as a
   *  JSON object.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_LogEntry_JsonPayload *jsonPayload;
  
  /**
   *  Optional. A set of user-defined (key, value) data that provides additional
   *  information about the log entry.Cloud Logging truncates label keys that
   *  exceed 512 B and label values that exceed 64 KB upon their associated log
   *  entry being written. The truncation is indicated by an ellipsis at the end
   *  of the character string.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_LogEntry_Labels *labels;
  
  /**
   *  Required. The resource name of the log to which this log entry belongs:
   *  "projects/[PROJECT_ID]/logs/[LOG_ID]"
   *  "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
   *  "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
   *  "folders/[FOLDER_ID]/logs/[LOG_ID]" A project number may be used in place of
   *  PROJECT_ID. The project number is translated to its corresponding PROJECT_ID
   *  internally and the log_name field will contain PROJECT_ID in queries and
   *  exports.[LOG_ID] must be URL-encoded within log_name. Example:
   *  "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity".
   *  [LOG_ID] must be less than 512 characters long and can only include the
   *  following characters: upper and lower case alphanumeric characters,
   *  forward-slash, underscore, hyphen, and period.For backward compatibility, if
   *  log_name begins with a forward-slash, such as /projects/..., then the log
   *  entry is ingested as usual but the forward-slash is removed. Listing the log
   *  entry will not show the leading slash and filtering for a log name with a
   *  leading slash will never return any results.
   */
  @property(nonatomic, copy, nullable) NSString *logName;
  
  /**
   *  Output only. Deprecated. Additional metadata about the monitored
   *  resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have
   *  this field populated for GKE versions older than 1.12.6. For GKE versions
   *  1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod
   *  labels that used to be in metadata.userLabels will now be present in the
   *  labels field with a key prefix of k8s-pod/. The system labels that were
   *  present in the metadata.systemLabels field will no longer be available in
   *  the log entry.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_MonitoredResourceMetadata *metadata;
  
  /**
   *  Optional. Information about an operation associated with the log entry, if
   *  applicable.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_LogEntryOperation *operation;
  
  /**
   *  The log entry payload, represented as a protocol buffer. Some Google Cloud
   *  Platform services use this field for their log entry payloads.The following
   *  protocol buffer types are supported; user-defined types are not
   *  supported:"type.googleapis.com/google.cloud.audit.AuditLog"
   *  "type.googleapis.com/google.appengine.logging.v1.RequestLog"
   */
  @property(nonatomic, strong, nullable) GTLRLogging_LogEntry_ProtoPayload *protoPayload;
  
  /** Output only. The time the log entry was received by Logging. */
  @property(nonatomic, strong, nullable) GTLRDateTime *receiveTimestamp;
  
  /**
   *  Required. The monitored resource that produced this log entry.Example: a log
   *  entry that reports a database error would be associated with the monitored
   *  resource designating the particular database that reported the error.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_MonitoredResource *resource;
  
  /**
   *  Optional. The severity of the log entry. The default value is
   *  LogSeverity.DEFAULT.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_LogEntry_Severity_Alert (700) A person must take an
   *        action immediately. (Value: "ALERT")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Critical (600) Critical events
   *        cause more severe problems or outages. (Value: "CRITICAL")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Debug (100) Debug or trace
   *        information. (Value: "DEBUG")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Default (0) The log entry has no
   *        assigned severity level. (Value: "DEFAULT")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Emergency (800) One or more systems
   *        are unusable. (Value: "EMERGENCY")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Error (500) Error events are likely
   *        to cause problems. (Value: "ERROR")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Info (200) Routine information,
   *        such as ongoing status or performance. (Value: "INFO")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Notice (300) Normal but significant
   *        events, such as start up, shut down, or a configuration change.
   *        (Value: "NOTICE")
   *    @arg @c kGTLRLogging_LogEntry_Severity_Warning (400) Warning events might
   *        cause problems. (Value: "WARNING")
   */
  @property(nonatomic, copy, nullable) NSString *severity;
  
  /**
   *  Optional. Source code location information associated with the log entry, if
   *  any.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_LogEntrySourceLocation *sourceLocation;
  
  /**
   *  Optional. The span ID within the trace associated with the log entry.For
   *  Trace spans, this is the same format that the Trace API v2 uses: a
   *  16-character hexadecimal encoding of an 8-byte array, such as
   *  000000000000004a.
   */
  @property(nonatomic, copy, nullable) NSString *spanId;
  
  /** The log entry payload, represented as a Unicode string (UTF-8). */
  @property(nonatomic, copy, nullable) NSString *textPayload;
  
  /**
   *  Optional. The time the event described by the log entry occurred. This time
   *  is used to compute the log entry's age and to enforce the logs retention
   *  period. If this field is omitted in a new log entry, then Logging assigns it
   *  the current time. Timestamps have nanosecond accuracy, but trailing zeros in
   *  the fractional seconds might be omitted when the timestamp is
   *  displayed.Incoming log entries must have timestamps that don't exceed the
   *  logs retention period
   *  (https://cloud.google.com/logging/quotas#logs_retention_periods) in the
   *  past, and that don't exceed 24 hours in the future. Log entries outside
   *  those time boundaries aren't ingested by Logging.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *timestamp;
  
  /**
   *  Optional. Resource name of the trace associated with the log entry, if any.
   *  If it contains a relative resource name, the name is assumed to be relative
   *  to //tracing.googleapis.com. Example:
   *  projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824
   */
  @property(nonatomic, copy, nullable) NSString *trace;
  
  /**
   *  Optional. The sampling decision of the trace associated with the log
   *  entry.True means that the trace resource name in the trace field was sampled
   *  for storage in a trace backend. False means that the trace was not sampled
   *  for storage when this log entry was written, or the sampling decision was
   *  unknown at the time. A non-sampled trace value is still useful as a request
   *  correlation identifier. The default is False.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *traceSampled;
  
  @end
  
  
  /**
   *  The log entry payload, represented as a structure that is expressed as a
   *  JSON object.
   *
   *  @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 GTLRLogging_LogEntry_JsonPayload : GTLRObject
  @end
  
  
  /**
   *  Optional. A set of user-defined (key, value) data that provides additional
   *  information about the log entry.Cloud Logging truncates label keys that
   *  exceed 512 B and label values that exceed 64 KB upon their associated log
   *  entry being written. The truncation is indicated by an ellipsis at the end
   *  of the character string.
   *
   *  @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 GTLRLogging_LogEntry_Labels : GTLRObject
  @end
  
  
  /**
   *  The log entry payload, represented as a protocol buffer. Some Google Cloud
   *  Platform services use this field for their log entry payloads.The following
   *  protocol buffer types are supported; user-defined types are not
   *  supported:"type.googleapis.com/google.cloud.audit.AuditLog"
   *  "type.googleapis.com/google.appengine.logging.v1.RequestLog"
   *
   *  @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 GTLRLogging_LogEntry_ProtoPayload : GTLRObject
  @end
  
  
  /**
   *  Additional information about a potentially long-running operation with which
   *  a log entry is associated.
   */
  @interface GTLRLogging_LogEntryOperation : GTLRObject
  
  /**
   *  Optional. Set this to True if this is the first log entry in the operation.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *first;
  
  /**
   *  Optional. An arbitrary operation identifier. Log entries with the same
   *  identifier are assumed to be part of the same operation.
   *
   *  identifier property maps to 'id' in JSON (to avoid Objective C's 'id').
   */
  @property(nonatomic, copy, nullable) NSString *identifier;
  
  /**
   *  Optional. Set this to True if this is the last log entry in the operation.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *last;
  
  /**
   *  Optional. An arbitrary producer identifier. The combination of id and
   *  producer must be globally unique. Examples for producer:
   *  "MyDivision.MyBigCompany.com", "github.com/MyProject/MyApplication".
   */
  @property(nonatomic, copy, nullable) NSString *producer;
  
  @end
  
  
  /**
   *  Additional information about the source code location that produced the log
   *  entry.
   */
  @interface GTLRLogging_LogEntrySourceLocation : GTLRObject
  
  /**
   *  Optional. Source file name. Depending on the runtime environment, this might
   *  be a simple name or a fully-qualified name.
   */
  @property(nonatomic, copy, nullable) NSString *file;
  
  /**
   *  Optional. Human-readable name of the function or method being invoked, with
   *  optional context such as the class or package name. This information may be
   *  used in contexts such as the logs viewer, where a file and line number are
   *  less meaningful. The format can vary by language. For example:
   *  qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).
   */
  @property(nonatomic, copy, nullable) NSString *function;
  
  /**
   *  Optional. Line within the source file. 1-based; 0 indicates no line number
   *  available.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *line;
  
  @end
  
  
  /**
   *  Specifies a set of log entries that are not to be stored in Logging. If your
   *  GCP resource receives a large volume of logs, you can use exclusions to
   *  reduce your chargeable logs. Exclusions are processed after log sinks, so
   *  you can export log entries before they are excluded. Note that
   *  organization-level and folder-level exclusions don't apply to child
   *  resources, and that you can't exclude audit log entries.
   */
  @interface GTLRLogging_LogExclusion : GTLRObject
  
  /**
   *  Output only. The creation timestamp of the exclusion.This field may not be
   *  present for older exclusions.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Optional. A description of this exclusion.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Optional. If set to True, then this exclusion is disabled and it does not
   *  exclude any log entries. You can update an exclusion to change the value of
   *  this field.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *disabled;
  
  /**
   *  Required. An advanced logs filter
   *  (https://cloud.google.com/logging/docs/view/advanced-queries) that matches
   *  the log entries to be excluded. By using the sample function
   *  (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you
   *  can exclude less than 100% of the matching log entries. For example, the
   *  following query matches 99% of low-severity log entries from Google Cloud
   *  Storage buckets:"resource.type=gcs_bucket severity<ERROR sample(insertId,
   *  0.99)"
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  Required. A client-assigned identifier, such as "load-balancer-exclusion".
   *  Identifiers are limited to 100 characters and can include only letters,
   *  digits, underscores, hyphens, and periods. First character has to be
   *  alphanumeric.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Output only. The last update timestamp of the exclusion.This field may not
   *  be present for older exclusions.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *updateTime;
  
  @end
  
  
  /**
   *  Application log line emitted while processing a request.
   */
  @interface GTLRLogging_LogLine : GTLRObject
  
  /** App-provided log message. */
  @property(nonatomic, copy, nullable) NSString *logMessage;
  
  /**
   *  Severity of this log entry.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_LogLine_Severity_Alert (700) A person must take an
   *        action immediately. (Value: "ALERT")
   *    @arg @c kGTLRLogging_LogLine_Severity_Critical (600) Critical events cause
   *        more severe problems or outages. (Value: "CRITICAL")
   *    @arg @c kGTLRLogging_LogLine_Severity_Debug (100) Debug or trace
   *        information. (Value: "DEBUG")
   *    @arg @c kGTLRLogging_LogLine_Severity_Default (0) The log entry has no
   *        assigned severity level. (Value: "DEFAULT")
   *    @arg @c kGTLRLogging_LogLine_Severity_Emergency (800) One or more systems
   *        are unusable. (Value: "EMERGENCY")
   *    @arg @c kGTLRLogging_LogLine_Severity_Error (500) Error events are likely
   *        to cause problems. (Value: "ERROR")
   *    @arg @c kGTLRLogging_LogLine_Severity_Info (200) Routine information, such
   *        as ongoing status or performance. (Value: "INFO")
   *    @arg @c kGTLRLogging_LogLine_Severity_Notice (300) Normal but significant
   *        events, such as start up, shut down, or a configuration change.
   *        (Value: "NOTICE")
   *    @arg @c kGTLRLogging_LogLine_Severity_Warning (400) Warning events might
   *        cause problems. (Value: "WARNING")
   */
  @property(nonatomic, copy, nullable) NSString *severity;
  
  /** Where in the source code this log message was written. */
  @property(nonatomic, strong, nullable) GTLRLogging_SourceLocation *sourceLocation;
  
  /** Approximate time when this log entry was made. */
  @property(nonatomic, strong, nullable) GTLRDateTime *time;
  
  @end
  
  
  /**
   *  Describes a logs-based metric. The value of the metric is the number of log
   *  entries that match a logs filter in a given time interval.Logs-based metrics
   *  can also be used to extract values from logs and create a distribution of
   *  the values. The distribution records the statistics of the extracted values
   *  along with an optional histogram of the values as specified by the bucket
   *  options.
   */
  @interface GTLRLogging_LogMetric : GTLRObject
  
  /**
   *  Optional. The bucket_options are required when the logs-based metric is
   *  using a DISTRIBUTION value type and it describes the bucket boundaries used
   *  to create a histogram of the extracted values.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_BucketOptions *bucketOptions;
  
  /**
   *  Output only. The creation timestamp of the metric.This field may not be
   *  present for older metrics.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Optional. A description of this metric, which is used in documentation. The
   *  maximum length of the description is 8000 characters.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Required. An advanced logs filter
   *  (https://cloud.google.com/logging/docs/view/advanced_filters) which is used
   *  to match log entries. Example: "resource.type=gae_app AND severity>=ERROR"
   *  The maximum length of the filter is 20000 characters.
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  Optional. A map from a label key string to an extractor expression which is
   *  used to extract data from a log entry field and assign as the label value.
   *  Each label key specified in the LabelDescriptor must have an associated
   *  extractor expression in this map. The syntax of the extractor expression is
   *  the same as for the value_extractor field.The extracted value is converted
   *  to the type defined in the label descriptor. If the either the extraction or
   *  the type conversion fails, the label will have a default value. The default
   *  value for a string label is an empty string, for an integer label its 0, and
   *  for a boolean label its false.Note that there are upper bounds on the
   *  maximum number of labels and the number of active time series that are
   *  allowed in a project.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_LogMetric_LabelExtractors *labelExtractors;
  
  /**
   *  Optional. The metric descriptor associated with the logs-based metric. If
   *  unspecified, it uses a default metric descriptor with a DELTA metric kind,
   *  INT64 value type, with no labels and a unit of "1". Such a metric counts the
   *  number of log entries matching the filter expression.The name, type, and
   *  description fields in the metric_descriptor are output only, and is
   *  constructed using the name and description field in the LogMetric.To create
   *  a logs-based metric that records a distribution of log values, a DELTA
   *  metric kind with a DISTRIBUTION value type must be used along with a
   *  value_extractor expression in the LogMetric.Each label in the metric
   *  descriptor must have a matching label name as the key and an extractor
   *  expression as the value in the label_extractors map.The metric_kind and
   *  value_type fields in the metric_descriptor cannot be updated once initially
   *  configured. New labels can be added in the metric_descriptor, but existing
   *  labels cannot be modified except for their description.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_MetricDescriptor *metricDescriptor;
  
  /**
   *  Required. The client-assigned metric identifier. Examples: "error_count",
   *  "nginx/requests".Metric identifiers are limited to 100 characters and can
   *  include only the following characters: A-Z, a-z, 0-9, and the special
   *  characters _-.,+!*',()%/. The forward-slash character (/) denotes a
   *  hierarchy of name pieces, and it cannot be the first character of the
   *  name.The metric identifier in this field must not be URL-encoded
   *  (https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric
   *  identifier appears as the [METRIC_ID] part of a metric_name API parameter,
   *  then the metric identifier must be URL-encoded. Example:
   *  "projects/my-project/metrics/nginx%2Frequests".
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Output only. The last update timestamp of the metric.This field may not be
   *  present for older metrics.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *updateTime;
  
  /**
   *  Optional. A value_extractor is required when using a distribution logs-based
   *  metric to extract the values to record from a log entry. Two functions are
   *  supported for value extraction: EXTRACT(field) or REGEXP_EXTRACT(field,
   *  regex). The argument are: 1. field: The name of the log entry field from
   *  which the value is to be extracted. 2. regex: A regular expression using the
   *  Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single
   *  capture group to extract data from the specified log entry field. The value
   *  of the field is converted to a string before applying the regex. It is an
   *  error to specify a regex that does not include exactly one capture group.The
   *  result of the extraction must be convertible to a double type, as the
   *  distribution always records double values. If either the extraction or the
   *  conversion to double fails, then those values are not recorded in the
   *  distribution.Example: REGEXP_EXTRACT(jsonPayload.request,
   *  ".*quantity=(\\d+).*")
   */
  @property(nonatomic, copy, nullable) NSString *valueExtractor;
  
  /**
   *  Deprecated. The API version that created or updated this metric. The v2
   *  format is used by default and cannot be changed.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_LogMetric_Version_V1 Logging API v1. (Value: "V1")
   *    @arg @c kGTLRLogging_LogMetric_Version_V2 Logging API v2. (Value: "V2")
   */
  @property(nonatomic, copy, nullable) NSString *version;
  
  @end
  
  
  /**
   *  Optional. A map from a label key string to an extractor expression which is
   *  used to extract data from a log entry field and assign as the label value.
   *  Each label key specified in the LabelDescriptor must have an associated
   *  extractor expression in this map. The syntax of the extractor expression is
   *  the same as for the value_extractor field.The extracted value is converted
   *  to the type defined in the label descriptor. If the either the extraction or
   *  the type conversion fails, the label will have a default value. The default
   *  value for a string label is an empty string, for an integer label its 0, and
   *  for a boolean label its false.Note that there are upper bounds on the
   *  maximum number of labels and the number of active time series that are
   *  allowed in a project.
   *
   *  @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 GTLRLogging_LogMetric_LabelExtractors : GTLRObject
  @end
  
  
  /**
   *  Describes a sink used to export log entries to one of the following
   *  destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a
   *  Cloud Pub/Sub topic or a Cloud Logging Bucket. A logs filter controls which
   *  log entries are exported. The sink must be created within a project,
   *  organization, billing account, or folder.
   */
  @interface GTLRLogging_LogSink : GTLRObject
  
  /** Optional. Options that affect sinks exporting data to BigQuery. */
  @property(nonatomic, strong, nullable) GTLRLogging_BigQueryOptions *bigqueryOptions;
  
  /**
   *  Output only. The creation timestamp of the sink.This field may not be
   *  present for older sinks.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Optional. A description of this sink. The maximum length of the description
   *  is 8000 characters.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Required. The export destination: "storage.googleapis.com/[GCS_BUCKET]"
   *  "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
   *  "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The sink's
   *  writer_identity, set when the sink is created, must have permission to write
   *  to the destination or else the log entries are not exported. For more
   *  information, see Exporting Logs with Sinks
   *  (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).
   */
  @property(nonatomic, copy, nullable) NSString *destination;
  
  /**
   *  Optional. If set to True, then this sink is disabled and it does not export
   *  any log entries.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *disabled;
  
  /**
   *  Optional. Log entries that match any of the exclusion filters will not be
   *  exported. If a log entry is matched by both filter and one of
   *  exclusion_filters it will not be exported.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogExclusion *> *exclusions;
  
  /**
   *  Optional. An advanced logs filter
   *  (https://cloud.google.com/logging/docs/view/advanced-queries). The only
   *  exported log entries are those that are in the resource owning the sink and
   *  that match the filter. For example:
   *  logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  Optional. This field applies only to sinks owned by organizations and
   *  folders. If the field is false, the default, only the logs owned by the
   *  sink's parent resource are available for export. If the field is true, then
   *  logs from all the projects, folders, and billing accounts contained in the
   *  sink's parent resource are also available for export. Whether a particular
   *  log entry from the children is exported depends on the sink's filter
   *  expression. For example, if this field is true, then the filter
   *  resource.type=gce_instance would export all Compute Engine VM instance log
   *  entries from all projects in the sink's parent. To only export entries from
   *  certain child projects, filter on the project part of the log name:
   *  logName:("projects/test-project1/" OR "projects/test-project2/") AND
   *  resource.type=gce_instance
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *includeChildren;
  
  /**
   *  Required. The client-assigned sink identifier, unique within the project.
   *  Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100
   *  characters and can include only the following characters: upper and
   *  lower-case alphanumeric characters, underscores, hyphens, and periods. First
   *  character has to be alphanumeric.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Deprecated. This field is unused.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_LogSink_OutputVersionFormat_V1 LogEntry version 1
   *        format. (Value: "V1")
   *    @arg @c kGTLRLogging_LogSink_OutputVersionFormat_V2 LogEntry version 2
   *        format. (Value: "V2")
   *    @arg @c kGTLRLogging_LogSink_OutputVersionFormat_VersionFormatUnspecified
   *        An unspecified format version that will default to V2. (Value:
   *        "VERSION_FORMAT_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *outputVersionFormat;
  
  /**
   *  Output only. The last update timestamp of the sink.This field may not be
   *  present for older sinks.
   */
  @property(nonatomic, strong, nullable) GTLRDateTime *updateTime;
  
  /**
   *  Output only. An IAM identity—a service account or group—under which Logging
   *  writes the exported log entries to the sink's destination. This field is set
   *  by sinks.create and sinks.update based on the value of
   *  unique_writer_identity in those methods.Until you grant this identity
   *  write-access to the destination, log entry exports from this sink will fail.
   *  For more information, see Granting Access for a Resource
   *  (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource).
   *  Consult the destination service's documentation to determine the appropriate
   *  IAM roles to assign to the identity.
   */
  @property(nonatomic, copy, nullable) NSString *writerIdentity;
  
  @end
  
  
  /**
   *  Describes a view over logs in a bucket.
   */
  @interface GTLRLogging_LogView : GTLRObject
  
  /** Output only. The creation timestamp of the view. */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Describes this view.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Filter that restricts which log entries in a bucket are visible in this
   *  view. Filters are restricted to be a logical AND of ==/!= of any of the
   *  following: originating project/folder/organization/billing account. resource
   *  type log id Example: SOURCE("projects/myproject") AND resource.type =
   *  "gce_instance" AND LOG_ID("stdout")
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  The resource name of the view. For example
   *  "projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** Output only. The last update timestamp of the view. */
  @property(nonatomic, strong, nullable) GTLRDateTime *updateTime;
  
  @end
  
  
  /**
   *  Defines a metric type and its schema. Once a metric descriptor is created,
   *  deleting or altering it stops data collection and makes the metric type's
   *  existing data unusable.
   */
  @interface GTLRLogging_MetricDescriptor : GTLRObject
  
  /**
   *  A detailed description of the metric, which can be used in documentation.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  A concise name for the metric, which can be displayed in user interfaces.
   *  Use sentence case without an ending period, for example "Request count".
   *  This field is optional but it is recommended to be set for any metrics
   *  associated with user-visible concepts, such as Quota.
   */
  @property(nonatomic, copy, nullable) NSString *displayName;
  
  /**
   *  The set of labels that can be used to describe a specific instance of this
   *  metric type. For example, the
   *  appengine.googleapis.com/http/server/response_latencies metric type has a
   *  label for the HTTP response code, response_code, so you can look at
   *  latencies for successful responses or just for responses that failed.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LabelDescriptor *> *labels;
  
  /**
   *  Optional. The launch stage of the metric definition.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_Alpha Alpha is a limited
   *        availability test for releases before they are cleared for widespread
   *        use. By Alpha, all significant design issues are resolved and we are
   *        in the process of verifying functionality. Alpha customers need to
   *        apply for access, agree to applicable terms, and have their projects
   *        allowlisted. Alpha releases don’t have to be feature complete, no SLAs
   *        are provided, and there are no technical support obligations, but they
   *        will be far enough along that customers can actually use them in test
   *        environments or for limited-use tests -- just like they would in
   *        normal production cases. (Value: "ALPHA")
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_Beta Beta is the point
   *        at which we are ready to open a release for any customer to use. There
   *        are no SLA or technical support obligations in a Beta release.
   *        Products will be complete from a feature perspective, but may have
   *        some open outstanding issues. Beta releases are suitable for limited
   *        production use cases. (Value: "BETA")
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_Deprecated Deprecated
   *        features are scheduled to be shut down and removed. For more
   *        information, see the “Deprecation Policy” section of our Terms of
   *        Service (https://cloud.google.com/terms/) and the Google Cloud
   *        Platform Subject to the Deprecation Policy
   *        (https://cloud.google.com/terms/deprecation) documentation. (Value:
   *        "DEPRECATED")
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_EarlyAccess Early Access
   *        features are limited to a closed group of testers. To use these
   *        features, you must sign up in advance and sign a Trusted Tester
   *        agreement (which includes confidentiality provisions). These features
   *        may be unstable, changed in backward-incompatible ways, and are not
   *        guaranteed to be released. (Value: "EARLY_ACCESS")
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_Ga GA features are open
   *        to all developers and are considered stable and fully qualified for
   *        production use. (Value: "GA")
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_LaunchStageUnspecified
   *        Do not use this default value. (Value: "LAUNCH_STAGE_UNSPECIFIED")
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_Prelaunch Prelaunch
   *        features are hidden from users and are only visible internally.
   *        (Value: "PRELAUNCH")
   *    @arg @c kGTLRLogging_MetricDescriptor_LaunchStage_Unimplemented The
   *        feature is not yet implemented. Users can not use it. (Value:
   *        "UNIMPLEMENTED")
   */
  @property(nonatomic, copy, nullable) NSString *launchStage;
  
  /** Optional. Metadata which can be used to guide usage of the metric. */
  @property(nonatomic, strong, nullable) GTLRLogging_MetricDescriptorMetadata *metadata;
  
  /**
   *  Whether the metric records instantaneous values, changes to a value, etc.
   *  Some combinations of metric_kind and value_type might not be supported.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_MetricDescriptor_MetricKind_Cumulative A value
   *        accumulated over a time interval. Cumulative measurements in a time
   *        series should have the same start time and increasing end times, until
   *        an event resets the cumulative value to zero and sets a new start time
   *        for the following points. (Value: "CUMULATIVE")
   *    @arg @c kGTLRLogging_MetricDescriptor_MetricKind_Delta The change in a
   *        value during a time interval. (Value: "DELTA")
   *    @arg @c kGTLRLogging_MetricDescriptor_MetricKind_Gauge An instantaneous
   *        measurement of a value. (Value: "GAUGE")
   *    @arg @c kGTLRLogging_MetricDescriptor_MetricKind_MetricKindUnspecified Do
   *        not use this default value. (Value: "METRIC_KIND_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *metricKind;
  
  /**
   *  Read-only. If present, then a time series, which is identified partially by
   *  a metric type and a MonitoredResourceDescriptor, that is associated with
   *  this metric type can only be associated with one of the monitored resource
   *  types listed here.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *monitoredResourceTypes;
  
  /** The resource name of the metric descriptor. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  The metric type, including its DNS name prefix. The type is not URL-encoded.
   *  All user-defined metric types have the DNS name custom.googleapis.com or
   *  external.googleapis.com. Metric types should use a natural hierarchical
   *  grouping. For example: "custom.googleapis.com/invoice/paid/amount"
   *  "external.googleapis.com/prometheus/up"
   *  "appengine.googleapis.com/http/server/response_latencies"
   */
  @property(nonatomic, copy, nullable) NSString *type;
  
  /**
   *  The units in which the metric value is reported. It is only applicable if
   *  the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the
   *  representation of the stored metric values.Different systems might scale the
   *  values to be more easily displayed (so a value of 0.02kBy might be displayed
   *  as 20By, and a value of 3523kBy might be displayed as 3.5MBy). However, if
   *  the unit is kBy, then the value of the metric is always in thousands of
   *  bytes, no matter how it might be displayed.If you want a custom metric to
   *  record the exact number of CPU-seconds used by a job, you can create an
   *  INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or
   *  just s). If the job uses 12,005 CPU-seconds, then the value is written as
   *  12005.Alternatively, if you want a custom metric to record data in a more
   *  granular way, you can create a DOUBLE CUMULATIVE metric whose unit is
   *  ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use
   *  Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a
   *  subset of The Unified Code for Units of Measure
   *  (https://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit
   *  By byte s second min minute h hour d day 1 dimensionlessPrefixes (PREFIX) k
   *  kilo (10^3) M mega (10^6) G giga (10^9) T tera (10^12) P peta (10^15) E exa
   *  (10^18) Z zetta (10^21) Y yotta (10^24) m milli (10^-3) u micro (10^-6) n
   *  nano (10^-9) p pico (10^-12) f femto (10^-15) a atto (10^-18) z zepto
   *  (10^-21) y yocto (10^-24) Ki kibi (2^10) Mi mebi (2^20) Gi gibi (2^30) Ti
   *  tebi (2^40) Pi pebi (2^50)GrammarThe grammar also includes these connectors:
   *  / division or ratio (as an infix operator). For examples, kBy/{email} or
   *  MiBy/10ms (although you should almost never have /s in a metric unit; rates
   *  should always be computed at query time from the underlying cumulative or
   *  delta value). . multiplication or composition (as an infix operator). For
   *  examples, GBy.d or k{watt}.h.The grammar for a unit is as follows:
   *  Expression = Component { "." Component } { "/" Component } ; Component = ( [
   *  PREFIX ] UNIT | "%" ) [ Annotation ] | Annotation | "1" ; Annotation = "{"
   *  NAME "}" ; Notes: Annotation is just a comment if it follows a UNIT. If the
   *  annotation is used alone, then the unit is equivalent to 1. For examples,
   *  {request}/s == 1/s, By{transmitted}/s == By/s. NAME is a sequence of
   *  non-blank printable ASCII characters not containing { or }. 1 represents a
   *  unitary dimensionless unit
   *  (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s.
   *  It is typically used when none of the basic units are appropriate. For
   *  example, "new users per day" can be represented as 1/d or {new-users}/d (and
   *  a metric value 5 would mean "5 new users). Alternatively, "thousands of page
   *  views per day" would be represented as 1000/d or k1/d or k{page_views}/d
   *  (and a metric value of 5.3 would mean "5300 page views per day"). %
   *  represents dimensionless value of 1/100, and annotates values giving a
   *  percentage (so the metric values are typically in the range of 0..100, and a
   *  metric value 3 means "3 percent"). 10^2.% indicates a metric contains a
   *  ratio, typically in the range 0..1, that will be multiplied by 100 and
   *  displayed as a percentage (so a metric value 0.03 means "3 percent").
   */
  @property(nonatomic, copy, nullable) NSString *unit;
  
  /**
   *  Whether the measurement is an integer, a floating-point number, etc. Some
   *  combinations of metric_kind and value_type might not be supported.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_MetricDescriptor_ValueType_Bool The value is a
   *        boolean. This value type can be used only if the metric kind is GAUGE.
   *        (Value: "BOOL")
   *    @arg @c kGTLRLogging_MetricDescriptor_ValueType_Distribution The value is
   *        a Distribution. (Value: "DISTRIBUTION")
   *    @arg @c kGTLRLogging_MetricDescriptor_ValueType_Double The value is a
   *        double precision floating point number. (Value: "DOUBLE")
   *    @arg @c kGTLRLogging_MetricDescriptor_ValueType_Int64 The value is a
   *        signed 64-bit integer. (Value: "INT64")
   *    @arg @c kGTLRLogging_MetricDescriptor_ValueType_Money The value is money.
   *        (Value: "MONEY")
   *    @arg @c kGTLRLogging_MetricDescriptor_ValueType_String The value is a text
   *        string. This value type can be used only if the metric kind is GAUGE.
   *        (Value: "STRING")
   *    @arg @c kGTLRLogging_MetricDescriptor_ValueType_ValueTypeUnspecified Do
   *        not use this default value. (Value: "VALUE_TYPE_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *valueType;
  
  @end
  
  
  /**
   *  Additional annotations that can be used to guide the usage of a metric.
   */
  @interface GTLRLogging_MetricDescriptorMetadata : GTLRObject
  
  /**
   *  The delay of data points caused by ingestion. Data points older than this
   *  age are guaranteed to be ingested and available to be read, excluding data
   *  loss due to errors.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *ingestDelay;
  
  /**
   *  Deprecated. Must use the MetricDescriptor.launch_stage instead.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Alpha Alpha is a
   *        limited availability test for releases before they are cleared for
   *        widespread use. By Alpha, all significant design issues are resolved
   *        and we are in the process of verifying functionality. Alpha customers
   *        need to apply for access, agree to applicable terms, and have their
   *        projects allowlisted. Alpha releases don’t have to be feature
   *        complete, no SLAs are provided, and there are no technical support
   *        obligations, but they will be far enough along that customers can
   *        actually use them in test environments or for limited-use tests --
   *        just like they would in normal production cases. (Value: "ALPHA")
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Beta Beta is the
   *        point at which we are ready to open a release for any customer to use.
   *        There are no SLA or technical support obligations in a Beta release.
   *        Products will be complete from a feature perspective, but may have
   *        some open outstanding issues. Beta releases are suitable for limited
   *        production use cases. (Value: "BETA")
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Deprecated
   *        Deprecated features are scheduled to be shut down and removed. For
   *        more information, see the “Deprecation Policy” section of our Terms of
   *        Service (https://cloud.google.com/terms/) and the Google Cloud
   *        Platform Subject to the Deprecation Policy
   *        (https://cloud.google.com/terms/deprecation) documentation. (Value:
   *        "DEPRECATED")
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_EarlyAccess
   *        Early Access features are limited to a closed group of testers. To use
   *        these features, you must sign up in advance and sign a Trusted Tester
   *        agreement (which includes confidentiality provisions). These features
   *        may be unstable, changed in backward-incompatible ways, and are not
   *        guaranteed to be released. (Value: "EARLY_ACCESS")
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Ga GA features
   *        are open to all developers and are considered stable and fully
   *        qualified for production use. (Value: "GA")
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_LaunchStageUnspecified
   *        Do not use this default value. (Value: "LAUNCH_STAGE_UNSPECIFIED")
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Prelaunch
   *        Prelaunch features are hidden from users and are only visible
   *        internally. (Value: "PRELAUNCH")
   *    @arg @c kGTLRLogging_MetricDescriptorMetadata_LaunchStage_Unimplemented
   *        The feature is not yet implemented. Users can not use it. (Value:
   *        "UNIMPLEMENTED")
   */
  @property(nonatomic, copy, nullable) NSString *launchStage;
  
  /**
   *  The sampling period of metric data points. For metrics which are written
   *  periodically, consecutive data points are stored at this time interval,
   *  excluding data loss due to errors. Metrics with a higher granularity have a
   *  smaller sampling period.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *samplePeriod;
  
  @end
  
  
  /**
   *  An object representing a resource that can be used for monitoring, logging,
   *  billing, or other purposes. Examples include virtual machine instances,
   *  databases, and storage devices such as disks. The type field identifies a
   *  MonitoredResourceDescriptor object that describes the resource's schema.
   *  Information in the labels field identifies the actual resource and its
   *  attributes according to the schema. For example, a particular Compute Engine
   *  VM instance could be represented by the following object, because the
   *  MonitoredResourceDescriptor for "gce_instance" has labels "instance_id" and
   *  "zone": { "type": "gce_instance", "labels": { "instance_id":
   *  "12345678901234", "zone": "us-central1-a" }}
   */
  @interface GTLRLogging_MonitoredResource : GTLRObject
  
  /**
   *  Required. Values for all of the labels listed in the associated monitored
   *  resource descriptor. For example, Compute Engine VM instances use the labels
   *  "project_id", "instance_id", and "zone".
   */
  @property(nonatomic, strong, nullable) GTLRLogging_MonitoredResource_Labels *labels;
  
  /**
   *  Required. The monitored resource type. This field must match the type field
   *  of a MonitoredResourceDescriptor object. For example, the type of a Compute
   *  Engine VM instance is gce_instance.
   */
  @property(nonatomic, copy, nullable) NSString *type;
  
  @end
  
  
  /**
   *  Required. Values for all of the labels listed in the associated monitored
   *  resource descriptor. For example, Compute Engine VM instances use the labels
   *  "project_id", "instance_id", and "zone".
   *
   *  @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 GTLRLogging_MonitoredResource_Labels : GTLRObject
  @end
  
  
  /**
   *  An object that describes the schema of a MonitoredResource object using a
   *  type name and a set of labels. For example, the monitored resource
   *  descriptor for Google Compute Engine VM instances has a type of
   *  "gce_instance" and specifies the use of the labels "instance_id" and "zone"
   *  to identify particular VM instances.Different APIs can support different
   *  monitored resource types. APIs generally provide a list method that returns
   *  the monitored resource descriptors used by the API.
   */
  @interface GTLRLogging_MonitoredResourceDescriptor : GTLRObject
  
  /**
   *  Optional. A detailed description of the monitored resource type that might
   *  be used in documentation.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Optional. A concise name for the monitored resource type that might be
   *  displayed in user interfaces. It should be a Title Cased Noun Phrase,
   *  without any article or other determiners. For example, "Google Cloud SQL
   *  Database".
   */
  @property(nonatomic, copy, nullable) NSString *displayName;
  
  /**
   *  Required. A set of labels used to describe instances of this monitored
   *  resource type. For example, an individual Google Cloud SQL database is
   *  identified by values for the labels "database_id" and "zone".
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LabelDescriptor *> *labels;
  
  /**
   *  Optional. The launch stage of the monitored resource definition.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Alpha Alpha
   *        is a limited availability test for releases before they are cleared
   *        for widespread use. By Alpha, all significant design issues are
   *        resolved and we are in the process of verifying functionality. Alpha
   *        customers need to apply for access, agree to applicable terms, and
   *        have their projects allowlisted. Alpha releases don’t have to be
   *        feature complete, no SLAs are provided, and there are no technical
   *        support obligations, but they will be far enough along that customers
   *        can actually use them in test environments or for limited-use tests --
   *        just like they would in normal production cases. (Value: "ALPHA")
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Beta Beta is
   *        the point at which we are ready to open a release for any customer to
   *        use. There are no SLA or technical support obligations in a Beta
   *        release. Products will be complete from a feature perspective, but may
   *        have some open outstanding issues. Beta releases are suitable for
   *        limited production use cases. (Value: "BETA")
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Deprecated
   *        Deprecated features are scheduled to be shut down and removed. For
   *        more information, see the “Deprecation Policy” section of our Terms of
   *        Service (https://cloud.google.com/terms/) and the Google Cloud
   *        Platform Subject to the Deprecation Policy
   *        (https://cloud.google.com/terms/deprecation) documentation. (Value:
   *        "DEPRECATED")
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_EarlyAccess
   *        Early Access features are limited to a closed group of testers. To use
   *        these features, you must sign up in advance and sign a Trusted Tester
   *        agreement (which includes confidentiality provisions). These features
   *        may be unstable, changed in backward-incompatible ways, and are not
   *        guaranteed to be released. (Value: "EARLY_ACCESS")
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Ga GA
   *        features are open to all developers and are considered stable and
   *        fully qualified for production use. (Value: "GA")
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_LaunchStageUnspecified
   *        Do not use this default value. (Value: "LAUNCH_STAGE_UNSPECIFIED")
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Prelaunch
   *        Prelaunch features are hidden from users and are only visible
   *        internally. (Value: "PRELAUNCH")
   *    @arg @c kGTLRLogging_MonitoredResourceDescriptor_LaunchStage_Unimplemented
   *        The feature is not yet implemented. Users can not use it. (Value:
   *        "UNIMPLEMENTED")
   */
  @property(nonatomic, copy, nullable) NSString *launchStage;
  
  /**
   *  Optional. The resource name of the monitored resource descriptor:
   *  "projects/{project_id}/monitoredResourceDescriptors/{type}" where {type} is
   *  the value of the type field in this object and {project_id} is a project ID
   *  that provides API-specific context for accessing the type. APIs that do not
   *  use project information can use the resource name format
   *  "monitoredResourceDescriptors/{type}".
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Required. The monitored resource type. For example, the type
   *  "cloudsql_database" represents databases in Google Cloud SQL.
   */
  @property(nonatomic, copy, nullable) NSString *type;
  
  @end
  
  
  /**
   *  Auxiliary metadata for a MonitoredResource object. MonitoredResource objects
   *  contain the minimum set of information to uniquely identify a monitored
   *  resource instance. There is some other useful auxiliary metadata. Monitoring
   *  and Logging use an ingestion pipeline to extract metadata for cloud
   *  resources of all types, and store the metadata in this message.
   */
  @interface GTLRLogging_MonitoredResourceMetadata : GTLRObject
  
  /**
   *  Output only. Values for predefined system metadata labels. System labels are
   *  a kind of metadata extracted by Google, including "machine_image", "vpc",
   *  "subnet_id", "security_group", "name", etc. System label values can be only
   *  strings, Boolean values, or a list of strings. For example: { "name":
   *  "my-test-instance", "security_group": ["a", "b", "c"], "spot_instance":
   *  false }
   */
  @property(nonatomic, strong, nullable) GTLRLogging_MonitoredResourceMetadata_SystemLabels *systemLabels;
  
  /** Output only. A map of user-defined metadata labels. */
  @property(nonatomic, strong, nullable) GTLRLogging_MonitoredResourceMetadata_UserLabels *userLabels;
  
  @end
  
  
  /**
   *  Output only. Values for predefined system metadata labels. System labels are
   *  a kind of metadata extracted by Google, including "machine_image", "vpc",
   *  "subnet_id", "security_group", "name", etc. System label values can be only
   *  strings, Boolean values, or a list of strings. For example: { "name":
   *  "my-test-instance", "security_group": ["a", "b", "c"], "spot_instance":
   *  false }
   *
   *  @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 GTLRLogging_MonitoredResourceMetadata_SystemLabels : GTLRObject
  @end
  
  
  /**
   *  Output only. A map of user-defined metadata labels.
   *
   *  @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 GTLRLogging_MonitoredResourceMetadata_UserLabels : GTLRObject
  @end
  
  
  /**
   *  Complete log information about a single HTTP request to an App Engine
   *  application.
   */
  @interface GTLRLogging_RequestLog : GTLRObject
  
  /** App Engine release version. */
  @property(nonatomic, copy, nullable) NSString *appEngineRelease;
  
  /** Application that handled this request. */
  @property(nonatomic, copy, nullable) NSString *appId;
  
  /**
   *  An indication of the relative cost of serving this request.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *cost;
  
  /** Time when the request finished. */
  @property(nonatomic, strong, nullable) GTLRDateTime *endTime;
  
  /**
   *  Whether this request is finished or active.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *finished;
  
  /**
   *  Whether this is the first RequestLog entry for this request. If an active
   *  request has several RequestLog entries written to Stackdriver Logging, then
   *  this field will be set for one of them.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *first;
  
  /** Internet host and port number of the resource being requested. */
  @property(nonatomic, copy, nullable) NSString *host;
  
  /** HTTP version of request. Example: "HTTP/1.1". */
  @property(nonatomic, copy, nullable) NSString *httpVersion;
  
  /** An identifier for the instance that handled the request. */
  @property(nonatomic, copy, nullable) NSString *instanceId;
  
  /**
   *  If the instance processing this request belongs to a manually scaled module,
   *  then this is the 0-based index of the instance. Otherwise, this value is -1.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *instanceIndex;
  
  /** Origin IP address. */
  @property(nonatomic, copy, nullable) NSString *ip;
  
  /** Latency of the request. */
  @property(nonatomic, strong, nullable) GTLRDuration *latency;
  
  /**
   *  A list of log lines emitted by the application while serving this request.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogLine *> *line;
  
  /**
   *  Number of CPU megacycles used to process request.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *megaCycles;
  
  /** Request method. Example: "GET", "HEAD", "PUT", "POST", "DELETE". */
  @property(nonatomic, copy, nullable) NSString *method;
  
  /** Module of the application that handled this request. */
  @property(nonatomic, copy, nullable) NSString *moduleId;
  
  /**
   *  The logged-in user who made the request.Most likely, this is the part of the
   *  user's email before the \@ sign. The field value is the same for different
   *  requests from the same user, but different users can have similar names.
   *  This information is also available to the application via the App Engine
   *  Users API.This field will be populated starting with App Engine 1.9.21.
   */
  @property(nonatomic, copy, nullable) NSString *nickname;
  
  /** Time this request spent in the pending request queue. */
  @property(nonatomic, strong, nullable) GTLRDuration *pendingTime;
  
  /** Referrer URL of request. */
  @property(nonatomic, copy, nullable) NSString *referrer;
  
  /**
   *  Globally unique identifier for a request, which is based on the request
   *  start time. Request IDs for requests which started later will compare
   *  greater as strings than those for requests which started earlier.
   */
  @property(nonatomic, copy, nullable) NSString *requestId;
  
  /**
   *  Contains the path and query portion of the URL that was requested. For
   *  example, if the URL was "http://example.com/app?name=val", the resource
   *  would be "/app?name=val". The fragment identifier, which is identified by
   *  the # character, is not included.
   */
  @property(nonatomic, copy, nullable) NSString *resource;
  
  /**
   *  Size in bytes sent back to client by request.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *responseSize;
  
  /**
   *  Source code for the application that handled this request. There can be more
   *  than one source reference per deployed application if source code is
   *  distributed among multiple repositories.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_SourceReference *> *sourceReference;
  
  /** Time when the request started. */
  @property(nonatomic, strong, nullable) GTLRDateTime *startTime;
  
  /**
   *  HTTP response status code. Example: 200, 404.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *status;
  
  /** Task name of the request, in the case of an offline request. */
  @property(nonatomic, copy, nullable) NSString *taskName;
  
  /** Queue name of the request, in the case of an offline request. */
  @property(nonatomic, copy, nullable) NSString *taskQueueName;
  
  /** Stackdriver Trace identifier for this request. */
  @property(nonatomic, copy, nullable) NSString *traceId;
  
  /**
   *  If true, the value in the 'trace_id' field was sampled for storage in a
   *  trace backend.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *traceSampled;
  
  /** File or class that handled the request. */
  @property(nonatomic, copy, nullable) NSString *urlMapEntry;
  
  /** User agent that made the request. */
  @property(nonatomic, copy, nullable) NSString *userAgent;
  
  /** Version of the application that handled this request. */
  @property(nonatomic, copy, nullable) NSString *versionId;
  
  /**
   *  Whether this was a loading request for the instance.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *wasLoadingRequest;
  
  @end
  
  
  /**
   *  Specifies a location in a source code file.
   */
  @interface GTLRLogging_SourceLocation : GTLRObject
  
  /**
   *  Source file name. Depending on the runtime environment, this might be a
   *  simple name or a fully-qualified name.
   */
  @property(nonatomic, copy, nullable) NSString *file;
  
  /**
   *  Human-readable name of the function or method being invoked, with optional
   *  context such as the class or package name. This information is used in
   *  contexts such as the logs viewer, where a file and line number are less
   *  meaningful. The format can vary by language. For example:
   *  qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).
   */
  @property(nonatomic, copy, nullable) NSString *functionName;
  
  /**
   *  Line within the source file.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *line;
  
  @end
  
  
  /**
   *  A reference to a particular snapshot of the source tree used to build and
   *  deploy an application.
   */
  @interface GTLRLogging_SourceReference : GTLRObject
  
  /**
   *  Optional. A URI string identifying the repository. Example:
   *  "https://github.com/GoogleCloudPlatform/kubernetes.git"
   */
  @property(nonatomic, copy, nullable) NSString *repository;
  
  /**
   *  The canonical and persistent identifier of the deployed revision. Example
   *  (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b"
   */
  @property(nonatomic, copy, nullable) NSString *revisionId;
  
  @end
  
  
  /**
   *  Information about entries that were omitted from the session.
   */
  @interface GTLRLogging_SuppressionInfo : GTLRObject
  
  /**
   *  The reason that entries were omitted from the session.
   *
   *  Likely values:
   *    @arg @c kGTLRLogging_SuppressionInfo_Reason_NotConsumed Indicates
   *        suppression occurred due to the client not consuming responses quickly
   *        enough. (Value: "NOT_CONSUMED")
   *    @arg @c kGTLRLogging_SuppressionInfo_Reason_RateLimit Indicates
   *        suppression occurred due to relevant entries being received in excess
   *        of rate limits. For quotas and limits, see Logging API quotas and
   *        limits (https://cloud.google.com/logging/quotas#api-limits). (Value:
   *        "RATE_LIMIT")
   *    @arg @c kGTLRLogging_SuppressionInfo_Reason_ReasonUnspecified Unexpected
   *        default. (Value: "REASON_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *reason;
  
  /**
   *  A lower bound on the count of entries omitted due to reason.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *suppressedCount;
  
  @end
  
  
  /**
   *  The parameters to TailLogEntries.
   */
  @interface GTLRLogging_TailLogEntriesRequest : GTLRObject
  
  /**
   *  Optional. The amount of time to buffer log entries at the server before
   *  being returned to prevent out of order results due to late arriving log
   *  entries. Valid values are between 0-60000 milliseconds. Defaults to 2000
   *  milliseconds.
   */
  @property(nonatomic, strong, nullable) GTLRDuration *bufferWindow;
  
  /**
   *  Optional. A filter that chooses which log entries to return. See Advanced
   *  Logs Filters (https://cloud.google.com/logging/docs/view/advanced_filters).
   *  Only log entries that match the filter are returned. An empty filter matches
   *  all log entries in the resources listed in resource_names. Referencing a
   *  parent resource that is not in resource_names will cause the filter to
   *  return no results. The maximum length of the filter is 20000 characters.
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  Required. Name of a parent resource from which to retrieve log entries:
   *  projects/[PROJECT_ID] organizations/[ORGANIZATION_ID]
   *  billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]May alternatively be
   *  one or more views:
   *  projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
   *  organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
   *  billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
   *  folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *resourceNames;
  
  @end
  
  
  /**
   *  Result returned from TailLogEntries.
   */
  @interface GTLRLogging_TailLogEntriesResponse : GTLRObject
  
  /**
   *  A list of log entries. Each response in the stream will order entries with
   *  increasing values of LogEntry.timestamp. Ordering is not guaranteed between
   *  separate responses.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogEntry *> *entries;
  
  /**
   *  If entries that otherwise would have been included in the session were not
   *  sent back to the client, counts of relevant entries omitted from the session
   *  with the reason that they were not included. There will be at most one of
   *  each reason per response. The counts represent the number of suppressed
   *  entries since the last streamed response.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_SuppressionInfo *> *suppressionInfo;
  
  @end
  
  
  /**
   *  The parameters to UndeleteBucket.
   */
  @interface GTLRLogging_UndeleteBucketRequest : GTLRObject
  @end
  
  
  /**
   *  The parameters to WriteLogEntries.
   */
  @interface GTLRLogging_WriteLogEntriesRequest : GTLRObject
  
  /**
   *  Optional. If true, the request should expect normal response, but the
   *  entries won't be persisted nor exported. Useful for checking whether the
   *  logging API endpoints are working properly before sending valuable data.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *dryRun;
  
  /**
   *  Required. The log entries to send to Logging. The order of log entries in
   *  this list does not matter. Values supplied in this method's log_name,
   *  resource, and labels fields are copied into those log entries in this list
   *  that do not include values for their corresponding fields. For more
   *  information, see the LogEntry type.If the timestamp or insert_id fields are
   *  missing in log entries, then this method supplies the current time or a
   *  unique identifier, respectively. The supplied values are chosen so that,
   *  among the log entries that did not supply their own values, the entries
   *  earlier in the list will sort before the entries later in the list. See the
   *  entries.list method.Log entries with timestamps that are more than the logs
   *  retention period (https://cloud.google.com/logging/quota-policy) in the past
   *  or more than 24 hours in the future will not be available when calling
   *  entries.list. However, those log entries can still be exported with LogSinks
   *  (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).To improve
   *  throughput and to avoid exceeding the quota limit
   *  (https://cloud.google.com/logging/quota-policy) for calls to entries.write,
   *  you should try to include several log entries in this list, rather than
   *  calling this method for each individual log entry.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRLogging_LogEntry *> *entries;
  
  /**
   *  Optional. Default labels that are added to the labels field of all log
   *  entries in entries. If a log entry already has a label with the same key as
   *  a label in this parameter, then the log entry's label is not changed. See
   *  LogEntry.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_WriteLogEntriesRequest_Labels *labels;
  
  /**
   *  Optional. A default log resource name that is assigned to all log entries in
   *  entries that do not specify a value for log_name:
   *  projects/[PROJECT_ID]/logs/[LOG_ID]
   *  organizations/[ORGANIZATION_ID]/logs/[LOG_ID]
   *  billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]
   *  folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example:
   *  "projects/my-project-id/logs/syslog"
   *  "organizations/123/logs/cloudaudit.googleapis.com%2Factivity" The permission
   *  logging.logEntries.create is needed on each project, organization, billing
   *  account, or folder that is receiving new log entries, whether the resource
   *  is specified in logName or in an individual log entry.
   */
  @property(nonatomic, copy, nullable) NSString *logName;
  
  /**
   *  Optional. Whether valid entries should be written even if some other entries
   *  fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is
   *  not written, then the response status is the error associated with one of
   *  the failed entries and the response includes error details keyed by the
   *  entries' zero-based index in the entries.write method.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *partialSuccess;
  
  /**
   *  Optional. A default monitored resource object that is assigned to all log
   *  entries in entries that do not specify a value for resource. Example: {
   *  "type": "gce_instance", "labels": { "zone": "us-central1-a", "instance_id":
   *  "00000000000000000000" }} See LogEntry.
   */
  @property(nonatomic, strong, nullable) GTLRLogging_MonitoredResource *resource;
  
  @end
  
  
  /**
   *  Optional. Default labels that are added to the labels field of all log
   *  entries in entries. If a log entry already has a label with the same key as
   *  a label in this parameter, then the log entry's label is not changed. See
   *  LogEntry.
   *
   *  @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 GTLRLogging_WriteLogEntriesRequest_Labels : GTLRObject
  @end
  
  
  /**
   *  Result returned from WriteLogEntries.
   */
  @interface GTLRLogging_WriteLogEntriesResponse : GTLRObject
  @end
  
  NS_ASSUME_NONNULL_END
  
  #pragma clang diagnostic pop
  