google-apis-run_v1 0.71.0 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
@@ -2306,7 +3971,7 @@ module Google
2306
3971
  end
2307
3972
 
2308
3973
  # Represents a persistent volume that will be mounted using NFS. This volume
2309
- # will be shared between all instances of the Service and data will not be
3974
+ # will be shared between all instances of the resource and data will not be
2310
3975
  # deleted when the instance is shut down.
2311
3976
  class NfsVolumeSource
2312
3977
  include Google::Apis::Core::Hashable
@@ -4052,7 +5717,7 @@ module Google
4052
5717
  attr_accessor :name
4053
5718
 
4054
5719
  # Represents a persistent volume that will be mounted using NFS. This volume
4055
- # will be shared between all instances of the Service and data will not be
5720
+ # will be shared between all instances of the resource and data will not be
4056
5721
  # deleted when the instance is shut down.
4057
5722
  # Corresponds to the JSON property `nfs`
4058
5723
  # @return [Google::Apis::RunV1::NfsVolumeSource]