📂 File Browser

AgentAI/vendor/google/apiclient-services/src/Bigquery
🌙 Dark Mode
🎯 Quick Launch:

📁 Directories

📁 Resource/ 🔓 Open

📄 Files

🐘 AggregateClassificationMetrics.php
▶ Open 📄 View Source
🐘 AggregationThresholdPolicy.php
▶ Open 📄 View Source
🐘 Argument.php
▶ Open 📄 View Source
🐘 ArimaCoefficients.php
▶ Open 📄 View Source
🐘 ArimaFittingMetrics.php
▶ Open 📄 View Source
🐘 ArimaForecastingMetrics.php
▶ Open 📄 View Source
🐘 ArimaModelInfo.php
▶ Open 📄 View Source
🐘 ArimaOrder.php
▶ Open 📄 View Source
🐘 ArimaResult.php
▶ Open 📄 View Source
🐘 ArimaSingleModelForecastingMetrics.php
▶ Open 📄 View Source
🐘 AuditConfig.php
▶ Open 📄 View Source
🐘 AuditLogConfig.php
▶ Open 📄 View Source
🐘 AvroOptions.php
▶ Open 📄 View Source
🐘 BatchDeleteRowAccessPoliciesRequest.php
▶ Open 📄 View Source
🐘 BiEngineReason.php
▶ Open 📄 View Source
🐘 BiEngineStatistics.php
▶ Open 📄 View Source
🐘 BigLakeConfiguration.php
▶ Open 📄 View Source
🐘 BigQueryModelTraining.php
▶ Open 📄 View Source
🐘 BigtableColumn.php
▶ Open 📄 View Source
🐘 BigtableColumnFamily.php
▶ Open 📄 View Source
🐘 BigtableOptions.php
▶ Open 📄 View Source
🐘 BigtableProtoConfig.php
▶ Open 📄 View Source
🐘 BinaryClassificationMetrics.php
▶ Open 📄 View Source
🐘 BinaryConfusionMatrix.php
▶ Open 📄 View Source
🐘 Binding.php
▶ Open 📄 View Source
🐘 BqmlIterationResult.php
▶ Open 📄 View Source
🐘 BqmlTrainingRun.php
▶ Open 📄 View Source
🐘 BqmlTrainingRunTrainingOptions.php
▶ Open 📄 View Source
🐘 CategoricalValue.php
▶ Open 📄 View Source
🐘 CategoryCount.php
▶ Open 📄 View Source
🐘 CloneDefinition.php
▶ Open 📄 View Source
🐘 Cluster.php
▶ Open 📄 View Source
🐘 ClusterInfo.php
▶ Open 📄 View Source
🐘 Clustering.php
▶ Open 📄 View Source
🐘 ClusteringMetrics.php
▶ Open 📄 View Source
🐘 ConfusionMatrix.php
▶ Open 📄 View Source
🐘 ConnectionProperty.php
▶ Open 📄 View Source
🐘 CsvOptions.php
▶ Open 📄 View Source
🐘 DataFormatOptions.php
▶ Open 📄 View Source
🐘 DataMaskingStatistics.php
▶ Open 📄 View Source
🐘 DataPolicyOption.php
▶ Open 📄 View Source
🐘 DataSplitResult.php
▶ Open 📄 View Source
🐘 Dataset.php
▶ Open 📄 View Source
🐘 DatasetAccess.php
▶ Open 📄 View Source
🐘 DatasetAccessEntry.php
▶ Open 📄 View Source
🐘 DatasetAccessEntryTargetTypes.php
▶ Open 📄 View Source
🐘 DatasetList.php
▶ Open 📄 View Source
🐘 DatasetListDatasets.php
▶ Open 📄 View Source
🐘 DatasetReference.php
▶ Open 📄 View Source
🐘 DatasetTags.php
▶ Open 📄 View Source
🐘 DestinationTableProperties.php
▶ Open 📄 View Source
🐘 DifferentialPrivacyPolicy.php
▶ Open 📄 View Source
🐘 DimensionalityReductionMetrics.php
▶ Open 📄 View Source
🐘 DmlStatistics.php
▶ Open 📄 View Source
🐘 DoubleCandidates.php
▶ Open 📄 View Source
🐘 DoubleHparamSearchSpace.php
▶ Open 📄 View Source
🐘 DoubleRange.php
▶ Open 📄 View Source
🐘 EncryptionConfiguration.php
▶ Open 📄 View Source
🐘 Entry.php
▶ Open 📄 View Source
🐘 ErrorProto.php
▶ Open 📄 View Source
🐘 EvaluationMetrics.php
▶ Open 📄 View Source
🐘 ExplainQueryStage.php
▶ Open 📄 View Source
🐘 ExplainQueryStep.php
▶ Open 📄 View Source
🐘 Explanation.php
▶ Open 📄 View Source
🐘 ExportDataStatistics.php
▶ Open 📄 View Source
🐘 Expr.php
▶ Open 📄 View Source
🐘 ExternalCatalogDatasetOptions.php
▶ Open 📄 View Source
🐘 ExternalCatalogTableOptions.php
▶ Open 📄 View Source
🐘 ExternalDataConfiguration.php
▶ Open 📄 View Source
🐘 ExternalDatasetReference.php
▶ Open 📄 View Source
🐘 ExternalRuntimeOptions.php
▶ Open 📄 View Source
🐘 ExternalServiceCost.php
▶ Open 📄 View Source
🐘 FeatureValue.php
▶ Open 📄 View Source
🐘 ForeignTypeInfo.php
▶ Open 📄 View Source
🐘 ForeignViewDefinition.php
▶ Open 📄 View Source
🐘 GenAiErrorStats.php
▶ Open 📄 View Source
🐘 GenAiFunctionCostOptimizationStats.php
▶ Open 📄 View Source
🐘 GenAiFunctionErrorStats.php
▶ Open 📄 View Source
🐘 GenAiFunctionStats.php
▶ Open 📄 View Source
🐘 GenAiStats.php
▶ Open 📄 View Source
🐘 GeneratedColumn.php
▶ Open 📄 View Source
🐘 GeneratedExpressionInfo.php
▶ Open 📄 View Source
🐘 GetIamPolicyRequest.php
▶ Open 📄 View Source
🐘 GetPolicyOptions.php
▶ Open 📄 View Source
🐘 GetQueryResultsResponse.php
▶ Open 📄 View Source
🐘 GetServiceAccountResponse.php
▶ Open 📄 View Source
🐘 GlobalExplanation.php
▶ Open 📄 View Source
🐘 GoogleSheetsOptions.php
▶ Open 📄 View Source
🐘 HighCardinalityJoin.php
▶ Open 📄 View Source
🐘 HivePartitioningOptions.php
▶ Open 📄 View Source
🐘 HparamSearchSpaces.php
▶ Open 📄 View Source
🐘 HparamTuningTrial.php
▶ Open 📄 View Source
🐘 IdentityColumnInfo.php
▶ Open 📄 View Source
🐘 IncrementalResultStats.php
▶ Open 📄 View Source
🐘 IndexPruningStats.php
▶ Open 📄 View Source
🐘 IndexUnusedReason.php
▶ Open 📄 View Source
🐘 InputDataChange.php
▶ Open 📄 View Source
🐘 IntArray.php
▶ Open 📄 View Source
🐘 IntArrayHparamSearchSpace.php
▶ Open 📄 View Source
🐘 IntCandidates.php
▶ Open 📄 View Source
🐘 IntHparamSearchSpace.php
▶ Open 📄 View Source
🐘 IntRange.php
▶ Open 📄 View Source
🐘 IterationResult.php
▶ Open 📄 View Source
🐘 Job.php
▶ Open 📄 View Source
🐘 JobCancelResponse.php
▶ Open 📄 View Source
🐘 JobConfiguration.php
▶ Open 📄 View Source
🐘 JobConfigurationExtract.php
▶ Open 📄 View Source
🐘 JobConfigurationLoad.php
▶ Open 📄 View Source
🐘 JobConfigurationQuery.php
▶ Open 📄 View Source
🐘 JobConfigurationTableCopy.php
▶ Open 📄 View Source
🐘 JobCreationReason.php
▶ Open 📄 View Source
🐘 JobList.php
▶ Open 📄 View Source
🐘 JobListJobs.php
▶ Open 📄 View Source
🐘 JobReference.php
▶ Open 📄 View Source
🐘 JobStatistics.php
▶ Open 📄 View Source
🐘 JobStatistics2.php
▶ Open 📄 View Source
🐘 JobStatistics2ReservationUsage.php
▶ Open 📄 View Source
🐘 JobStatistics3.php
▶ Open 📄 View Source
🐘 JobStatistics4.php
▶ Open 📄 View Source
🐘 JobStatistics5.php
▶ Open 📄 View Source
🐘 JobStatisticsReservationUsage.php
▶ Open 📄 View Source
🐘 JobStatus.php
▶ Open 📄 View Source
🐘 JoinRestrictionPolicy.php
▶ Open 📄 View Source
🐘 JsonOptions.php
▶ Open 📄 View Source
🐘 LinkedDatasetMetadata.php
▶ Open 📄 View Source
🐘 LinkedDatasetSource.php
▶ Open 📄 View Source
🐘 ListModelsResponse.php
▶ Open 📄 View Source
🐘 ListRoutinesResponse.php
▶ Open 📄 View Source
🐘 ListRowAccessPoliciesResponse.php
▶ Open 📄 View Source
🐘 LoadQueryStatistics.php
▶ Open 📄 View Source
🐘 LocationMetadata.php
▶ Open 📄 View Source
🐘 MaterializedView.php
▶ Open 📄 View Source
🐘 MaterializedViewDefinition.php
▶ Open 📄 View Source
🐘 MaterializedViewStatistics.php
▶ Open 📄 View Source
🐘 MaterializedViewStatus.php
▶ Open 📄 View Source
🐘 MetadataCacheStatistics.php
▶ Open 📄 View Source
🐘 MlStatistics.php
▶ Open 📄 View Source
🐘 Model.php
▶ Open 📄 View Source
🐘 ModelDefinition.php
▶ Open 📄 View Source
🐘 ModelDefinitionModelOptions.php
▶ Open 📄 View Source
🐘 ModelExtractOptions.php
▶ Open 📄 View Source
🐘 ModelReference.php
▶ Open 📄 View Source
🐘 MultiClassClassificationMetrics.php
▶ Open 📄 View Source
🐘 ParquetOptions.php
▶ Open 📄 View Source
🐘 PartitionSkew.php
▶ Open 📄 View Source
🐘 PartitionedColumn.php
▶ Open 📄 View Source
🐘 PartitioningDefinition.php
▶ Open 📄 View Source
🐘 PerformanceInsights.php
▶ Open 📄 View Source
🐘 Policy.php
▶ Open 📄 View Source
🐘 PrincipalComponentInfo.php
▶ Open 📄 View Source
🐘 PrivacyPolicy.php
▶ Open 📄 View Source
🐘 ProjectList.php
▶ Open 📄 View Source
🐘 ProjectListProjects.php
▶ Open 📄 View Source
🐘 ProjectReference.php
▶ Open 📄 View Source
🐘 PropertyGraphReference.php
▶ Open 📄 View Source
🐘 PruningStats.php
▶ Open 📄 View Source
🐘 PythonOptions.php
▶ Open 📄 View Source
🐘 QueryInfo.php
▶ Open 📄 View Source
🐘 QueryParameter.php
▶ Open 📄 View Source
🐘 QueryParameterType.php
▶ Open 📄 View Source
🐘 QueryParameterTypeStructTypes.php
▶ Open 📄 View Source
🐘 QueryParameterValue.php
▶ Open 📄 View Source
🐘 QueryParameterValueRangeValue.php
▶ Open 📄 View Source
🐘 QueryRequest.php
▶ Open 📄 View Source
🐘 QueryResponse.php
▶ Open 📄 View Source
🐘 QueryTimelineSample.php
▶ Open 📄 View Source
🐘 RangePartitioning.php
▶ Open 📄 View Source
🐘 RangePartitioningRange.php
▶ Open 📄 View Source
🐘 RangeValue.php
▶ Open 📄 View Source
🐘 RankingMetrics.php
▶ Open 📄 View Source
🐘 RegressionMetrics.php
▶ Open 📄 View Source
🐘 RemoteFunctionOptions.php
▶ Open 📄 View Source
🐘 RemoteModelInfo.php
▶ Open 📄 View Source
🐘 RestrictionConfig.php
▶ Open 📄 View Source
🐘 Routine.php
▶ Open 📄 View Source
🐘 RoutineBuildStatus.php
▶ Open 📄 View Source
🐘 RoutineReference.php
▶ Open 📄 View Source
🐘 Row.php
▶ Open 📄 View Source
🐘 RowAccessPolicy.php
▶ Open 📄 View Source
🐘 RowAccessPolicyReference.php
▶ Open 📄 View Source
🐘 RowLevelSecurityStatistics.php
▶ Open 📄 View Source
🐘 ScriptOptions.php
▶ Open 📄 View Source
🐘 ScriptStackFrame.php
▶ Open 📄 View Source
🐘 ScriptStatistics.php
▶ Open 📄 View Source
🐘 SearchStatistics.php
▶ Open 📄 View Source
🐘 SerDeInfo.php
▶ Open 📄 View Source
🐘 SessionInfo.php
▶ Open 📄 View Source
🐘 SetIamPolicyRequest.php
▶ Open 📄 View Source
🐘 SkewSource.php
▶ Open 📄 View Source
🐘 SnapshotDefinition.php
▶ Open 📄 View Source
🐘 SparkLoggingInfo.php
▶ Open 📄 View Source
🐘 SparkOptions.php
▶ Open 📄 View Source
🐘 SparkStatistics.php
▶ Open 📄 View Source
🐘 StagePerformanceChangeInsight.php
▶ Open 📄 View Source
🐘 StagePerformanceStandaloneInsight.php
▶ Open 📄 View Source
🐘 StandardSqlDataType.php
▶ Open 📄 View Source
🐘 StandardSqlField.php
▶ Open 📄 View Source
🐘 StandardSqlStructType.php
▶ Open 📄 View Source
🐘 StandardSqlTableType.php
▶ Open 📄 View Source
🐘 StorageDescriptor.php
▶ Open 📄 View Source
🐘 StoredColumnsUnusedReason.php
▶ Open 📄 View Source
🐘 StoredColumnsUsage.php
▶ Open 📄 View Source
🐘 Streamingbuffer.php
▶ Open 📄 View Source
🐘 StringHparamSearchSpace.php
▶ Open 📄 View Source
🐘 SystemVariables.php
▶ Open 📄 View Source
🐘 Table.php
▶ Open 📄 View Source
🐘 TableCell.php
▶ Open 📄 View Source
🐘 TableConstraints.php
▶ Open 📄 View Source
🐘 TableConstraintsForeignKeys.php
▶ Open 📄 View Source
🐘 TableConstraintsForeignKeysColumnReferences.php
▶ Open 📄 View Source
🐘 TableConstraintsForeignKeysReferencedTable.php
▶ Open 📄 View Source
🐘 TableConstraintsPrimaryKey.php
▶ Open 📄 View Source
🐘 TableDataInsertAllRequest.php
▶ Open 📄 View Source
🐘 TableDataInsertAllRequestRows.php
▶ Open 📄 View Source
🐘 TableDataInsertAllResponse.php
▶ Open 📄 View Source
🐘 TableDataInsertAllResponseInsertErrors.php
▶ Open 📄 View Source
🐘 TableDataList.php
▶ Open 📄 View Source
🐘 TableFieldSchema.php
▶ Open 📄 View Source
🐘 TableFieldSchemaCategories.php
▶ Open 📄 View Source
🐘 TableFieldSchemaPolicyTags.php
▶ Open 📄 View Source
🐘 TableFieldSchemaRangeElementType.php
▶ Open 📄 View Source
🐘 TableList.php
▶ Open 📄 View Source
🐘 TableListTables.php
▶ Open 📄 View Source
🐘 TableListTablesView.php
▶ Open 📄 View Source
🐘 TableMetadataCacheUsage.php
▶ Open 📄 View Source
🐘 TableReference.php
▶ Open 📄 View Source
🐘 TableReplicationInfo.php
▶ Open 📄 View Source
🐘 TableRow.php
▶ Open 📄 View Source
🐘 TableSchema.php
▶ Open 📄 View Source
🐘 TestIamPermissionsRequest.php
▶ Open 📄 View Source
🐘 TestIamPermissionsResponse.php
▶ Open 📄 View Source
🐘 TimePartitioning.php
▶ Open 📄 View Source
🐘 TrainingOptions.php
▶ Open 📄 View Source
🐘 TrainingRun.php
▶ Open 📄 View Source
🐘 TransactionInfo.php
▶ Open 📄 View Source
🐘 TransformColumn.php
▶ Open 📄 View Source
🐘 UndeleteDatasetRequest.php
▶ Open 📄 View Source
🐘 UserDefinedFunctionResource.php
▶ Open 📄 View Source
🐘 VectorSearchStatistics.php
▶ Open 📄 View Source
🐘 ViewDefinition.php
▶ Open 📄 View Source

