google-apis-run_v1 0.71.0 → 0.72.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1432,6 +1432,1671 @@ module Google
1432
1432
  end
1433
1433
  end
1434
1434
 
1435
+ # ApprovalConfig describes configuration for manual approval of a build.
1436
+ class GoogleDevtoolsCloudbuildV1ApprovalConfig
1437
+ include Google::Apis::Core::Hashable
1438
+
1439
+ # Whether or not approval is needed. If this is set on a build, it will become
1440
+ # pending when created, and will need to be explicitly approved to start.
1441
+ # Corresponds to the JSON property `approvalRequired`
1442
+ # @return [Boolean]
1443
+ attr_accessor :approval_required
1444
+ alias_method :approval_required?, :approval_required
1445
+
1446
+ def initialize(**args)
1447
+ update!(**args)
1448
+ end
1449
+
1450
+ # Update properties of this object
1451
+ def update!(**args)
1452
+ @approval_required = args[:approval_required] if args.key?(:approval_required)
1453
+ end
1454
+ end
1455
+
1456
+ # ApprovalResult describes the decision and associated metadata of a manual
1457
+ # approval of a build.
1458
+ class GoogleDevtoolsCloudbuildV1ApprovalResult
1459
+ include Google::Apis::Core::Hashable
1460
+
1461
+ # Output only. The time when the approval decision was made.
1462
+ # Corresponds to the JSON property `approvalTime`
1463
+ # @return [String]
1464
+ attr_accessor :approval_time
1465
+
1466
+ # Output only. Email of the user that called the ApproveBuild API to approve or
1467
+ # reject a build at the time that the API was called.
1468
+ # Corresponds to the JSON property `approverAccount`
1469
+ # @return [String]
1470
+ attr_accessor :approver_account
1471
+
1472
+ # Optional. An optional comment for this manual approval result.
1473
+ # Corresponds to the JSON property `comment`
1474
+ # @return [String]
1475
+ attr_accessor :comment
1476
+
1477
+ # Required. The decision of this manual approval.
1478
+ # Corresponds to the JSON property `decision`
1479
+ # @return [String]
1480
+ attr_accessor :decision
1481
+
1482
+ # Optional. An optional URL tied to this manual approval result. This field is
1483
+ # essentially the same as comment, except that it will be rendered by the UI
1484
+ # differently. An example use case is a link to an external job that approved
1485
+ # this Build.
1486
+ # Corresponds to the JSON property `url`
1487
+ # @return [String]
1488
+ attr_accessor :url
1489
+
1490
+ def initialize(**args)
1491
+ update!(**args)
1492
+ end
1493
+
1494
+ # Update properties of this object
1495
+ def update!(**args)
1496
+ @approval_time = args[:approval_time] if args.key?(:approval_time)
1497
+ @approver_account = args[:approver_account] if args.key?(:approver_account)
1498
+ @comment = args[:comment] if args.key?(:comment)
1499
+ @decision = args[:decision] if args.key?(:decision)
1500
+ @url = args[:url] if args.key?(:url)
1501
+ end
1502
+ end
1503
+
1504
+ # Files in the workspace to upload to Cloud Storage upon successful completion
1505
+ # of all build steps.
1506
+ class GoogleDevtoolsCloudbuildV1ArtifactObjects
1507
+ include Google::Apis::Core::Hashable
1508
+
1509
+ # Cloud Storage bucket and optional object path, in the form "gs://bucket/path/
1510
+ # to/somewhere/". (see [Bucket Name Requirements](https://cloud.google.com/
1511
+ # storage/docs/bucket-naming#requirements)). Files in the workspace matching any
1512
+ # path pattern will be uploaded to Cloud Storage with this location as a prefix.
1513
+ # Corresponds to the JSON property `location`
1514
+ # @return [String]
1515
+ attr_accessor :location
1516
+
1517
+ # Path globs used to match files in the build's workspace.
1518
+ # Corresponds to the JSON property `paths`
1519
+ # @return [Array<String>]
1520
+ attr_accessor :paths
1521
+
1522
+ # Start and end times for a build execution phase.
1523
+ # Corresponds to the JSON property `timing`
1524
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
1525
+ attr_accessor :timing
1526
+
1527
+ def initialize(**args)
1528
+ update!(**args)
1529
+ end
1530
+
1531
+ # Update properties of this object
1532
+ def update!(**args)
1533
+ @location = args[:location] if args.key?(:location)
1534
+ @paths = args[:paths] if args.key?(:paths)
1535
+ @timing = args[:timing] if args.key?(:timing)
1536
+ end
1537
+ end
1538
+
1539
+ # Artifacts produced by a build that should be uploaded upon successful
1540
+ # completion of all build steps.
1541
+ class GoogleDevtoolsCloudbuildV1Artifacts
1542
+ include Google::Apis::Core::Hashable
1543
+
1544
+ # A list of images to be pushed upon the successful completion of all build
1545
+ # steps. The images will be pushed using the builder service account's
1546
+ # credentials. The digests of the pushed images will be stored in the Build
1547
+ # resource's results field. If any of the images fail to be pushed, the build is
1548
+ # marked FAILURE.
1549
+ # Corresponds to the JSON property `images`
1550
+ # @return [Array<String>]
1551
+ attr_accessor :images
1552
+
1553
+ # A list of Maven artifacts to be uploaded to Artifact Registry upon successful
1554
+ # completion of all build steps. Artifacts in the workspace matching specified
1555
+ # paths globs will be uploaded to the specified Artifact Registry repository
1556
+ # using the builder service account's credentials. If any artifacts fail to be
1557
+ # pushed, the build is marked FAILURE.
1558
+ # Corresponds to the JSON property `mavenArtifacts`
1559
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1MavenArtifact>]
1560
+ attr_accessor :maven_artifacts
1561
+
1562
+ # A list of npm packages to be uploaded to Artifact Registry upon successful
1563
+ # completion of all build steps. Npm packages in the specified paths will be
1564
+ # uploaded to the specified Artifact Registry repository using the builder
1565
+ # service account's credentials. If any packages fail to be pushed, the build is
1566
+ # marked FAILURE.
1567
+ # Corresponds to the JSON property `npmPackages`
1568
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1NpmPackage>]
1569
+ attr_accessor :npm_packages
1570
+
1571
+ # Files in the workspace to upload to Cloud Storage upon successful completion
1572
+ # of all build steps.
1573
+ # Corresponds to the JSON property `objects`
1574
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1ArtifactObjects]
1575
+ attr_accessor :objects
1576
+
1577
+ # A list of Python packages to be uploaded to Artifact Registry upon successful
1578
+ # completion of all build steps. The build service account credentials will be
1579
+ # used to perform the upload. If any objects fail to be pushed, the build is
1580
+ # marked FAILURE.
1581
+ # Corresponds to the JSON property `pythonPackages`
1582
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1PythonPackage>]
1583
+ attr_accessor :python_packages
1584
+
1585
+ def initialize(**args)
1586
+ update!(**args)
1587
+ end
1588
+
1589
+ # Update properties of this object
1590
+ def update!(**args)
1591
+ @images = args[:images] if args.key?(:images)
1592
+ @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
1593
+ @npm_packages = args[:npm_packages] if args.key?(:npm_packages)
1594
+ @objects = args[:objects] if args.key?(:objects)
1595
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
1596
+ end
1597
+ end
1598
+
1599
+ # A build resource in the Cloud Build API. At a high level, a `Build` describes
1600
+ # where to find source code, how to build it (for example, the builder image to
1601
+ # run on the source), and where to store the built artifacts. Fields can include
1602
+ # the following variables, which will be expanded when the build is created: - $
1603
+ # PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number
1604
+ # of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the
1605
+ # autogenerated ID of the build. - $REPO_NAME: the source repository name
1606
+ # specified by RepoSource. - $BRANCH_NAME: the branch name specified by
1607
+ # RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID
1608
+ # or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the
1609
+ # specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $
1610
+ # COMMIT_SHA.
1611
+ class GoogleDevtoolsCloudbuildV1Build
1612
+ include Google::Apis::Core::Hashable
1613
+
1614
+ # BuildApproval describes a build's approval configuration, state, and result.
1615
+ # Corresponds to the JSON property `approval`
1616
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1BuildApproval]
1617
+ attr_accessor :approval
1618
+
1619
+ # Artifacts produced by a build that should be uploaded upon successful
1620
+ # completion of all build steps.
1621
+ # Corresponds to the JSON property `artifacts`
1622
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Artifacts]
1623
+ attr_accessor :artifacts
1624
+
1625
+ # Secrets and secret environment variables.
1626
+ # Corresponds to the JSON property `availableSecrets`
1627
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Secrets]
1628
+ attr_accessor :available_secrets
1629
+
1630
+ # Output only. The ID of the `BuildTrigger` that triggered this build, if it was
1631
+ # triggered automatically.
1632
+ # Corresponds to the JSON property `buildTriggerId`
1633
+ # @return [String]
1634
+ attr_accessor :build_trigger_id
1635
+
1636
+ # Output only. Time at which the request to create the build was received.
1637
+ # Corresponds to the JSON property `createTime`
1638
+ # @return [String]
1639
+ attr_accessor :create_time
1640
+
1641
+ # A fatal problem encountered during the execution of the build.
1642
+ # Corresponds to the JSON property `failureInfo`
1643
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1FailureInfo]
1644
+ attr_accessor :failure_info
1645
+
1646
+ # Output only. Time at which execution of the build was finished. The difference
1647
+ # between finish_time and start_time is the duration of the build's execution.
1648
+ # Corresponds to the JSON property `finishTime`
1649
+ # @return [String]
1650
+ attr_accessor :finish_time
1651
+
1652
+ # Output only. Unique identifier of the build.
1653
+ # Corresponds to the JSON property `id`
1654
+ # @return [String]
1655
+ attr_accessor :id
1656
+
1657
+ # A list of images to be pushed upon the successful completion of all build
1658
+ # steps. The images are pushed using the builder service account's credentials.
1659
+ # The digests of the pushed images will be stored in the `Build` resource's
1660
+ # results field. If any of the images fail to be pushed, the build status is
1661
+ # marked `FAILURE`.
1662
+ # Corresponds to the JSON property `images`
1663
+ # @return [Array<String>]
1664
+ attr_accessor :images
1665
+
1666
+ # Output only. URL to logs for this build in Google Cloud Console.
1667
+ # Corresponds to the JSON property `logUrl`
1668
+ # @return [String]
1669
+ attr_accessor :log_url
1670
+
1671
+ # Cloud Storage bucket where logs should be written (see [Bucket Name
1672
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
1673
+ # ). Logs file names will be of the format `$`logs_bucket`/log-$`build_id`.txt`.
1674
+ # Corresponds to the JSON property `logsBucket`
1675
+ # @return [String]
1676
+ attr_accessor :logs_bucket
1677
+
1678
+ # Output only. The 'Build' name with format: `projects/`project`/locations/`
1679
+ # location`/builds/`build``, where `build` is a unique identifier generated by
1680
+ # the service.
1681
+ # Corresponds to the JSON property `name`
1682
+ # @return [String]
1683
+ attr_accessor :name
1684
+
1685
+ # Optional arguments to enable specific features of builds.
1686
+ # Corresponds to the JSON property `options`
1687
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1BuildOptions]
1688
+ attr_accessor :options
1689
+
1690
+ # Output only. ID of the project.
1691
+ # Corresponds to the JSON property `projectId`
1692
+ # @return [String]
1693
+ attr_accessor :project_id
1694
+
1695
+ # TTL in queue for this build. If provided and the build is enqueued longer than
1696
+ # this value, the build will expire and the build status will be `EXPIRED`. The
1697
+ # TTL starts ticking from create_time.
1698
+ # Corresponds to the JSON property `queueTtl`
1699
+ # @return [String]
1700
+ attr_accessor :queue_ttl
1701
+
1702
+ # Artifacts created by the build pipeline.
1703
+ # Corresponds to the JSON property `results`
1704
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Results]
1705
+ attr_accessor :results
1706
+
1707
+ # Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is
1708
+ # the recommended technique for managing sensitive data with Cloud Build. Use `
1709
+ # available_secrets` to configure builds to access secrets from Secret Manager.
1710
+ # For instructions, see: https://cloud.google.com/cloud-build/docs/securing-
1711
+ # builds/use-secrets
1712
+ # Corresponds to the JSON property `secrets`
1713
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Secret>]
1714
+ attr_accessor :secrets
1715
+
1716
+ # IAM service account whose credentials will be used at build runtime. Must be
1717
+ # of the format `projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT``. ACCOUNT can
1718
+ # be email address or uniqueId of the service account.
1719
+ # Corresponds to the JSON property `serviceAccount`
1720
+ # @return [String]
1721
+ attr_accessor :service_account
1722
+
1723
+ # Location of the source in a supported storage service.
1724
+ # Corresponds to the JSON property `source`
1725
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Source]
1726
+ attr_accessor :source
1727
+
1728
+ # Provenance of the source. Ways to find the original source, or verify that
1729
+ # some source was used for this build.
1730
+ # Corresponds to the JSON property `sourceProvenance`
1731
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1SourceProvenance]
1732
+ attr_accessor :source_provenance
1733
+
1734
+ # Output only. Time at which execution of the build was started.
1735
+ # Corresponds to the JSON property `startTime`
1736
+ # @return [String]
1737
+ attr_accessor :start_time
1738
+
1739
+ # Output only. Status of the build.
1740
+ # Corresponds to the JSON property `status`
1741
+ # @return [String]
1742
+ attr_accessor :status
1743
+
1744
+ # Output only. Customer-readable message about the current status.
1745
+ # Corresponds to the JSON property `statusDetail`
1746
+ # @return [String]
1747
+ attr_accessor :status_detail
1748
+
1749
+ # Required. The operations to be performed on the workspace.
1750
+ # Corresponds to the JSON property `steps`
1751
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1BuildStep>]
1752
+ attr_accessor :steps
1753
+
1754
+ # Substitutions data for `Build` resource.
1755
+ # Corresponds to the JSON property `substitutions`
1756
+ # @return [Hash<String,String>]
1757
+ attr_accessor :substitutions
1758
+
1759
+ # Tags for annotation of a `Build`. These are not docker tags.
1760
+ # Corresponds to the JSON property `tags`
1761
+ # @return [Array<String>]
1762
+ attr_accessor :tags
1763
+
1764
+ # Amount of time that this build should be allowed to run, to second granularity.
1765
+ # If this amount of time elapses, work on the build will cease and the build
1766
+ # status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default
1767
+ # time is 60 minutes.
1768
+ # Corresponds to the JSON property `timeout`
1769
+ # @return [String]
1770
+ attr_accessor :timeout
1771
+
1772
+ # Output only. Stores timing information for phases of the build. Valid keys are:
1773
+ # * BUILD: time to execute all build steps. * PUSH: time to push all artifacts
1774
+ # including docker images and non docker artifacts. * FETCHSOURCE: time to fetch
1775
+ # source. * SETUPBUILD: time to set up build. If the build does not specify
1776
+ # source or images, these keys will not be included.
1777
+ # Corresponds to the JSON property `timing`
1778
+ # @return [Hash<String,Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan>]
1779
+ attr_accessor :timing
1780
+
1781
+ # Output only. Non-fatal problems encountered during the execution of the build.
1782
+ # Corresponds to the JSON property `warnings`
1783
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Warning>]
1784
+ attr_accessor :warnings
1785
+
1786
+ def initialize(**args)
1787
+ update!(**args)
1788
+ end
1789
+
1790
+ # Update properties of this object
1791
+ def update!(**args)
1792
+ @approval = args[:approval] if args.key?(:approval)
1793
+ @artifacts = args[:artifacts] if args.key?(:artifacts)
1794
+ @available_secrets = args[:available_secrets] if args.key?(:available_secrets)
1795
+ @build_trigger_id = args[:build_trigger_id] if args.key?(:build_trigger_id)
1796
+ @create_time = args[:create_time] if args.key?(:create_time)
1797
+ @failure_info = args[:failure_info] if args.key?(:failure_info)
1798
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
1799
+ @id = args[:id] if args.key?(:id)
1800
+ @images = args[:images] if args.key?(:images)
1801
+ @log_url = args[:log_url] if args.key?(:log_url)
1802
+ @logs_bucket = args[:logs_bucket] if args.key?(:logs_bucket)
1803
+ @name = args[:name] if args.key?(:name)
1804
+ @options = args[:options] if args.key?(:options)
1805
+ @project_id = args[:project_id] if args.key?(:project_id)
1806
+ @queue_ttl = args[:queue_ttl] if args.key?(:queue_ttl)
1807
+ @results = args[:results] if args.key?(:results)
1808
+ @secrets = args[:secrets] if args.key?(:secrets)
1809
+ @service_account = args[:service_account] if args.key?(:service_account)
1810
+ @source = args[:source] if args.key?(:source)
1811
+ @source_provenance = args[:source_provenance] if args.key?(:source_provenance)
1812
+ @start_time = args[:start_time] if args.key?(:start_time)
1813
+ @status = args[:status] if args.key?(:status)
1814
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
1815
+ @steps = args[:steps] if args.key?(:steps)
1816
+ @substitutions = args[:substitutions] if args.key?(:substitutions)
1817
+ @tags = args[:tags] if args.key?(:tags)
1818
+ @timeout = args[:timeout] if args.key?(:timeout)
1819
+ @timing = args[:timing] if args.key?(:timing)
1820
+ @warnings = args[:warnings] if args.key?(:warnings)
1821
+ end
1822
+ end
1823
+
1824
+ # BuildApproval describes a build's approval configuration, state, and result.
1825
+ class GoogleDevtoolsCloudbuildV1BuildApproval
1826
+ include Google::Apis::Core::Hashable
1827
+
1828
+ # ApprovalConfig describes configuration for manual approval of a build.
1829
+ # Corresponds to the JSON property `config`
1830
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1ApprovalConfig]
1831
+ attr_accessor :config
1832
+
1833
+ # ApprovalResult describes the decision and associated metadata of a manual
1834
+ # approval of a build.
1835
+ # Corresponds to the JSON property `result`
1836
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1ApprovalResult]
1837
+ attr_accessor :result
1838
+
1839
+ # Output only. The state of this build's approval.
1840
+ # Corresponds to the JSON property `state`
1841
+ # @return [String]
1842
+ attr_accessor :state
1843
+
1844
+ def initialize(**args)
1845
+ update!(**args)
1846
+ end
1847
+
1848
+ # Update properties of this object
1849
+ def update!(**args)
1850
+ @config = args[:config] if args.key?(:config)
1851
+ @result = args[:result] if args.key?(:result)
1852
+ @state = args[:state] if args.key?(:state)
1853
+ end
1854
+ end
1855
+
1856
+ # Metadata for build operations.
1857
+ class GoogleDevtoolsCloudbuildV1BuildOperationMetadata
1858
+ include Google::Apis::Core::Hashable
1859
+
1860
+ # A build resource in the Cloud Build API. At a high level, a `Build` describes
1861
+ # where to find source code, how to build it (for example, the builder image to
1862
+ # run on the source), and where to store the built artifacts. Fields can include
1863
+ # the following variables, which will be expanded when the build is created: - $
1864
+ # PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number
1865
+ # of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the
1866
+ # autogenerated ID of the build. - $REPO_NAME: the source repository name
1867
+ # specified by RepoSource. - $BRANCH_NAME: the branch name specified by
1868
+ # RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID
1869
+ # or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the
1870
+ # specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $
1871
+ # COMMIT_SHA.
1872
+ # Corresponds to the JSON property `build`
1873
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Build]
1874
+ attr_accessor :build
1875
+
1876
+ def initialize(**args)
1877
+ update!(**args)
1878
+ end
1879
+
1880
+ # Update properties of this object
1881
+ def update!(**args)
1882
+ @build = args[:build] if args.key?(:build)
1883
+ end
1884
+ end
1885
+
1886
+ # Optional arguments to enable specific features of builds.
1887
+ class GoogleDevtoolsCloudbuildV1BuildOptions
1888
+ include Google::Apis::Core::Hashable
1889
+
1890
+ # Option to include built-in and custom substitutions as env variables for all
1891
+ # build steps.
1892
+ # Corresponds to the JSON property `automapSubstitutions`
1893
+ # @return [Boolean]
1894
+ attr_accessor :automap_substitutions
1895
+ alias_method :automap_substitutions?, :automap_substitutions
1896
+
1897
+ # Optional. Option to specify how default logs buckets are setup.
1898
+ # Corresponds to the JSON property `defaultLogsBucketBehavior`
1899
+ # @return [String]
1900
+ attr_accessor :default_logs_bucket_behavior
1901
+
1902
+ # Requested disk size for the VM that runs the build. Note that this is *NOT* "
1903
+ # disk free"; some of the space will be used by the operating system and build
1904
+ # utilities. Also note that this is the minimum disk size that will be allocated
1905
+ # for the build -- the build may run with a larger disk than requested. At
1906
+ # present, the maximum disk size is 2000GB; builds that request more than the
1907
+ # maximum are rejected with an error.
1908
+ # Corresponds to the JSON property `diskSizeGb`
1909
+ # @return [Fixnum]
1910
+ attr_accessor :disk_size_gb
1911
+
1912
+ # Option to specify whether or not to apply bash style string operations to the
1913
+ # substitutions. NOTE: this is always enabled for triggered builds and cannot be
1914
+ # overridden in the build configuration file.
1915
+ # Corresponds to the JSON property `dynamicSubstitutions`
1916
+ # @return [Boolean]
1917
+ attr_accessor :dynamic_substitutions
1918
+ alias_method :dynamic_substitutions?, :dynamic_substitutions
1919
+
1920
+ # A list of global environment variable definitions that will exist for all
1921
+ # build steps in this build. If a variable is defined in both globally and in a
1922
+ # build step, the variable will use the build step value. The elements are of
1923
+ # the form "KEY=VALUE" for the environment variable "KEY" being given the value "
1924
+ # VALUE".
1925
+ # Corresponds to the JSON property `env`
1926
+ # @return [Array<String>]
1927
+ attr_accessor :env
1928
+
1929
+ # Option to define build log streaming behavior to Cloud Storage.
1930
+ # Corresponds to the JSON property `logStreamingOption`
1931
+ # @return [String]
1932
+ attr_accessor :log_streaming_option
1933
+
1934
+ # Option to specify the logging mode, which determines if and where build logs
1935
+ # are stored.
1936
+ # Corresponds to the JSON property `logging`
1937
+ # @return [String]
1938
+ attr_accessor :logging
1939
+
1940
+ # Compute Engine machine type on which to run the build.
1941
+ # Corresponds to the JSON property `machineType`
1942
+ # @return [String]
1943
+ attr_accessor :machine_type
1944
+
1945
+ # Details about how a build should be executed on a `WorkerPool`. See [running
1946
+ # builds in a private pool](https://cloud.google.com/build/docs/private-pools/
1947
+ # run-builds-in-private-pool) for more information.
1948
+ # Corresponds to the JSON property `pool`
1949
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1PoolOption]
1950
+ attr_accessor :pool
1951
+
1952
+ # Requested verifiability options.
1953
+ # Corresponds to the JSON property `requestedVerifyOption`
1954
+ # @return [String]
1955
+ attr_accessor :requested_verify_option
1956
+
1957
+ # A list of global environment variables, which are encrypted using a Cloud Key
1958
+ # Management Service crypto key. These values must be specified in the build's `
1959
+ # Secret`. These variables will be available to all build steps in this build.
1960
+ # Corresponds to the JSON property `secretEnv`
1961
+ # @return [Array<String>]
1962
+ attr_accessor :secret_env
1963
+
1964
+ # Requested hash for SourceProvenance.
1965
+ # Corresponds to the JSON property `sourceProvenanceHash`
1966
+ # @return [Array<String>]
1967
+ attr_accessor :source_provenance_hash
1968
+
1969
+ # Option to specify behavior when there is an error in the substitution checks.
1970
+ # NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot be
1971
+ # overridden in the build configuration file.
1972
+ # Corresponds to the JSON property `substitutionOption`
1973
+ # @return [String]
1974
+ attr_accessor :substitution_option
1975
+
1976
+ # Global list of volumes to mount for ALL build steps Each volume is created as
1977
+ # an empty volume prior to starting the build process. Upon completion of the
1978
+ # build, volumes and their contents are discarded. Global volume names and paths
1979
+ # cannot conflict with the volumes defined a build step. Using a global volume
1980
+ # in a build with only one step is not valid as it is indicative of a build
1981
+ # request with an incorrect configuration.
1982
+ # Corresponds to the JSON property `volumes`
1983
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Volume>]
1984
+ attr_accessor :volumes
1985
+
1986
+ # This field deprecated; please use `pool.name` instead.
1987
+ # Corresponds to the JSON property `workerPool`
1988
+ # @return [String]
1989
+ attr_accessor :worker_pool
1990
+
1991
+ def initialize(**args)
1992
+ update!(**args)
1993
+ end
1994
+
1995
+ # Update properties of this object
1996
+ def update!(**args)
1997
+ @automap_substitutions = args[:automap_substitutions] if args.key?(:automap_substitutions)
1998
+ @default_logs_bucket_behavior = args[:default_logs_bucket_behavior] if args.key?(:default_logs_bucket_behavior)
1999
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
2000
+ @dynamic_substitutions = args[:dynamic_substitutions] if args.key?(:dynamic_substitutions)
2001
+ @env = args[:env] if args.key?(:env)
2002
+ @log_streaming_option = args[:log_streaming_option] if args.key?(:log_streaming_option)
2003
+ @logging = args[:logging] if args.key?(:logging)
2004
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2005
+ @pool = args[:pool] if args.key?(:pool)
2006
+ @requested_verify_option = args[:requested_verify_option] if args.key?(:requested_verify_option)
2007
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
2008
+ @source_provenance_hash = args[:source_provenance_hash] if args.key?(:source_provenance_hash)
2009
+ @substitution_option = args[:substitution_option] if args.key?(:substitution_option)
2010
+ @volumes = args[:volumes] if args.key?(:volumes)
2011
+ @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
2012
+ end
2013
+ end
2014
+
2015
+ # A step in the build pipeline.
2016
+ class GoogleDevtoolsCloudbuildV1BuildStep
2017
+ include Google::Apis::Core::Hashable
2018
+
2019
+ # Allow this build step to fail without failing the entire build if and only if
2020
+ # the exit code is one of the specified codes. If allow_failure is also
2021
+ # specified, this field will take precedence.
2022
+ # Corresponds to the JSON property `allowExitCodes`
2023
+ # @return [Array<Fixnum>]
2024
+ attr_accessor :allow_exit_codes
2025
+
2026
+ # Allow this build step to fail without failing the entire build. If false, the
2027
+ # entire build will fail if this step fails. Otherwise, the build will succeed,
2028
+ # but this step will still have a failure status. Error information will be
2029
+ # reported in the failure_detail field.
2030
+ # Corresponds to the JSON property `allowFailure`
2031
+ # @return [Boolean]
2032
+ attr_accessor :allow_failure
2033
+ alias_method :allow_failure?, :allow_failure
2034
+
2035
+ # A list of arguments that will be presented to the step when it is started. If
2036
+ # the image used to run the step's container has an entrypoint, the `args` are
2037
+ # used as arguments to that entrypoint. If the image does not define an
2038
+ # entrypoint, the first element in args is used as the entrypoint, and the
2039
+ # remainder will be used as arguments.
2040
+ # Corresponds to the JSON property `args`
2041
+ # @return [Array<String>]
2042
+ attr_accessor :args
2043
+
2044
+ # Option to include built-in and custom substitutions as env variables for this
2045
+ # build step. This option will override the global option in BuildOption.
2046
+ # Corresponds to the JSON property `automapSubstitutions`
2047
+ # @return [Boolean]
2048
+ attr_accessor :automap_substitutions
2049
+ alias_method :automap_substitutions?, :automap_substitutions
2050
+
2051
+ # Working directory to use when running this step's container. If this value is
2052
+ # a relative path, it is relative to the build's working directory. If this
2053
+ # value is absolute, it may be outside the build's working directory, in which
2054
+ # case the contents of the path may not be persisted across build step
2055
+ # executions, unless a `volume` for that path is specified. If the build
2056
+ # specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies
2057
+ # an absolute path, the `RepoSource` `dir` is ignored for the step's execution.
2058
+ # Corresponds to the JSON property `dir`
2059
+ # @return [String]
2060
+ attr_accessor :dir
2061
+
2062
+ # Entrypoint to be used instead of the build step image's default entrypoint. If
2063
+ # unset, the image's default entrypoint is used.
2064
+ # Corresponds to the JSON property `entrypoint`
2065
+ # @return [String]
2066
+ attr_accessor :entrypoint
2067
+
2068
+ # A list of environment variable definitions to be used when running a step. The
2069
+ # elements are of the form "KEY=VALUE" for the environment variable "KEY" being
2070
+ # given the value "VALUE".
2071
+ # Corresponds to the JSON property `env`
2072
+ # @return [Array<String>]
2073
+ attr_accessor :env
2074
+
2075
+ # Output only. Return code from running the step.
2076
+ # Corresponds to the JSON property `exitCode`
2077
+ # @return [Fixnum]
2078
+ attr_accessor :exit_code
2079
+
2080
+ # Unique identifier for this build step, used in `wait_for` to reference this
2081
+ # build step as a dependency.
2082
+ # Corresponds to the JSON property `id`
2083
+ # @return [String]
2084
+ attr_accessor :id
2085
+
2086
+ # Required. The name of the container image that will run this particular build
2087
+ # step. If the image is available in the host's Docker daemon's cache, it will
2088
+ # be run directly. If not, the host will attempt to pull the image first, using
2089
+ # the builder service account's credentials if necessary. The Docker daemon's
2090
+ # cache will already have the latest versions of all of the officially supported
2091
+ # build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://
2092
+ # github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also
2093
+ # have cached many of the layers for some popular images, like "ubuntu", "debian"
2094
+ # , but they will be refreshed at the time you attempt to use them. If you built
2095
+ # an image in a previous build step, it will be stored in the host's Docker
2096
+ # daemon's cache and is available to use as the name for a later build step.
2097
+ # Corresponds to the JSON property `name`
2098
+ # @return [String]
2099
+ attr_accessor :name
2100
+
2101
+ # Start and end times for a build execution phase.
2102
+ # Corresponds to the JSON property `pullTiming`
2103
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
2104
+ attr_accessor :pull_timing
2105
+
2106
+ # A shell script to be executed in the step. When script is provided, the user
2107
+ # cannot specify the entrypoint or args.
2108
+ # Corresponds to the JSON property `script`
2109
+ # @return [String]
2110
+ attr_accessor :script
2111
+
2112
+ # A list of environment variables which are encrypted using a Cloud Key
2113
+ # Management Service crypto key. These values must be specified in the build's `
2114
+ # Secret`.
2115
+ # Corresponds to the JSON property `secretEnv`
2116
+ # @return [Array<String>]
2117
+ attr_accessor :secret_env
2118
+
2119
+ # Output only. Status of the build step. At this time, build step status is only
2120
+ # updated on build completion; step status is not updated in real-time as the
2121
+ # build progresses.
2122
+ # Corresponds to the JSON property `status`
2123
+ # @return [String]
2124
+ attr_accessor :status
2125
+
2126
+ # Time limit for executing this build step. If not defined, the step has no time
2127
+ # limit and will be allowed to continue to run until either it completes or the
2128
+ # build itself times out.
2129
+ # Corresponds to the JSON property `timeout`
2130
+ # @return [String]
2131
+ attr_accessor :timeout
2132
+
2133
+ # Start and end times for a build execution phase.
2134
+ # Corresponds to the JSON property `timing`
2135
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
2136
+ attr_accessor :timing
2137
+
2138
+ # List of volumes to mount into the build step. Each volume is created as an
2139
+ # empty volume prior to execution of the build step. Upon completion of the
2140
+ # build, volumes and their contents are discarded. Using a named volume in only
2141
+ # one step is not valid as it is indicative of a build request with an incorrect
2142
+ # configuration.
2143
+ # Corresponds to the JSON property `volumes`
2144
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Volume>]
2145
+ attr_accessor :volumes
2146
+
2147
+ # The ID(s) of the step(s) that this build step depends on. This build step will
2148
+ # not start until all the build steps in `wait_for` have completed successfully.
2149
+ # If `wait_for` is empty, this build step will start when all previous build
2150
+ # steps in the `Build.Steps` list have completed successfully.
2151
+ # Corresponds to the JSON property `waitFor`
2152
+ # @return [Array<String>]
2153
+ attr_accessor :wait_for
2154
+
2155
+ def initialize(**args)
2156
+ update!(**args)
2157
+ end
2158
+
2159
+ # Update properties of this object
2160
+ def update!(**args)
2161
+ @allow_exit_codes = args[:allow_exit_codes] if args.key?(:allow_exit_codes)
2162
+ @allow_failure = args[:allow_failure] if args.key?(:allow_failure)
2163
+ @args = args[:args] if args.key?(:args)
2164
+ @automap_substitutions = args[:automap_substitutions] if args.key?(:automap_substitutions)
2165
+ @dir = args[:dir] if args.key?(:dir)
2166
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
2167
+ @env = args[:env] if args.key?(:env)
2168
+ @exit_code = args[:exit_code] if args.key?(:exit_code)
2169
+ @id = args[:id] if args.key?(:id)
2170
+ @name = args[:name] if args.key?(:name)
2171
+ @pull_timing = args[:pull_timing] if args.key?(:pull_timing)
2172
+ @script = args[:script] if args.key?(:script)
2173
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
2174
+ @status = args[:status] if args.key?(:status)
2175
+ @timeout = args[:timeout] if args.key?(:timeout)
2176
+ @timing = args[:timing] if args.key?(:timing)
2177
+ @volumes = args[:volumes] if args.key?(:volumes)
2178
+ @wait_for = args[:wait_for] if args.key?(:wait_for)
2179
+ end
2180
+ end
2181
+
2182
+ # An image built by the pipeline.
2183
+ class GoogleDevtoolsCloudbuildV1BuiltImage
2184
+ include Google::Apis::Core::Hashable
2185
+
2186
+ # Docker Registry 2.0 digest.
2187
+ # Corresponds to the JSON property `digest`
2188
+ # @return [String]
2189
+ attr_accessor :digest
2190
+
2191
+ # Name used to push the container image to Google Container Registry, as
2192
+ # presented to `docker push`.
2193
+ # Corresponds to the JSON property `name`
2194
+ # @return [String]
2195
+ attr_accessor :name
2196
+
2197
+ # Start and end times for a build execution phase.
2198
+ # Corresponds to the JSON property `pushTiming`
2199
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
2200
+ attr_accessor :push_timing
2201
+
2202
+ def initialize(**args)
2203
+ update!(**args)
2204
+ end
2205
+
2206
+ # Update properties of this object
2207
+ def update!(**args)
2208
+ @digest = args[:digest] if args.key?(:digest)
2209
+ @name = args[:name] if args.key?(:name)
2210
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
2211
+ end
2212
+ end
2213
+
2214
+ # Location of the source in a 2nd-gen Google Cloud Build repository resource.
2215
+ class GoogleDevtoolsCloudbuildV1ConnectedRepository
2216
+ include Google::Apis::Core::Hashable
2217
+
2218
+ # Directory, relative to the source root, in which to run the build.
2219
+ # Corresponds to the JSON property `dir`
2220
+ # @return [String]
2221
+ attr_accessor :dir
2222
+
2223
+ # Required. Name of the Google Cloud Build repository, formatted as `projects/*/
2224
+ # locations/*/connections/*/repositories/*`.
2225
+ # Corresponds to the JSON property `repository`
2226
+ # @return [String]
2227
+ attr_accessor :repository
2228
+
2229
+ # The revision to fetch from the Git repository such as a branch, a tag, a
2230
+ # commit SHA, or any Git ref.
2231
+ # Corresponds to the JSON property `revision`
2232
+ # @return [String]
2233
+ attr_accessor :revision
2234
+
2235
+ def initialize(**args)
2236
+ update!(**args)
2237
+ end
2238
+
2239
+ # Update properties of this object
2240
+ def update!(**args)
2241
+ @dir = args[:dir] if args.key?(:dir)
2242
+ @repository = args[:repository] if args.key?(:repository)
2243
+ @revision = args[:revision] if args.key?(:revision)
2244
+ end
2245
+ end
2246
+
2247
+ # A fatal problem encountered during the execution of the build.
2248
+ class GoogleDevtoolsCloudbuildV1FailureInfo
2249
+ include Google::Apis::Core::Hashable
2250
+
2251
+ # Explains the failure issue in more detail using hard-coded text.
2252
+ # Corresponds to the JSON property `detail`
2253
+ # @return [String]
2254
+ attr_accessor :detail
2255
+
2256
+ # The name of the failure.
2257
+ # Corresponds to the JSON property `type`
2258
+ # @return [String]
2259
+ attr_accessor :type
2260
+
2261
+ def initialize(**args)
2262
+ update!(**args)
2263
+ end
2264
+
2265
+ # Update properties of this object
2266
+ def update!(**args)
2267
+ @detail = args[:detail] if args.key?(:detail)
2268
+ @type = args[:type] if args.key?(:type)
2269
+ end
2270
+ end
2271
+
2272
+ # Container message for hashes of byte content of files, used in
2273
+ # SourceProvenance messages to verify integrity of source input to the build.
2274
+ class GoogleDevtoolsCloudbuildV1FileHashes
2275
+ include Google::Apis::Core::Hashable
2276
+
2277
+ # Collection of file hashes.
2278
+ # Corresponds to the JSON property `fileHash`
2279
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1Hash>]
2280
+ attr_accessor :file_hash
2281
+
2282
+ def initialize(**args)
2283
+ update!(**args)
2284
+ end
2285
+
2286
+ # Update properties of this object
2287
+ def update!(**args)
2288
+ @file_hash = args[:file_hash] if args.key?(:file_hash)
2289
+ end
2290
+ end
2291
+
2292
+ # Location of the source in any accessible Git repository.
2293
+ class GoogleDevtoolsCloudbuildV1GitSource
2294
+ include Google::Apis::Core::Hashable
2295
+
2296
+ # Directory, relative to the source root, in which to run the build. This must
2297
+ # be a relative path. If a step's `dir` is specified and is an absolute path,
2298
+ # this value is ignored for that step's execution.
2299
+ # Corresponds to the JSON property `dir`
2300
+ # @return [String]
2301
+ attr_accessor :dir
2302
+
2303
+ # The revision to fetch from the Git repository such as a branch, a tag, a
2304
+ # commit SHA, or any Git ref. Cloud Build uses `git fetch` to fetch the revision
2305
+ # from the Git repository; therefore make sure that the string you provide for `
2306
+ # revision` is parsable by the command. For information on string values
2307
+ # accepted by `git fetch`, see https://git-scm.com/docs/gitrevisions#
2308
+ # _specifying_revisions. For information on `git fetch`, see https://git-scm.com/
2309
+ # docs/git-fetch.
2310
+ # Corresponds to the JSON property `revision`
2311
+ # @return [String]
2312
+ attr_accessor :revision
2313
+
2314
+ # Location of the Git repo to build. This will be used as a `git remote`, see
2315
+ # https://git-scm.com/docs/git-remote.
2316
+ # Corresponds to the JSON property `url`
2317
+ # @return [String]
2318
+ attr_accessor :url
2319
+
2320
+ def initialize(**args)
2321
+ update!(**args)
2322
+ end
2323
+
2324
+ # Update properties of this object
2325
+ def update!(**args)
2326
+ @dir = args[:dir] if args.key?(:dir)
2327
+ @revision = args[:revision] if args.key?(:revision)
2328
+ @url = args[:url] if args.key?(:url)
2329
+ end
2330
+ end
2331
+
2332
+ # Container message for hash values.
2333
+ class GoogleDevtoolsCloudbuildV1Hash
2334
+ include Google::Apis::Core::Hashable
2335
+
2336
+ # The type of hash that was performed.
2337
+ # Corresponds to the JSON property `type`
2338
+ # @return [String]
2339
+ attr_accessor :type
2340
+
2341
+ # The hash value.
2342
+ # Corresponds to the JSON property `value`
2343
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2344
+ # @return [String]
2345
+ attr_accessor :value
2346
+
2347
+ def initialize(**args)
2348
+ update!(**args)
2349
+ end
2350
+
2351
+ # Update properties of this object
2352
+ def update!(**args)
2353
+ @type = args[:type] if args.key?(:type)
2354
+ @value = args[:value] if args.key?(:value)
2355
+ end
2356
+ end
2357
+
2358
+ # Pairs a set of secret environment variables mapped to encrypted values with
2359
+ # the Cloud KMS key to use to decrypt the value.
2360
+ class GoogleDevtoolsCloudbuildV1InlineSecret
2361
+ include Google::Apis::Core::Hashable
2362
+
2363
+ # Map of environment variable name to its encrypted value. Secret environment
2364
+ # variables must be unique across all of a build's secrets, and must be used by
2365
+ # at least one build step. Values can be at most 64 KB in size. There can be at
2366
+ # most 100 secret values across all of a build's secrets.
2367
+ # Corresponds to the JSON property `envMap`
2368
+ # @return [Hash<String,String>]
2369
+ attr_accessor :env_map
2370
+
2371
+ # Resource name of Cloud KMS crypto key to decrypt the encrypted value. In
2372
+ # format: projects/*/locations/*/keyRings/*/cryptoKeys/*
2373
+ # Corresponds to the JSON property `kmsKeyName`
2374
+ # @return [String]
2375
+ attr_accessor :kms_key_name
2376
+
2377
+ def initialize(**args)
2378
+ update!(**args)
2379
+ end
2380
+
2381
+ # Update properties of this object
2382
+ def update!(**args)
2383
+ @env_map = args[:env_map] if args.key?(:env_map)
2384
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
2385
+ end
2386
+ end
2387
+
2388
+ # A Maven artifact to upload to Artifact Registry upon successful completion of
2389
+ # all build steps.
2390
+ class GoogleDevtoolsCloudbuildV1MavenArtifact
2391
+ include Google::Apis::Core::Hashable
2392
+
2393
+ # Maven `artifactId` value used when uploading the artifact to Artifact Registry.
2394
+ # Corresponds to the JSON property `artifactId`
2395
+ # @return [String]
2396
+ attr_accessor :artifact_id
2397
+
2398
+ # Maven `groupId` value used when uploading the artifact to Artifact Registry.
2399
+ # Corresponds to the JSON property `groupId`
2400
+ # @return [String]
2401
+ attr_accessor :group_id
2402
+
2403
+ # Path to an artifact in the build's workspace to be uploaded to Artifact
2404
+ # Registry. This can be either an absolute path, e.g. /workspace/my-app/target/
2405
+ # my-app-1.0.SNAPSHOT.jar or a relative path from /workspace, e.g. my-app/target/
2406
+ # my-app-1.0.SNAPSHOT.jar.
2407
+ # Corresponds to the JSON property `path`
2408
+ # @return [String]
2409
+ attr_accessor :path
2410
+
2411
+ # Artifact Registry repository, in the form "https://$REGION-maven.pkg.dev/$
2412
+ # PROJECT/$REPOSITORY" Artifact in the workspace specified by path will be
2413
+ # uploaded to Artifact Registry with this location as a prefix.
2414
+ # Corresponds to the JSON property `repository`
2415
+ # @return [String]
2416
+ attr_accessor :repository
2417
+
2418
+ # Maven `version` value used when uploading the artifact to Artifact Registry.
2419
+ # Corresponds to the JSON property `version`
2420
+ # @return [String]
2421
+ attr_accessor :version
2422
+
2423
+ def initialize(**args)
2424
+ update!(**args)
2425
+ end
2426
+
2427
+ # Update properties of this object
2428
+ def update!(**args)
2429
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
2430
+ @group_id = args[:group_id] if args.key?(:group_id)
2431
+ @path = args[:path] if args.key?(:path)
2432
+ @repository = args[:repository] if args.key?(:repository)
2433
+ @version = args[:version] if args.key?(:version)
2434
+ end
2435
+ end
2436
+
2437
+ # Npm package to upload to Artifact Registry upon successful completion of all
2438
+ # build steps.
2439
+ class GoogleDevtoolsCloudbuildV1NpmPackage
2440
+ include Google::Apis::Core::Hashable
2441
+
2442
+ # Path to the package.json. e.g. workspace/path/to/package
2443
+ # Corresponds to the JSON property `packagePath`
2444
+ # @return [String]
2445
+ attr_accessor :package_path
2446
+
2447
+ # Artifact Registry repository, in the form "https://$REGION-npm.pkg.dev/$
2448
+ # PROJECT/$REPOSITORY" Npm package in the workspace specified by path will be
2449
+ # zipped and uploaded to Artifact Registry with this location as a prefix.
2450
+ # Corresponds to the JSON property `repository`
2451
+ # @return [String]
2452
+ attr_accessor :repository
2453
+
2454
+ def initialize(**args)
2455
+ update!(**args)
2456
+ end
2457
+
2458
+ # Update properties of this object
2459
+ def update!(**args)
2460
+ @package_path = args[:package_path] if args.key?(:package_path)
2461
+ @repository = args[:repository] if args.key?(:repository)
2462
+ end
2463
+ end
2464
+
2465
+ # Details about how a build should be executed on a `WorkerPool`. See [running
2466
+ # builds in a private pool](https://cloud.google.com/build/docs/private-pools/
2467
+ # run-builds-in-private-pool) for more information.
2468
+ class GoogleDevtoolsCloudbuildV1PoolOption
2469
+ include Google::Apis::Core::Hashable
2470
+
2471
+ # The `WorkerPool` resource to execute the build on. You must have `cloudbuild.
2472
+ # workerpools.use` on the project hosting the WorkerPool. Format projects/`
2473
+ # project`/locations/`location`/workerPools/`workerPoolId`
2474
+ # Corresponds to the JSON property `name`
2475
+ # @return [String]
2476
+ attr_accessor :name
2477
+
2478
+ def initialize(**args)
2479
+ update!(**args)
2480
+ end
2481
+
2482
+ # Update properties of this object
2483
+ def update!(**args)
2484
+ @name = args[:name] if args.key?(:name)
2485
+ end
2486
+ end
2487
+
2488
+ # Python package to upload to Artifact Registry upon successful completion of
2489
+ # all build steps. A package can encapsulate multiple objects to be uploaded to
2490
+ # a single repository.
2491
+ class GoogleDevtoolsCloudbuildV1PythonPackage
2492
+ include Google::Apis::Core::Hashable
2493
+
2494
+ # Path globs used to match files in the build's workspace. For Python/ Twine,
2495
+ # this is usually `dist/*`, and sometimes additionally an `.asc` file.
2496
+ # Corresponds to the JSON property `paths`
2497
+ # @return [Array<String>]
2498
+ attr_accessor :paths
2499
+
2500
+ # Artifact Registry repository, in the form "https://$REGION-python.pkg.dev/$
2501
+ # PROJECT/$REPOSITORY" Files in the workspace matching any path pattern will be
2502
+ # uploaded to Artifact Registry with this location as a prefix.
2503
+ # Corresponds to the JSON property `repository`
2504
+ # @return [String]
2505
+ attr_accessor :repository
2506
+
2507
+ def initialize(**args)
2508
+ update!(**args)
2509
+ end
2510
+
2511
+ # Update properties of this object
2512
+ def update!(**args)
2513
+ @paths = args[:paths] if args.key?(:paths)
2514
+ @repository = args[:repository] if args.key?(:repository)
2515
+ end
2516
+ end
2517
+
2518
+ # Location of the source in a Google Cloud Source Repository.
2519
+ class GoogleDevtoolsCloudbuildV1RepoSource
2520
+ include Google::Apis::Core::Hashable
2521
+
2522
+ # Regex matching branches to build. The syntax of the regular expressions
2523
+ # accepted is the syntax accepted by RE2 and described at https://github.com/
2524
+ # google/re2/wiki/Syntax
2525
+ # Corresponds to the JSON property `branchName`
2526
+ # @return [String]
2527
+ attr_accessor :branch_name
2528
+
2529
+ # Explicit commit SHA to build.
2530
+ # Corresponds to the JSON property `commitSha`
2531
+ # @return [String]
2532
+ attr_accessor :commit_sha
2533
+
2534
+ # Directory, relative to the source root, in which to run the build. This must
2535
+ # be a relative path. If a step's `dir` is specified and is an absolute path,
2536
+ # this value is ignored for that step's execution.
2537
+ # Corresponds to the JSON property `dir`
2538
+ # @return [String]
2539
+ attr_accessor :dir
2540
+
2541
+ # Only trigger a build if the revision regex does NOT match the revision regex.
2542
+ # Corresponds to the JSON property `invertRegex`
2543
+ # @return [Boolean]
2544
+ attr_accessor :invert_regex
2545
+ alias_method :invert_regex?, :invert_regex
2546
+
2547
+ # ID of the project that owns the Cloud Source Repository. If omitted, the
2548
+ # project ID requesting the build is assumed.
2549
+ # Corresponds to the JSON property `projectId`
2550
+ # @return [String]
2551
+ attr_accessor :project_id
2552
+
2553
+ # Name of the Cloud Source Repository.
2554
+ # Corresponds to the JSON property `repoName`
2555
+ # @return [String]
2556
+ attr_accessor :repo_name
2557
+
2558
+ # Substitutions to use in a triggered build. Should only be used with
2559
+ # RunBuildTrigger
2560
+ # Corresponds to the JSON property `substitutions`
2561
+ # @return [Hash<String,String>]
2562
+ attr_accessor :substitutions
2563
+
2564
+ # Regex matching tags to build. The syntax of the regular expressions accepted
2565
+ # is the syntax accepted by RE2 and described at https://github.com/google/re2/
2566
+ # wiki/Syntax
2567
+ # Corresponds to the JSON property `tagName`
2568
+ # @return [String]
2569
+ attr_accessor :tag_name
2570
+
2571
+ def initialize(**args)
2572
+ update!(**args)
2573
+ end
2574
+
2575
+ # Update properties of this object
2576
+ def update!(**args)
2577
+ @branch_name = args[:branch_name] if args.key?(:branch_name)
2578
+ @commit_sha = args[:commit_sha] if args.key?(:commit_sha)
2579
+ @dir = args[:dir] if args.key?(:dir)
2580
+ @invert_regex = args[:invert_regex] if args.key?(:invert_regex)
2581
+ @project_id = args[:project_id] if args.key?(:project_id)
2582
+ @repo_name = args[:repo_name] if args.key?(:repo_name)
2583
+ @substitutions = args[:substitutions] if args.key?(:substitutions)
2584
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
2585
+ end
2586
+ end
2587
+
2588
+ # Artifacts created by the build pipeline.
2589
+ class GoogleDevtoolsCloudbuildV1Results
2590
+ include Google::Apis::Core::Hashable
2591
+
2592
+ # Path to the artifact manifest for non-container artifacts uploaded to Cloud
2593
+ # Storage. Only populated when artifacts are uploaded to Cloud Storage.
2594
+ # Corresponds to the JSON property `artifactManifest`
2595
+ # @return [String]
2596
+ attr_accessor :artifact_manifest
2597
+
2598
+ # Start and end times for a build execution phase.
2599
+ # Corresponds to the JSON property `artifactTiming`
2600
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
2601
+ attr_accessor :artifact_timing
2602
+
2603
+ # List of build step digests, in the order corresponding to build step indices.
2604
+ # Corresponds to the JSON property `buildStepImages`
2605
+ # @return [Array<String>]
2606
+ attr_accessor :build_step_images
2607
+
2608
+ # List of build step outputs, produced by builder images, in the order
2609
+ # corresponding to build step indices. [Cloud Builders](https://cloud.google.com/
2610
+ # cloud-build/docs/cloud-builders) can produce this output by writing to `$
2611
+ # BUILDER_OUTPUT/output`. Only the first 50KB of data is stored.
2612
+ # Corresponds to the JSON property `buildStepOutputs`
2613
+ # @return [Array<String>]
2614
+ attr_accessor :build_step_outputs
2615
+
2616
+ # Container images that were built as a part of the build.
2617
+ # Corresponds to the JSON property `images`
2618
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1BuiltImage>]
2619
+ attr_accessor :images
2620
+
2621
+ # Maven artifacts uploaded to Artifact Registry at the end of the build.
2622
+ # Corresponds to the JSON property `mavenArtifacts`
2623
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1UploadedMavenArtifact>]
2624
+ attr_accessor :maven_artifacts
2625
+
2626
+ # Npm packages uploaded to Artifact Registry at the end of the build.
2627
+ # Corresponds to the JSON property `npmPackages`
2628
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1UploadedNpmPackage>]
2629
+ attr_accessor :npm_packages
2630
+
2631
+ # Number of non-container artifacts uploaded to Cloud Storage. Only populated
2632
+ # when artifacts are uploaded to Cloud Storage.
2633
+ # Corresponds to the JSON property `numArtifacts`
2634
+ # @return [Fixnum]
2635
+ attr_accessor :num_artifacts
2636
+
2637
+ # Python artifacts uploaded to Artifact Registry at the end of the build.
2638
+ # Corresponds to the JSON property `pythonPackages`
2639
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1UploadedPythonPackage>]
2640
+ attr_accessor :python_packages
2641
+
2642
+ def initialize(**args)
2643
+ update!(**args)
2644
+ end
2645
+
2646
+ # Update properties of this object
2647
+ def update!(**args)
2648
+ @artifact_manifest = args[:artifact_manifest] if args.key?(:artifact_manifest)
2649
+ @artifact_timing = args[:artifact_timing] if args.key?(:artifact_timing)
2650
+ @build_step_images = args[:build_step_images] if args.key?(:build_step_images)
2651
+ @build_step_outputs = args[:build_step_outputs] if args.key?(:build_step_outputs)
2652
+ @images = args[:images] if args.key?(:images)
2653
+ @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
2654
+ @npm_packages = args[:npm_packages] if args.key?(:npm_packages)
2655
+ @num_artifacts = args[:num_artifacts] if args.key?(:num_artifacts)
2656
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
2657
+ end
2658
+ end
2659
+
2660
+ # Pairs a set of secret environment variables containing encrypted values with
2661
+ # the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with `
2662
+ # available_secrets` instead of using `kmsKeyName` with `secret`. For
2663
+ # instructions see: https://cloud.google.com/cloud-build/docs/securing-builds/
2664
+ # use-encrypted-credentials.
2665
+ class GoogleDevtoolsCloudbuildV1Secret
2666
+ include Google::Apis::Core::Hashable
2667
+
2668
+ # Cloud KMS key name to use to decrypt these envs.
2669
+ # Corresponds to the JSON property `kmsKeyName`
2670
+ # @return [String]
2671
+ attr_accessor :kms_key_name
2672
+
2673
+ # Map of environment variable name to its encrypted value. Secret environment
2674
+ # variables must be unique across all of a build's secrets, and must be used by
2675
+ # at least one build step. Values can be at most 64 KB in size. There can be at
2676
+ # most 100 secret values across all of a build's secrets.
2677
+ # Corresponds to the JSON property `secretEnv`
2678
+ # @return [Hash<String,String>]
2679
+ attr_accessor :secret_env
2680
+
2681
+ def initialize(**args)
2682
+ update!(**args)
2683
+ end
2684
+
2685
+ # Update properties of this object
2686
+ def update!(**args)
2687
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
2688
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
2689
+ end
2690
+ end
2691
+
2692
+ # Pairs a secret environment variable with a SecretVersion in Secret Manager.
2693
+ class GoogleDevtoolsCloudbuildV1SecretManagerSecret
2694
+ include Google::Apis::Core::Hashable
2695
+
2696
+ # Environment variable name to associate with the secret. Secret environment
2697
+ # variables must be unique across all of a build's secrets, and must be used by
2698
+ # at least one build step.
2699
+ # Corresponds to the JSON property `env`
2700
+ # @return [String]
2701
+ attr_accessor :env
2702
+
2703
+ # Resource name of the SecretVersion. In format: projects/*/secrets/*/versions/*
2704
+ # Corresponds to the JSON property `versionName`
2705
+ # @return [String]
2706
+ attr_accessor :version_name
2707
+
2708
+ def initialize(**args)
2709
+ update!(**args)
2710
+ end
2711
+
2712
+ # Update properties of this object
2713
+ def update!(**args)
2714
+ @env = args[:env] if args.key?(:env)
2715
+ @version_name = args[:version_name] if args.key?(:version_name)
2716
+ end
2717
+ end
2718
+
2719
+ # Secrets and secret environment variables.
2720
+ class GoogleDevtoolsCloudbuildV1Secrets
2721
+ include Google::Apis::Core::Hashable
2722
+
2723
+ # Secrets encrypted with KMS key and the associated secret environment variable.
2724
+ # Corresponds to the JSON property `inline`
2725
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1InlineSecret>]
2726
+ attr_accessor :inline
2727
+
2728
+ # Secrets in Secret Manager and associated secret environment variable.
2729
+ # Corresponds to the JSON property `secretManager`
2730
+ # @return [Array<Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1SecretManagerSecret>]
2731
+ attr_accessor :secret_manager
2732
+
2733
+ def initialize(**args)
2734
+ update!(**args)
2735
+ end
2736
+
2737
+ # Update properties of this object
2738
+ def update!(**args)
2739
+ @inline = args[:inline] if args.key?(:inline)
2740
+ @secret_manager = args[:secret_manager] if args.key?(:secret_manager)
2741
+ end
2742
+ end
2743
+
2744
+ # Location of the source in a supported storage service.
2745
+ class GoogleDevtoolsCloudbuildV1Source
2746
+ include Google::Apis::Core::Hashable
2747
+
2748
+ # Location of the source in a 2nd-gen Google Cloud Build repository resource.
2749
+ # Corresponds to the JSON property `connectedRepository`
2750
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1ConnectedRepository]
2751
+ attr_accessor :connected_repository
2752
+
2753
+ # Location of the source in any accessible Git repository.
2754
+ # Corresponds to the JSON property `gitSource`
2755
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1GitSource]
2756
+ attr_accessor :git_source
2757
+
2758
+ # Location of the source in a Google Cloud Source Repository.
2759
+ # Corresponds to the JSON property `repoSource`
2760
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1RepoSource]
2761
+ attr_accessor :repo_source
2762
+
2763
+ # Location of the source in an archive file in Cloud Storage.
2764
+ # Corresponds to the JSON property `storageSource`
2765
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1StorageSource]
2766
+ attr_accessor :storage_source
2767
+
2768
+ # Location of the source manifest in Cloud Storage. This feature is in Preview;
2769
+ # see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/
2770
+ # tree/master/gcs-fetcher).
2771
+ # Corresponds to the JSON property `storageSourceManifest`
2772
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1StorageSourceManifest]
2773
+ attr_accessor :storage_source_manifest
2774
+
2775
+ def initialize(**args)
2776
+ update!(**args)
2777
+ end
2778
+
2779
+ # Update properties of this object
2780
+ def update!(**args)
2781
+ @connected_repository = args[:connected_repository] if args.key?(:connected_repository)
2782
+ @git_source = args[:git_source] if args.key?(:git_source)
2783
+ @repo_source = args[:repo_source] if args.key?(:repo_source)
2784
+ @storage_source = args[:storage_source] if args.key?(:storage_source)
2785
+ @storage_source_manifest = args[:storage_source_manifest] if args.key?(:storage_source_manifest)
2786
+ end
2787
+ end
2788
+
2789
+ # Provenance of the source. Ways to find the original source, or verify that
2790
+ # some source was used for this build.
2791
+ class GoogleDevtoolsCloudbuildV1SourceProvenance
2792
+ include Google::Apis::Core::Hashable
2793
+
2794
+ # Output only. Hash(es) of the build source, which can be used to verify that
2795
+ # the original source integrity was maintained in the build. Note that `
2796
+ # FileHashes` will only be populated if `BuildOptions` has requested a `
2797
+ # SourceProvenanceHash`. The keys to this map are file paths used as build
2798
+ # source and the values contain the hash values for those files. If the build
2799
+ # source came in a single package such as a gzipped tarfile (`.tar.gz`), the `
2800
+ # FileHash` will be for the single path to that file.
2801
+ # Corresponds to the JSON property `fileHashes`
2802
+ # @return [Hash<String,Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1FileHashes>]
2803
+ attr_accessor :file_hashes
2804
+
2805
+ # Location of the source in a 2nd-gen Google Cloud Build repository resource.
2806
+ # Corresponds to the JSON property `resolvedConnectedRepository`
2807
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1ConnectedRepository]
2808
+ attr_accessor :resolved_connected_repository
2809
+
2810
+ # Location of the source in any accessible Git repository.
2811
+ # Corresponds to the JSON property `resolvedGitSource`
2812
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1GitSource]
2813
+ attr_accessor :resolved_git_source
2814
+
2815
+ # Location of the source in a Google Cloud Source Repository.
2816
+ # Corresponds to the JSON property `resolvedRepoSource`
2817
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1RepoSource]
2818
+ attr_accessor :resolved_repo_source
2819
+
2820
+ # Location of the source in an archive file in Cloud Storage.
2821
+ # Corresponds to the JSON property `resolvedStorageSource`
2822
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1StorageSource]
2823
+ attr_accessor :resolved_storage_source
2824
+
2825
+ # Location of the source manifest in Cloud Storage. This feature is in Preview;
2826
+ # see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/
2827
+ # tree/master/gcs-fetcher).
2828
+ # Corresponds to the JSON property `resolvedStorageSourceManifest`
2829
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1StorageSourceManifest]
2830
+ attr_accessor :resolved_storage_source_manifest
2831
+
2832
+ def initialize(**args)
2833
+ update!(**args)
2834
+ end
2835
+
2836
+ # Update properties of this object
2837
+ def update!(**args)
2838
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
2839
+ @resolved_connected_repository = args[:resolved_connected_repository] if args.key?(:resolved_connected_repository)
2840
+ @resolved_git_source = args[:resolved_git_source] if args.key?(:resolved_git_source)
2841
+ @resolved_repo_source = args[:resolved_repo_source] if args.key?(:resolved_repo_source)
2842
+ @resolved_storage_source = args[:resolved_storage_source] if args.key?(:resolved_storage_source)
2843
+ @resolved_storage_source_manifest = args[:resolved_storage_source_manifest] if args.key?(:resolved_storage_source_manifest)
2844
+ end
2845
+ end
2846
+
2847
+ # Location of the source in an archive file in Cloud Storage.
2848
+ class GoogleDevtoolsCloudbuildV1StorageSource
2849
+ include Google::Apis::Core::Hashable
2850
+
2851
+ # Cloud Storage bucket containing the source (see [Bucket Name Requirements](
2852
+ # https://cloud.google.com/storage/docs/bucket-naming#requirements)).
2853
+ # Corresponds to the JSON property `bucket`
2854
+ # @return [String]
2855
+ attr_accessor :bucket
2856
+
2857
+ # Cloud Storage generation for the object. If the generation is omitted, the
2858
+ # latest generation will be used.
2859
+ # Corresponds to the JSON property `generation`
2860
+ # @return [Fixnum]
2861
+ attr_accessor :generation
2862
+
2863
+ # Cloud Storage object containing the source. This object must be a zipped (`.
2864
+ # zip`) or gzipped archive file (`.tar.gz`) containing source to build.
2865
+ # Corresponds to the JSON property `object`
2866
+ # @return [String]
2867
+ attr_accessor :object
2868
+
2869
+ # Optional. Option to specify the tool to fetch the source file for the build.
2870
+ # Corresponds to the JSON property `sourceFetcher`
2871
+ # @return [String]
2872
+ attr_accessor :source_fetcher
2873
+
2874
+ def initialize(**args)
2875
+ update!(**args)
2876
+ end
2877
+
2878
+ # Update properties of this object
2879
+ def update!(**args)
2880
+ @bucket = args[:bucket] if args.key?(:bucket)
2881
+ @generation = args[:generation] if args.key?(:generation)
2882
+ @object = args[:object] if args.key?(:object)
2883
+ @source_fetcher = args[:source_fetcher] if args.key?(:source_fetcher)
2884
+ end
2885
+ end
2886
+
2887
+ # Location of the source manifest in Cloud Storage. This feature is in Preview;
2888
+ # see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/
2889
+ # tree/master/gcs-fetcher).
2890
+ class GoogleDevtoolsCloudbuildV1StorageSourceManifest
2891
+ include Google::Apis::Core::Hashable
2892
+
2893
+ # Cloud Storage bucket containing the source manifest (see [Bucket Name
2894
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
2895
+ # ).
2896
+ # Corresponds to the JSON property `bucket`
2897
+ # @return [String]
2898
+ attr_accessor :bucket
2899
+
2900
+ # Cloud Storage generation for the object. If the generation is omitted, the
2901
+ # latest generation will be used.
2902
+ # Corresponds to the JSON property `generation`
2903
+ # @return [Fixnum]
2904
+ attr_accessor :generation
2905
+
2906
+ # Cloud Storage object containing the source manifest. This object must be a
2907
+ # JSON file.
2908
+ # Corresponds to the JSON property `object`
2909
+ # @return [String]
2910
+ attr_accessor :object
2911
+
2912
+ def initialize(**args)
2913
+ update!(**args)
2914
+ end
2915
+
2916
+ # Update properties of this object
2917
+ def update!(**args)
2918
+ @bucket = args[:bucket] if args.key?(:bucket)
2919
+ @generation = args[:generation] if args.key?(:generation)
2920
+ @object = args[:object] if args.key?(:object)
2921
+ end
2922
+ end
2923
+
2924
+ # Start and end times for a build execution phase.
2925
+ class GoogleDevtoolsCloudbuildV1TimeSpan
2926
+ include Google::Apis::Core::Hashable
2927
+
2928
+ # End of time span.
2929
+ # Corresponds to the JSON property `endTime`
2930
+ # @return [String]
2931
+ attr_accessor :end_time
2932
+
2933
+ # Start of time span.
2934
+ # Corresponds to the JSON property `startTime`
2935
+ # @return [String]
2936
+ attr_accessor :start_time
2937
+
2938
+ def initialize(**args)
2939
+ update!(**args)
2940
+ end
2941
+
2942
+ # Update properties of this object
2943
+ def update!(**args)
2944
+ @end_time = args[:end_time] if args.key?(:end_time)
2945
+ @start_time = args[:start_time] if args.key?(:start_time)
2946
+ end
2947
+ end
2948
+
2949
+ # A Maven artifact uploaded using the MavenArtifact directive.
2950
+ class GoogleDevtoolsCloudbuildV1UploadedMavenArtifact
2951
+ include Google::Apis::Core::Hashable
2952
+
2953
+ # Container message for hashes of byte content of files, used in
2954
+ # SourceProvenance messages to verify integrity of source input to the build.
2955
+ # Corresponds to the JSON property `fileHashes`
2956
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1FileHashes]
2957
+ attr_accessor :file_hashes
2958
+
2959
+ # Start and end times for a build execution phase.
2960
+ # Corresponds to the JSON property `pushTiming`
2961
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
2962
+ attr_accessor :push_timing
2963
+
2964
+ # URI of the uploaded artifact.
2965
+ # Corresponds to the JSON property `uri`
2966
+ # @return [String]
2967
+ attr_accessor :uri
2968
+
2969
+ def initialize(**args)
2970
+ update!(**args)
2971
+ end
2972
+
2973
+ # Update properties of this object
2974
+ def update!(**args)
2975
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
2976
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
2977
+ @uri = args[:uri] if args.key?(:uri)
2978
+ end
2979
+ end
2980
+
2981
+ # An npm package uploaded to Artifact Registry using the NpmPackage directive.
2982
+ class GoogleDevtoolsCloudbuildV1UploadedNpmPackage
2983
+ include Google::Apis::Core::Hashable
2984
+
2985
+ # Container message for hashes of byte content of files, used in
2986
+ # SourceProvenance messages to verify integrity of source input to the build.
2987
+ # Corresponds to the JSON property `fileHashes`
2988
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1FileHashes]
2989
+ attr_accessor :file_hashes
2990
+
2991
+ # Start and end times for a build execution phase.
2992
+ # Corresponds to the JSON property `pushTiming`
2993
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
2994
+ attr_accessor :push_timing
2995
+
2996
+ # URI of the uploaded npm package.
2997
+ # Corresponds to the JSON property `uri`
2998
+ # @return [String]
2999
+ attr_accessor :uri
3000
+
3001
+ def initialize(**args)
3002
+ update!(**args)
3003
+ end
3004
+
3005
+ # Update properties of this object
3006
+ def update!(**args)
3007
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
3008
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
3009
+ @uri = args[:uri] if args.key?(:uri)
3010
+ end
3011
+ end
3012
+
3013
+ # Artifact uploaded using the PythonPackage directive.
3014
+ class GoogleDevtoolsCloudbuildV1UploadedPythonPackage
3015
+ include Google::Apis::Core::Hashable
3016
+
3017
+ # Container message for hashes of byte content of files, used in
3018
+ # SourceProvenance messages to verify integrity of source input to the build.
3019
+ # Corresponds to the JSON property `fileHashes`
3020
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1FileHashes]
3021
+ attr_accessor :file_hashes
3022
+
3023
+ # Start and end times for a build execution phase.
3024
+ # Corresponds to the JSON property `pushTiming`
3025
+ # @return [Google::Apis::RunV1::GoogleDevtoolsCloudbuildV1TimeSpan]
3026
+ attr_accessor :push_timing
3027
+
3028
+ # URI of the uploaded artifact.
3029
+ # Corresponds to the JSON property `uri`
3030
+ # @return [String]
3031
+ attr_accessor :uri
3032
+
3033
+ def initialize(**args)
3034
+ update!(**args)
3035
+ end
3036
+
3037
+ # Update properties of this object
3038
+ def update!(**args)
3039
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
3040
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
3041
+ @uri = args[:uri] if args.key?(:uri)
3042
+ end
3043
+ end
3044
+
3045
+ # Volume describes a Docker container volume which is mounted into build steps
3046
+ # in order to persist files across build step execution.
3047
+ class GoogleDevtoolsCloudbuildV1Volume
3048
+ include Google::Apis::Core::Hashable
3049
+
3050
+ # Name of the volume to mount. Volume names must be unique per build step and
3051
+ # must be valid names for Docker volumes. Each named volume must be used by at
3052
+ # least two build steps.
3053
+ # Corresponds to the JSON property `name`
3054
+ # @return [String]
3055
+ attr_accessor :name
3056
+
3057
+ # Path at which to mount the volume. Paths must be absolute and cannot conflict
3058
+ # with other volume paths on the same build step or with certain reserved volume
3059
+ # paths.
3060
+ # Corresponds to the JSON property `path`
3061
+ # @return [String]
3062
+ attr_accessor :path
3063
+
3064
+ def initialize(**args)
3065
+ update!(**args)
3066
+ end
3067
+
3068
+ # Update properties of this object
3069
+ def update!(**args)
3070
+ @name = args[:name] if args.key?(:name)
3071
+ @path = args[:path] if args.key?(:path)
3072
+ end
3073
+ end
3074
+
3075
+ # A non-fatal problem encountered during the execution of the build.
3076
+ class GoogleDevtoolsCloudbuildV1Warning
3077
+ include Google::Apis::Core::Hashable
3078
+
3079
+ # The priority for this warning.
3080
+ # Corresponds to the JSON property `priority`
3081
+ # @return [String]
3082
+ attr_accessor :priority
3083
+
3084
+ # Explanation of the warning generated.
3085
+ # Corresponds to the JSON property `text`
3086
+ # @return [String]
3087
+ attr_accessor :text
3088
+
3089
+ def initialize(**args)
3090
+ update!(**args)
3091
+ end
3092
+
3093
+ # Update properties of this object
3094
+ def update!(**args)
3095
+ @priority = args[:priority] if args.key?(:priority)
3096
+ @text = args[:text] if args.key?(:text)
3097
+ end
3098
+ end
3099
+
1435
3100
  # The response message for Operations.ListOperations.
1436
3101
  class GoogleLongrunningListOperationsResponse
1437
3102
  include Google::Apis::Core::Hashable