📄 Source: Routine.php

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

namespace Google\Service\Bigquery;

class Routine extends \Google\Collection
{
  /**
   * The data governance type is unspecified.
   */
  public const DATA_GOVERNANCE_TYPE_DATA_GOVERNANCE_TYPE_UNSPECIFIED = 'DATA_GOVERNANCE_TYPE_UNSPECIFIED';
  /**
   * The data governance type is data masking.
   */
  public const DATA_GOVERNANCE_TYPE_DATA_MASKING = 'DATA_MASKING';
  /**
   * The determinism of the UDF is unspecified.
   */
  public const DETERMINISM_LEVEL_DETERMINISM_LEVEL_UNSPECIFIED = 'DETERMINISM_LEVEL_UNSPECIFIED';
  /**
   * The UDF is deterministic, meaning that 2 function calls with the same
   * inputs always produce the same result, even across 2 query runs.
   */
  public const DETERMINISM_LEVEL_DETERMINISTIC = 'DETERMINISTIC';
  /**
   * The UDF is not deterministic.
   */
  public const DETERMINISM_LEVEL_NOT_DETERMINISTIC = 'NOT_DETERMINISTIC';
  /**
   * Default value.
   */
  public const LANGUAGE_LANGUAGE_UNSPECIFIED = 'LANGUAGE_UNSPECIFIED';
  /**
   * SQL language.
   */
  public const LANGUAGE_SQL = 'SQL';
  /**
   * JavaScript language.
   */
  public const LANGUAGE_JAVASCRIPT = 'JAVASCRIPT';
  /**
   * Python language.
   */
  public const LANGUAGE_PYTHON = 'PYTHON';
  /**
   * Java language.
   */
  public const LANGUAGE_JAVA = 'JAVA';
  /**
   * Scala language.
   */
  public const LANGUAGE_SCALA = 'SCALA';
  /**
   * Default value.
   */
  public const ROUTINE_TYPE_ROUTINE_TYPE_UNSPECIFIED = 'ROUTINE_TYPE_UNSPECIFIED';
  /**
   * Non-built-in persistent scalar function.
   */
  public const ROUTINE_TYPE_SCALAR_FUNCTION = 'SCALAR_FUNCTION';
  /**
   * Stored procedure.
   */
  public const ROUTINE_TYPE_PROCEDURE = 'PROCEDURE';
  /**
   * Non-built-in persistent TVF.
   */
  public const ROUTINE_TYPE_TABLE_VALUED_FUNCTION = 'TABLE_VALUED_FUNCTION';
  /**
   * Non-built-in persistent aggregate function.
   */
  public const ROUTINE_TYPE_AGGREGATE_FUNCTION = 'AGGREGATE_FUNCTION';
  /**
   * The security mode of the routine is unspecified.
   */
  public const SECURITY_MODE_SECURITY_MODE_UNSPECIFIED = 'SECURITY_MODE_UNSPECIFIED';
  /**
   * The routine is to be executed with the privileges of the user who defines
   * it.
   */
  public const SECURITY_MODE_DEFINER = 'DEFINER';
  /**
   * The routine is to be executed with the privileges of the user who invokes
   * it.
   */
  public const SECURITY_MODE_INVOKER = 'INVOKER';
  protected $collection_key = 'importedLibraries';
  protected $argumentsType = Argument::class;
  protected $argumentsDataType = 'array';
  protected $buildStatusType = RoutineBuildStatus::class;
  protected $buildStatusDataType = '';
  /**
   * Output only. The time when this routine was created, in milliseconds since
   * the epoch.
   *
   * @var string
   */
  public $creationTime;
  /**
   * Optional. If set to `DATA_MASKING`, the function is validated and made
   * available as a masking function. For more information, see [Create custom
   * masking routines](https://cloud.google.com/bigquery/docs/user-defined-
   * functions#custom-mask).
   *
   * @var string
   */
  public $dataGovernanceType;
  /**
   * Required. The body of the routine. For functions, this is the expression in
   * the AS clause. If `language = "SQL"`, it is the substring inside (but
   * excluding) the parentheses. For example, for the function created with the
   * following statement: `CREATE FUNCTION JoinLines(x string, y string) as
   * (concat(x, "\n", y))` The definition_body is `concat(x, "\n", y)` (\n is
   * not replaced with linebreak). If `language="JAVASCRIPT"`, it is the
   * evaluated string in the AS clause. For example, for the function created
   * with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE
   * js AS 'return "\n";\n'` The definition_body is `return "\n";\n` Note that
   * both \n are replaced with linebreaks. If `definition_body` references
   * another routine, then that routine must be fully qualified with its project
   * ID.
   *
   * @var string
   */
  public $definitionBody;
  /**
   * Optional. The description of the routine, if defined.
   *
   * @var string
   */
  public $description;
  /**
   * Optional. The determinism level of the JavaScript UDF, if defined.
   *
   * @var string
   */
  public $determinismLevel;
  /**
   * Output only. A hash of this resource.
   *
   * @var string
   */
  public $etag;
  protected $externalRuntimeOptionsType = ExternalRuntimeOptions::class;
  protected $externalRuntimeOptionsDataType = '';
  /**
   * Optional. If language = "JAVASCRIPT", this field stores the path of the
   * imported JAVASCRIPT libraries.
   *
   * @var string[]
   */
  public $importedLibraries;
  /**
   * Optional. Defaults to "SQL" if remote_function_options field is absent, not
   * set otherwise.
   *
   * @var string
   */
  public $language;
  /**
   * Output only. The time when this routine was last modified, in milliseconds
   * since the epoch.
   *
   * @var string
   */
  public $lastModifiedTime;
  protected $pythonOptionsType = PythonOptions::class;
  protected $pythonOptionsDataType = '';
  protected $remoteFunctionOptionsType = RemoteFunctionOptions::class;
  protected $remoteFunctionOptionsDataType = '';
  protected $returnTableTypeType = StandardSqlTableType::class;
  protected $returnTableTypeDataType = '';
  protected $returnTypeType = StandardSqlDataType::class;
  protected $returnTypeDataType = '';
  protected $routineReferenceType = RoutineReference::class;
  protected $routineReferenceDataType = '';
  /**
   * Required. The type of routine.
   *
   * @var string
   */
  public $routineType;
  /**
   * Optional. The security mode of the routine, if defined. If not defined, the
   * security mode is automatically determined from the routine's configuration.
   *
   * @var string
   */
  public $securityMode;
  protected $sparkOptionsType = SparkOptions::class;
  protected $sparkOptionsDataType = '';
  /**
   * Optional. Use this option to catch many common errors. Error checking is
   * not exhaustive, and successfully creating a procedure doesn't guarantee
   * that the procedure will successfully execute at runtime. If `strictMode` is
   * set to `TRUE`, the procedure body is further checked for errors such as
   * non-existent tables or columns. The `CREATE PROCEDURE` statement fails if
   * the body fails any of these checks. If `strictMode` is set to `FALSE`, the
   * procedure body is checked only for syntax. For procedures that invoke
   * themselves recursively, specify `strictMode=FALSE` to avoid non-existent
   * procedure errors during validation. Default value is `TRUE`.
   *
   * @var bool
   */
  public $strictMode;

  /**
   * Optional.
   *
   * @param Argument[] $arguments
   */
  public function setArguments($arguments)
  {
    $this->arguments = $arguments;
  }
  /**
   * @return Argument[]
   */
  public function getArguments()
  {
    return $this->arguments;
  }
  /**
   * Output only. The build status of the routine. This field is only applicable
   * to Python UDFs. [Preview](https://cloud.google.com/products/#product-
   * launch-stages)
   *
   * @param RoutineBuildStatus $buildStatus
   */
  public function setBuildStatus(RoutineBuildStatus $buildStatus)
  {
    $this->buildStatus = $buildStatus;
  }
  /**
   * @return RoutineBuildStatus
   */
  public function getBuildStatus()
  {
    return $this->buildStatus;
  }
  /**
   * Output only. The time when this routine was created, in milliseconds since
   * the epoch.
   *
   * @param string $creationTime
   */
  public function setCreationTime($creationTime)
  {
    $this->creationTime = $creationTime;
  }
  /**
   * @return string
   */
  public function getCreationTime()
  {
    return $this->creationTime;
  }
  /**
   * Optional. If set to `DATA_MASKING`, the function is validated and made
   * available as a masking function. For more information, see [Create custom
   * masking routines](https://cloud.google.com/bigquery/docs/user-defined-
   * functions#custom-mask).
   *
   * Accepted values: DATA_GOVERNANCE_TYPE_UNSPECIFIED, DATA_MASKING
   *
   * @param self::DATA_GOVERNANCE_TYPE_* $dataGovernanceType
   */
  public function setDataGovernanceType($dataGovernanceType)
  {
    $this->dataGovernanceType = $dataGovernanceType;
  }
  /**
   * @return self::DATA_GOVERNANCE_TYPE_*
   */
  public function getDataGovernanceType()
  {
    return $this->dataGovernanceType;
  }
  /**
   * Required. The body of the routine. For functions, this is the expression in
   * the AS clause. If `language = "SQL"`, it is the substring inside (but
   * excluding) the parentheses. For example, for the function created with the
   * following statement: `CREATE FUNCTION JoinLines(x string, y string) as
   * (concat(x, "\n", y))` The definition_body is `concat(x, "\n", y)` (\n is
   * not replaced with linebreak). If `language="JAVASCRIPT"`, it is the
   * evaluated string in the AS clause. For example, for the function created
   * with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE
   * js AS 'return "\n";\n'` The definition_body is `return "\n";\n` Note that
   * both \n are replaced with linebreaks. If `definition_body` references
   * another routine, then that routine must be fully qualified with its project
   * ID.
   *
   * @param string $definitionBody
   */
  public function setDefinitionBody($definitionBody)
  {
    $this->definitionBody = $definitionBody;
  }
  /**
   * @return string
   */
  public function getDefinitionBody()
  {
    return $this->definitionBody;
  }
  /**
   * Optional. The description of the routine, if defined.
   *
   * @param string $description
   */
  public function setDescription($description)
  {
    $this->description = $description;
  }
  /**
   * @return string
   */
  public function getDescription()
  {
    return $this->description;
  }
  /**
   * Optional. The determinism level of the JavaScript UDF, if defined.
   *
   * Accepted values: DETERMINISM_LEVEL_UNSPECIFIED, DETERMINISTIC,
   * NOT_DETERMINISTIC
   *
   * @param self::DETERMINISM_LEVEL_* $determinismLevel
   */
  public function setDeterminismLevel($determinismLevel)
  {
    $this->determinismLevel = $determinismLevel;
  }
  /**
   * @return self::DETERMINISM_LEVEL_*
   */
  public function getDeterminismLevel()
  {
    return $this->determinismLevel;
  }
  /**
   * Output only. A hash of this resource.
   *
   * @param string $etag
   */
  public function setEtag($etag)
  {
    $this->etag = $etag;
  }
  /**
   * @return string
   */
  public function getEtag()
  {
    return $this->etag;
  }
  /**
   * Optional. Options for the runtime of the external system executing the
   * routine. This field is only applicable for Python UDFs.
   * [Preview](https://cloud.google.com/products/#product-launch-stages)
   *
   * @param ExternalRuntimeOptions $externalRuntimeOptions
   */
  public function setExternalRuntimeOptions(ExternalRuntimeOptions $externalRuntimeOptions)
  {
    $this->externalRuntimeOptions = $externalRuntimeOptions;
  }
  /**
   * @return ExternalRuntimeOptions
   */
  public function getExternalRuntimeOptions()
  {
    return $this->externalRuntimeOptions;
  }
  /**
   * Optional. If language = "JAVASCRIPT", this field stores the path of the
   * imported JAVASCRIPT libraries.
   *
   * @param string[] $importedLibraries
   */
  public function setImportedLibraries($importedLibraries)
  {
    $this->importedLibraries = $importedLibraries;
  }
  /**
   * @return string[]
   */
  public function getImportedLibraries()
  {
    return $this->importedLibraries;
  }
  /**
   * Optional. Defaults to "SQL" if remote_function_options field is absent, not
   * set otherwise.
   *
   * Accepted values: LANGUAGE_UNSPECIFIED, SQL, JAVASCRIPT, PYTHON, JAVA, SCALA
   *
   * @param self::LANGUAGE_* $language
   */
  public function setLanguage($language)
  {
    $this->language = $language;
  }
  /**
   * @return self::LANGUAGE_*
   */
  public function getLanguage()
  {
    return $this->language;
  }
  /**
   * Output only. The time when this routine was last modified, in milliseconds
   * since the epoch.
   *
   * @param string $lastModifiedTime
   */
  public function setLastModifiedTime($lastModifiedTime)
  {
    $this->lastModifiedTime = $lastModifiedTime;
  }
  /**
   * @return string
   */
  public function getLastModifiedTime()
  {
    return $this->lastModifiedTime;
  }
  /**
   * Optional. Options for the Python UDF.
   * [Preview](https://cloud.google.com/products/#product-launch-stages)
   *
   * @param PythonOptions $pythonOptions
   */
  public function setPythonOptions(PythonOptions $pythonOptions)
  {
    $this->pythonOptions = $pythonOptions;
  }
  /**
   * @return PythonOptions
   */
  public function getPythonOptions()
  {
    return $this->pythonOptions;
  }
  /**
   * Optional. Remote function specific options.
   *
   * @param RemoteFunctionOptions $remoteFunctionOptions
   */
  public function setRemoteFunctionOptions(RemoteFunctionOptions $remoteFunctionOptions)
  {
    $this->remoteFunctionOptions = $remoteFunctionOptions;
  }
  /**
   * @return RemoteFunctionOptions
   */
  public function getRemoteFunctionOptions()
  {
    return $this->remoteFunctionOptions;
  }
  /**
   * Optional. Can be set only if routine_type = "TABLE_VALUED_FUNCTION". If
   * absent, the return table type is inferred from definition_body at query
   * time in each query that references this routine. If present, then the
   * columns in the evaluated table result will be cast to match the column
   * types specified in return table type, at query time.
   *
   * @param StandardSqlTableType $returnTableType
   */
  public function setReturnTableType(StandardSqlTableType $returnTableType)
  {
    $this->returnTableType = $returnTableType;
  }
  /**
   * @return StandardSqlTableType
   */
  public function getReturnTableType()
  {
    return $this->returnTableType;
  }
  /**
   * Optional if language = "SQL"; required otherwise. Cannot be set if
   * routine_type = "TABLE_VALUED_FUNCTION". If absent, the return type is
   * inferred from definition_body at query time in each query that references
   * this routine. If present, then the evaluated result will be cast to the
   * specified returned type at query time. For example, for the functions
   * created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y
   * FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x
   * FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS
   * FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: "FLOAT64"}` for
   * `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64
   * at query time). Suppose the function `Add` is replaced by `CREATE OR
   * REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred
   * return type of `Increment` is automatically changed to INT64 at query time,
   * while the return type of `Decrement` remains FLOAT64.
   *
   * @param StandardSqlDataType $returnType
   */
  public function setReturnType(StandardSqlDataType $returnType)
  {
    $this->returnType = $returnType;
  }
  /**
   * @return StandardSqlDataType
   */
  public function getReturnType()
  {
    return $this->returnType;
  }
  /**
   * Required. Reference describing the ID of this routine.
   *
   * @param RoutineReference $routineReference
   */
  public function setRoutineReference(RoutineReference $routineReference)
  {
    $this->routineReference = $routineReference;
  }
  /**
   * @return RoutineReference
   */
  public function getRoutineReference()
  {
    return $this->routineReference;
  }
  /**
   * Required. The type of routine.
   *
   * Accepted values: ROUTINE_TYPE_UNSPECIFIED, SCALAR_FUNCTION, PROCEDURE,
   * TABLE_VALUED_FUNCTION, AGGREGATE_FUNCTION
   *
   * @param self::ROUTINE_TYPE_* $routineType
   */
  public function setRoutineType($routineType)
  {
    $this->routineType = $routineType;
  }
  /**
   * @return self::ROUTINE_TYPE_*
   */
  public function getRoutineType()
  {
    return $this->routineType;
  }
  /**
   * Optional. The security mode of the routine, if defined. If not defined, the
   * security mode is automatically determined from the routine's configuration.
   *
   * Accepted values: SECURITY_MODE_UNSPECIFIED, DEFINER, INVOKER
   *
   * @param self::SECURITY_MODE_* $securityMode
   */
  public function setSecurityMode($securityMode)
  {
    $this->securityMode = $securityMode;
  }
  /**
   * @return self::SECURITY_MODE_*
   */
  public function getSecurityMode()
  {
    return $this->securityMode;
  }
  /**
   * Optional. Spark specific options.
   *
   * @param SparkOptions $sparkOptions
   */
  public function setSparkOptions(SparkOptions $sparkOptions)
  {
    $this->sparkOptions = $sparkOptions;
  }
  /**
   * @return SparkOptions
   */
  public function getSparkOptions()
  {
    return $this->sparkOptions;
  }
  /**
   * Optional. Use this option to catch many common errors. Error checking is
   * not exhaustive, and successfully creating a procedure doesn't guarantee
   * that the procedure will successfully execute at runtime. If `strictMode` is
   * set to `TRUE`, the procedure body is further checked for errors such as
   * non-existent tables or columns. The `CREATE PROCEDURE` statement fails if
   * the body fails any of these checks. If `strictMode` is set to `FALSE`, the
   * procedure body is checked only for syntax. For procedures that invoke
   * themselves recursively, specify `strictMode=FALSE` to avoid non-existent
   * procedure errors during validation. Default value is `TRUE`.
   *
   * @param bool $strictMode
   */
  public function setStrictMode($strictMode)
  {
    $this->strictMode = $strictMode;
  }
  /**
   * @return bool
   */
  public function getStrictMode()
  {
    return $this->strictMode;
  }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Routine::class, 'Google_Service_Bigquery_Routine');
← Back