google-cloud-deploy-v1 1.2.2 → 1.4.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.
@@ -340,9 +340,35 @@ module Google
340
340
  # @return [::String]
341
341
  # Optional. The label to use when selecting Pods for the Deployment and
342
342
  # Service resources. This label must already be present in both resources.
343
+ # @!attribute [rw] route_destinations
344
+ # @return [::Google::Cloud::Deploy::V1::KubernetesConfig::GatewayServiceMesh::RouteDestinations]
345
+ # Optional. Route destinations allow configuring the Gateway API HTTPRoute
346
+ # to be deployed to additional clusters. This option is available for
347
+ # multi-cluster service mesh set ups that require the route to exist in the
348
+ # clusters that call the service. If unspecified, the HTTPRoute will only
349
+ # be deployed to the Target cluster.
343
350
  class GatewayServiceMesh
344
351
  include ::Google::Protobuf::MessageExts
345
352
  extend ::Google::Protobuf::MessageExts::ClassMethods
353
+
354
+ # Information about route destinations for the Gateway API service mesh.
355
+ # @!attribute [rw] destination_ids
356
+ # @return [::Array<::String>]
357
+ # Required. The clusters where the Gateway API HTTPRoute resource will be
358
+ # deployed to. Valid entries include the associated entities IDs
359
+ # configured in the Target resource and "@self" to include the Target
360
+ # cluster.
361
+ # @!attribute [rw] propagate_service
362
+ # @return [::Boolean]
363
+ # Optional. Whether to propagate the Kubernetes Service to the route
364
+ # destination clusters. The Service will always be deployed to the Target
365
+ # cluster even if the HTTPRoute is not. This option may be used to
366
+ # facilitiate successful DNS lookup in the route destination clusters.
367
+ # Can only be set to true if destinations are specified.
368
+ class RouteDestinations
369
+ include ::Google::Protobuf::MessageExts
370
+ extend ::Google::Protobuf::MessageExts::ClassMethods
371
+ end
346
372
  end
347
373
 
348
374
  # Information about the Kubernetes Service networking configuration.
@@ -684,6 +710,10 @@ module Google
684
710
  # @return [::Boolean]
685
711
  # Optional. If set to true, the request is validated and the user is provided
686
712
  # with a `RollbackTargetResponse`.
713
+ # @!attribute [rw] override_deploy_policy
714
+ # @return [::Array<::String>]
715
+ # Optional. Deploy policies to override. Format is
716
+ # `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`.
687
717
  class RollbackTargetRequest
688
718
  include ::Google::Protobuf::MessageExts
689
719
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -759,6 +789,16 @@ module Google
759
789
  # @!attribute [rw] custom_target
760
790
  # @return [::Google::Cloud::Deploy::V1::CustomTarget]
761
791
  # Optional. Information specifying a Custom Target.
792
+ # @!attribute [rw] associated_entities
793
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Deploy::V1::AssociatedEntities}]
794
+ # Optional. Map of entity IDs to their associated entities. Associated
795
+ # entities allows specifying places other than the deployment target for
796
+ # specific features. For example, the Gateway API canary can be configured to
797
+ # deploy the HTTPRoute to a different cluster(s) than the deployment cluster
798
+ # using associated entities. An entity ID must consist of lower-case letters,
799
+ # numbers, and hyphens, start with a letter and end with a letter or a
800
+ # number, and have a max length of 63 characters. In other words, it must
801
+ # match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
762
802
  # @!attribute [rw] etag
763
803
  # @return [::String]
764
804
  # Optional. This checksum is computed by the server based on the value of
@@ -798,6 +838,15 @@ module Google
798
838
  extend ::Google::Protobuf::MessageExts::ClassMethods
799
839
  end
800
840
 
841
+ # @!attribute [rw] key
842
+ # @return [::String]
843
+ # @!attribute [rw] value
844
+ # @return [::Google::Cloud::Deploy::V1::AssociatedEntities]
845
+ class AssociatedEntitiesEntry
846
+ include ::Google::Protobuf::MessageExts
847
+ extend ::Google::Protobuf::MessageExts::ClassMethods
848
+ end
849
+
801
850
  # @!attribute [rw] key
802
851
  # @return [::String]
803
852
  # @!attribute [rw] value
@@ -923,11 +972,16 @@ module Google
923
972
  #
924
973
  # Only specify this option when `cluster` is a [private GKE
925
974
  # cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).
975
+ # Note that `internal_ip` and `dns_endpoint` cannot both be set to true.
926
976
  # @!attribute [rw] proxy_url
927
977
  # @return [::String]
928
978
  # Optional. If set, used to configure a
929
979
  # [proxy](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#proxy)
930
980
  # to the Kubernetes server.
981
+ # @!attribute [rw] dns_endpoint
982
+ # @return [::Boolean]
983
+ # Optional. If set, the cluster will be accessed using the DNS endpoint. Note
984
+ # that `dns_endpoint` and `internal_ip` cannot both be set to true.
931
985
  class GkeCluster
932
986
  include ::Google::Protobuf::MessageExts
933
987
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -973,6 +1027,18 @@ module Google
973
1027
  extend ::Google::Protobuf::MessageExts::ClassMethods
974
1028
  end
975
1029
 
1030
+ # Information about entities associated with a `Target`.
1031
+ # @!attribute [rw] gke_clusters
1032
+ # @return [::Array<::Google::Cloud::Deploy::V1::GkeCluster>]
1033
+ # Optional. Information specifying GKE clusters as associated entities.
1034
+ # @!attribute [rw] anthos_clusters
1035
+ # @return [::Array<::Google::Cloud::Deploy::V1::AnthosCluster>]
1036
+ # Optional. Information specifying Anthos clusters as associated entities.
1037
+ class AssociatedEntities
1038
+ include ::Google::Protobuf::MessageExts
1039
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1040
+ end
1041
+
976
1042
  # The request object for `ListTargets`.
977
1043
  # @!attribute [rw] parent
978
1044
  # @return [::String]
@@ -1474,7 +1540,158 @@ module Google
1474
1540
  extend ::Google::Protobuf::MessageExts::ClassMethods
1475
1541
  end
1476
1542
 
1477
- # Contains criteria for selecting Targets.
1543
+ # A `DeployPolicy` resource in the Cloud Deploy API.
1544
+ #
1545
+ # A `DeployPolicy` inhibits manual or automation-driven actions within a
1546
+ # Delivery Pipeline or Target.
1547
+ # @!attribute [r] name
1548
+ # @return [::String]
1549
+ # Output only. Name of the `DeployPolicy`. Format is
1550
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
1551
+ # The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`
1552
+ # @!attribute [r] uid
1553
+ # @return [::String]
1554
+ # Output only. Unique identifier of the `DeployPolicy`.
1555
+ # @!attribute [rw] description
1556
+ # @return [::String]
1557
+ # Description of the `DeployPolicy`. Max length is 255 characters.
1558
+ # @!attribute [rw] annotations
1559
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1560
+ # User annotations. These attributes can only be set and used by the
1561
+ # user, and not by Cloud Deploy. Annotations must meet the following
1562
+ # constraints:
1563
+ #
1564
+ # * Annotations are key/value pairs.
1565
+ # * Valid annotation keys have two segments: an optional prefix and name,
1566
+ # separated by a slash (`/`).
1567
+ # * The name segment is required and must be 63 characters or less,
1568
+ # beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
1569
+ # dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
1570
+ # * The prefix is optional. If specified, the prefix must be a DNS subdomain:
1571
+ # a series of DNS labels separated by dots(`.`), not longer than 253
1572
+ # characters in total, followed by a slash (`/`).
1573
+ #
1574
+ # See
1575
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
1576
+ # for more details.
1577
+ # @!attribute [rw] labels
1578
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1579
+ # Labels are attributes that can be set and used by both the
1580
+ # user and by Cloud Deploy. Labels must meet the following constraints:
1581
+ #
1582
+ # * Keys and values can contain only lowercase letters, numeric characters,
1583
+ # underscores, and dashes.
1584
+ # * All characters must use UTF-8 encoding, and international characters are
1585
+ # allowed.
1586
+ # * Keys must start with a lowercase letter or international character.
1587
+ # * Each resource is limited to a maximum of 64 labels.
1588
+ #
1589
+ # Both keys and values are additionally constrained to be <= 128 bytes.
1590
+ # @!attribute [r] create_time
1591
+ # @return [::Google::Protobuf::Timestamp]
1592
+ # Output only. Time at which the deploy policy was created.
1593
+ # @!attribute [r] update_time
1594
+ # @return [::Google::Protobuf::Timestamp]
1595
+ # Output only. Most recent time at which the deploy policy was updated.
1596
+ # @!attribute [rw] suspended
1597
+ # @return [::Boolean]
1598
+ # When suspended, the policy will not prevent actions from occurring, even
1599
+ # if the action violates the policy.
1600
+ # @!attribute [rw] selectors
1601
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicyResourceSelector>]
1602
+ # Required. Selected resources to which the policy will be applied. At least
1603
+ # one selector is required. If one selector matches the resource the policy
1604
+ # applies. For example, if there are two selectors and the action being
1605
+ # attempted matches one of them, the policy will apply to that action.
1606
+ # @!attribute [rw] rules
1607
+ # @return [::Array<::Google::Cloud::Deploy::V1::PolicyRule>]
1608
+ # Required. Rules to apply. At least one rule must be present.
1609
+ # @!attribute [rw] etag
1610
+ # @return [::String]
1611
+ # The weak etag of the `Automation` resource.
1612
+ # This checksum is computed by the server based on the value of other
1613
+ # fields, and may be sent on update and delete requests to ensure the
1614
+ # client has an up-to-date value before proceeding.
1615
+ class DeployPolicy
1616
+ include ::Google::Protobuf::MessageExts
1617
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1618
+
1619
+ # @!attribute [rw] key
1620
+ # @return [::String]
1621
+ # @!attribute [rw] value
1622
+ # @return [::String]
1623
+ class AnnotationsEntry
1624
+ include ::Google::Protobuf::MessageExts
1625
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1626
+ end
1627
+
1628
+ # @!attribute [rw] key
1629
+ # @return [::String]
1630
+ # @!attribute [rw] value
1631
+ # @return [::String]
1632
+ class LabelsEntry
1633
+ include ::Google::Protobuf::MessageExts
1634
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1635
+ end
1636
+
1637
+ # What invoked the action. Filters enforcing the policy depending on what
1638
+ # invoked the action.
1639
+ module Invoker
1640
+ # Unspecified.
1641
+ INVOKER_UNSPECIFIED = 0
1642
+
1643
+ # The action is user-driven. For example, creating a rollout manually via a
1644
+ # gcloud create command.
1645
+ USER = 1
1646
+
1647
+ # Automated action by Cloud Deploy.
1648
+ DEPLOY_AUTOMATION = 2
1649
+ end
1650
+ end
1651
+
1652
+ # Contains information on the resources to select for a deploy policy.
1653
+ # Attributes provided must all match the resource in order for policy
1654
+ # restrictions to apply. For example, if delivery pipelines attributes given
1655
+ # are an id "prod" and labels "foo: bar", a delivery pipeline resource must
1656
+ # match both that id and have that label in order to be subject to the policy.
1657
+ # @!attribute [rw] delivery_pipeline
1658
+ # @return [::Google::Cloud::Deploy::V1::DeliveryPipelineAttribute]
1659
+ # Optional. Contains attributes about a delivery pipeline.
1660
+ # @!attribute [rw] target
1661
+ # @return [::Google::Cloud::Deploy::V1::TargetAttribute]
1662
+ # Optional. Contains attributes about a target.
1663
+ class DeployPolicyResourceSelector
1664
+ include ::Google::Protobuf::MessageExts
1665
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1666
+ end
1667
+
1668
+ # Contains criteria for selecting DeliveryPipelines.
1669
+ # @!attribute [rw] id
1670
+ # @return [::String]
1671
+ # ID of the `DeliveryPipeline`. The value of this field could be one of the
1672
+ # following:
1673
+ #
1674
+ # * The last segment of a pipeline name
1675
+ # * "*", all delivery pipelines in a location
1676
+ # @!attribute [rw] labels
1677
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1678
+ # DeliveryPipeline labels.
1679
+ class DeliveryPipelineAttribute
1680
+ include ::Google::Protobuf::MessageExts
1681
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1682
+
1683
+ # @!attribute [rw] key
1684
+ # @return [::String]
1685
+ # @!attribute [rw] value
1686
+ # @return [::String]
1687
+ class LabelsEntry
1688
+ include ::Google::Protobuf::MessageExts
1689
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1690
+ end
1691
+ end
1692
+
1693
+ # Contains criteria for selecting Targets. This could be used to select targets
1694
+ # for a Deploy Policy or for an Automation.
1478
1695
  # @!attribute [rw] id
1479
1696
  # @return [::String]
1480
1697
  # ID of the `Target`. The value of this field could be one of the
@@ -1499,6 +1716,153 @@ module Google
1499
1716
  end
1500
1717
  end
1501
1718
 
1719
+ # Deploy Policy rule.
1720
+ # @!attribute [rw] rollout_restriction
1721
+ # @return [::Google::Cloud::Deploy::V1::RolloutRestriction]
1722
+ # Rollout restrictions.
1723
+ class PolicyRule
1724
+ include ::Google::Protobuf::MessageExts
1725
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1726
+ end
1727
+
1728
+ # Rollout restrictions.
1729
+ # @!attribute [rw] id
1730
+ # @return [::String]
1731
+ # Required. Restriction rule ID. Required and must be unique within a
1732
+ # DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
1733
+ # @!attribute [rw] invokers
1734
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy::Invoker>]
1735
+ # Optional. What invoked the action. If left empty, all invoker types will be
1736
+ # restricted.
1737
+ # @!attribute [rw] actions
1738
+ # @return [::Array<::Google::Cloud::Deploy::V1::RolloutRestriction::RolloutActions>]
1739
+ # Optional. Rollout actions to be restricted as part of the policy. If left
1740
+ # empty, all actions will be restricted.
1741
+ # @!attribute [rw] time_windows
1742
+ # @return [::Google::Cloud::Deploy::V1::TimeWindows]
1743
+ # Required. Time window within which actions are restricted.
1744
+ class RolloutRestriction
1745
+ include ::Google::Protobuf::MessageExts
1746
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1747
+
1748
+ # Rollout actions to be restricted as part of the policy.
1749
+ module RolloutActions
1750
+ # Unspecified.
1751
+ ROLLOUT_ACTIONS_UNSPECIFIED = 0
1752
+
1753
+ # Advance the rollout to the next phase.
1754
+ ADVANCE = 1
1755
+
1756
+ # Approve the rollout.
1757
+ APPROVE = 2
1758
+
1759
+ # Cancel the rollout.
1760
+ CANCEL = 3
1761
+
1762
+ # Create a rollout.
1763
+ CREATE = 4
1764
+
1765
+ # Ignore a job result on the rollout.
1766
+ IGNORE_JOB = 5
1767
+
1768
+ # Retry a job for a rollout.
1769
+ RETRY_JOB = 6
1770
+
1771
+ # Rollback a rollout.
1772
+ ROLLBACK = 7
1773
+
1774
+ # Terminate a jobrun.
1775
+ TERMINATE_JOBRUN = 8
1776
+ end
1777
+ end
1778
+
1779
+ # Time windows within which actions are restricted. See the
1780
+ # [documentation](https://cloud.google.com/deploy/docs/deploy-policy#dates_times)
1781
+ # for more information on how to configure dates/times.
1782
+ # @!attribute [rw] time_zone
1783
+ # @return [::String]
1784
+ # Required. The time zone in IANA format [IANA Time Zone
1785
+ # Database](https://www.iana.org/time-zones) (e.g. America/New_York).
1786
+ # @!attribute [rw] one_time_windows
1787
+ # @return [::Array<::Google::Cloud::Deploy::V1::OneTimeWindow>]
1788
+ # Optional. One-time windows within which actions are restricted.
1789
+ # @!attribute [rw] weekly_windows
1790
+ # @return [::Array<::Google::Cloud::Deploy::V1::WeeklyWindow>]
1791
+ # Optional. Recurring weekly windows within which actions are restricted.
1792
+ class TimeWindows
1793
+ include ::Google::Protobuf::MessageExts
1794
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1795
+ end
1796
+
1797
+ # One-time window within which actions are restricted. For example, blocking
1798
+ # actions over New Year's Eve from December 31st at 5pm to January 1st at 9am.
1799
+ # @!attribute [rw] start_date
1800
+ # @return [::Google::Type::Date]
1801
+ # Required. Start date.
1802
+ # @!attribute [rw] start_time
1803
+ # @return [::Google::Type::TimeOfDay]
1804
+ # Required. Start time (inclusive). Use 00:00 for the beginning of the day.
1805
+ # @!attribute [rw] end_date
1806
+ # @return [::Google::Type::Date]
1807
+ # Required. End date.
1808
+ # @!attribute [rw] end_time
1809
+ # @return [::Google::Type::TimeOfDay]
1810
+ # Required. End time (exclusive). You may use 24:00 for the end of the day.
1811
+ class OneTimeWindow
1812
+ include ::Google::Protobuf::MessageExts
1813
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1814
+ end
1815
+
1816
+ # Weekly windows. For example, blocking actions every Saturday and Sunday.
1817
+ # Another example would be blocking actions every weekday from 5pm to midnight.
1818
+ # @!attribute [rw] days_of_week
1819
+ # @return [::Array<::Google::Type::DayOfWeek>]
1820
+ # Optional. Days of week. If left empty, all days of the week will be
1821
+ # included.
1822
+ # @!attribute [rw] start_time
1823
+ # @return [::Google::Type::TimeOfDay]
1824
+ # Optional. Start time (inclusive). Use 00:00 for the beginning of the day.
1825
+ # If you specify start_time you must also specify end_time. If left empty,
1826
+ # this will block for the entire day for the days specified in days_of_week.
1827
+ # @!attribute [rw] end_time
1828
+ # @return [::Google::Type::TimeOfDay]
1829
+ # Optional. End time (exclusive). Use 24:00 to indicate midnight. If you
1830
+ # specify end_time you must also specify start_time. If left empty, this will
1831
+ # block for the entire day for the days specified in days_of_week.
1832
+ class WeeklyWindow
1833
+ include ::Google::Protobuf::MessageExts
1834
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1835
+ end
1836
+
1837
+ # Returned from an action if one or more policies were
1838
+ # violated, and therefore the action was prevented. Contains information about
1839
+ # what policies were violated and why.
1840
+ # @!attribute [rw] policy_violation_details
1841
+ # @return [::Array<::Google::Cloud::Deploy::V1::PolicyViolationDetails>]
1842
+ # Policy violation details.
1843
+ class PolicyViolation
1844
+ include ::Google::Protobuf::MessageExts
1845
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1846
+ end
1847
+
1848
+ # Policy violation details.
1849
+ # @!attribute [rw] policy
1850
+ # @return [::String]
1851
+ # Name of the policy that was violated.
1852
+ # Policy resource will be in the format of
1853
+ # `projects/{project}/locations/{location}/policies/{policy}`.
1854
+ # @!attribute [rw] rule_id
1855
+ # @return [::String]
1856
+ # Id of the rule that triggered the policy violation.
1857
+ # @!attribute [rw] failure_message
1858
+ # @return [::String]
1859
+ # User readable message about why the request violated a policy. This is not
1860
+ # intended for machine parsing.
1861
+ class PolicyViolationDetails
1862
+ include ::Google::Protobuf::MessageExts
1863
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1864
+ end
1865
+
1502
1866
  # A `Release` resource in the Cloud Deploy API.
1503
1867
  #
1504
1868
  # A `Release` defines a specific Skaffold configuration instance
@@ -1574,9 +1938,9 @@ module Google
1574
1938
  # client has an up-to-date value before proceeding.
1575
1939
  # @!attribute [rw] skaffold_version
1576
1940
  # @return [::String]
1577
- # The Skaffold version to use when operating on this release, such as
1578
- # "1.20.0". Not all versions are valid; Cloud Deploy supports a specific set
1579
- # of versions.
1941
+ # Optional. The Skaffold version to use when operating on this release, such
1942
+ # as "1.20.0". Not all versions are valid; Cloud Deploy supports a specific
1943
+ # set of versions.
1580
1944
  #
1581
1945
  # If unset, the most recent supported Skaffold version will be used.
1582
1946
  # @!attribute [r] target_artifacts
@@ -1782,6 +2146,174 @@ module Google
1782
2146
  end
1783
2147
  end
1784
2148
 
2149
+ # The request object for `CreateDeployPolicy`.
2150
+ # @!attribute [rw] parent
2151
+ # @return [::String]
2152
+ # Required. The parent collection in which the `DeployPolicy` must be
2153
+ # created. The format is `projects/{project_id}/locations/{location_name}`.
2154
+ # @!attribute [rw] deploy_policy_id
2155
+ # @return [::String]
2156
+ # Required. ID of the `DeployPolicy`.
2157
+ # @!attribute [rw] deploy_policy
2158
+ # @return [::Google::Cloud::Deploy::V1::DeployPolicy]
2159
+ # Required. The `DeployPolicy` to create.
2160
+ # @!attribute [rw] request_id
2161
+ # @return [::String]
2162
+ # Optional. A request ID to identify requests. Specify a unique request ID
2163
+ # so that if you must retry your request, the server knows to ignore the
2164
+ # request if it has already been completed. The server guarantees that for
2165
+ # at least 60 minutes after the first request.
2166
+ #
2167
+ # For example, consider a situation where you make an initial request and the
2168
+ # request times out. If you make the request again with the same request ID,
2169
+ # the server can check if original operation with the same request ID was
2170
+ # received, and if so, will ignore the second request. This prevents clients
2171
+ # from accidentally creating duplicate commitments.
2172
+ #
2173
+ # The request ID must be a valid UUID with the exception that zero UUID is
2174
+ # not supported (00000000-0000-0000-0000-000000000000).
2175
+ # @!attribute [rw] validate_only
2176
+ # @return [::Boolean]
2177
+ # Optional. If set to true, the request is validated and the user is provided
2178
+ # with an expected result, but no actual change is made.
2179
+ class CreateDeployPolicyRequest
2180
+ include ::Google::Protobuf::MessageExts
2181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2182
+ end
2183
+
2184
+ # The request object for `UpdateDeployPolicy`.
2185
+ # @!attribute [rw] update_mask
2186
+ # @return [::Google::Protobuf::FieldMask]
2187
+ # Required. Field mask is used to specify the fields to be overwritten by the
2188
+ # update in the `DeployPolicy` resource. The fields specified in the
2189
+ # update_mask are relative to the resource, not the full request. A field
2190
+ # will be overwritten if it's in the mask. If the user doesn't provide a mask
2191
+ # then all fields are overwritten.
2192
+ # @!attribute [rw] deploy_policy
2193
+ # @return [::Google::Cloud::Deploy::V1::DeployPolicy]
2194
+ # Required. The `DeployPolicy` to update.
2195
+ # @!attribute [rw] request_id
2196
+ # @return [::String]
2197
+ # Optional. A request ID to identify requests. Specify a unique request ID
2198
+ # so that if you must retry your request, the server knows to ignore the
2199
+ # request if it has already been completed. The server guarantees that for
2200
+ # at least 60 minutes after the first request.
2201
+ #
2202
+ # For example, consider a situation where you make an initial request and the
2203
+ # request times out. If you make the request again with the same request ID,
2204
+ # the server can check if original operation with the same request ID was
2205
+ # received, and if so, will ignore the second request. This prevents clients
2206
+ # from accidentally creating duplicate commitments.
2207
+ #
2208
+ # The request ID must be a valid UUID with the exception that zero UUID is
2209
+ # not supported (00000000-0000-0000-0000-000000000000).
2210
+ # @!attribute [rw] allow_missing
2211
+ # @return [::Boolean]
2212
+ # Optional. If set to true, updating a `DeployPolicy` that does not exist
2213
+ # will result in the creation of a new `DeployPolicy`.
2214
+ # @!attribute [rw] validate_only
2215
+ # @return [::Boolean]
2216
+ # Optional. If set to true, the request is validated and the user is provided
2217
+ # with an expected result, but no actual change is made.
2218
+ class UpdateDeployPolicyRequest
2219
+ include ::Google::Protobuf::MessageExts
2220
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2221
+ end
2222
+
2223
+ # The request object for `DeleteDeployPolicy`.
2224
+ # @!attribute [rw] name
2225
+ # @return [::String]
2226
+ # Required. The name of the `DeployPolicy` to delete. The format is
2227
+ # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.
2228
+ # @!attribute [rw] request_id
2229
+ # @return [::String]
2230
+ # Optional. A request ID to identify requests. Specify a unique request ID
2231
+ # so that if you must retry your request, the server knows to ignore the
2232
+ # request if it has already been completed. The server guarantees that for
2233
+ # at least 60 minutes after the first request.
2234
+ #
2235
+ # For example, consider a situation where you make an initial request and the
2236
+ # request times out. If you make the request again with the same request ID,
2237
+ # the server can check if original operation with the same request ID was
2238
+ # received, and if so, will ignore the second request. This prevents clients
2239
+ # from accidentally creating duplicate commitments.
2240
+ #
2241
+ # The request ID must be a valid UUID with the exception that zero UUID is
2242
+ # not supported (00000000-0000-0000-0000-000000000000).
2243
+ # @!attribute [rw] allow_missing
2244
+ # @return [::Boolean]
2245
+ # Optional. If set to true, then deleting an already deleted or non-existing
2246
+ # `DeployPolicy` will succeed.
2247
+ # @!attribute [rw] validate_only
2248
+ # @return [::Boolean]
2249
+ # Optional. If set, validate the request and preview the review, but do not
2250
+ # actually post it.
2251
+ # @!attribute [rw] etag
2252
+ # @return [::String]
2253
+ # Optional. This checksum is computed by the server based on the value of
2254
+ # other fields, and may be sent on update and delete requests to ensure the
2255
+ # client has an up-to-date value before proceeding.
2256
+ class DeleteDeployPolicyRequest
2257
+ include ::Google::Protobuf::MessageExts
2258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2259
+ end
2260
+
2261
+ # The request object for `ListDeployPolicies`.
2262
+ # @!attribute [rw] parent
2263
+ # @return [::String]
2264
+ # Required. The parent, which owns this collection of deploy policies. Format
2265
+ # must be `projects/{project_id}/locations/{location_name}`.
2266
+ # @!attribute [rw] page_size
2267
+ # @return [::Integer]
2268
+ # The maximum number of deploy policies to return. The service may return
2269
+ # fewer than this value. If unspecified, at most 50 deploy policies will
2270
+ # be returned. The maximum value is 1000; values above 1000 will be set
2271
+ # to 1000.
2272
+ # @!attribute [rw] page_token
2273
+ # @return [::String]
2274
+ # A page token, received from a previous `ListDeployPolicies` call.
2275
+ # Provide this to retrieve the subsequent page.
2276
+ #
2277
+ # When paginating, all other provided parameters match
2278
+ # the call that provided the page token.
2279
+ # @!attribute [rw] filter
2280
+ # @return [::String]
2281
+ # Filter deploy policies to be returned. See https://google.aip.dev/160 for
2282
+ # more details. All fields can be used in the filter.
2283
+ # @!attribute [rw] order_by
2284
+ # @return [::String]
2285
+ # Field to sort by. See https://google.aip.dev/132#ordering for more details.
2286
+ class ListDeployPoliciesRequest
2287
+ include ::Google::Protobuf::MessageExts
2288
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2289
+ end
2290
+
2291
+ # The response object from `ListDeployPolicies`.
2292
+ # @!attribute [rw] deploy_policies
2293
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy>]
2294
+ # The `DeployPolicy` objects.
2295
+ # @!attribute [rw] next_page_token
2296
+ # @return [::String]
2297
+ # A token, which can be sent as `page_token` to retrieve the next page.
2298
+ # If this field is omitted, there are no subsequent pages.
2299
+ # @!attribute [rw] unreachable
2300
+ # @return [::Array<::String>]
2301
+ # Locations that could not be reached.
2302
+ class ListDeployPoliciesResponse
2303
+ include ::Google::Protobuf::MessageExts
2304
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2305
+ end
2306
+
2307
+ # The request object for `GetDeployPolicy`
2308
+ # @!attribute [rw] name
2309
+ # @return [::String]
2310
+ # Required. Name of the `DeployPolicy`. Format must be
2311
+ # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.
2312
+ class GetDeployPolicyRequest
2313
+ include ::Google::Protobuf::MessageExts
2314
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2315
+ end
2316
+
1785
2317
  # Description of an a image to use during Skaffold rendering.
1786
2318
  # @!attribute [rw] image
1787
2319
  # @return [::String]
@@ -1968,6 +2500,10 @@ module Google
1968
2500
  # @return [::Boolean]
1969
2501
  # Optional. If set to true, the request is validated and the user is provided
1970
2502
  # with an expected result, but no actual change is made.
2503
+ # @!attribute [rw] override_deploy_policy
2504
+ # @return [::Array<::String>]
2505
+ # Optional. Deploy policies to override. Format is
2506
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
1971
2507
  class CreateReleaseRequest
1972
2508
  include ::Google::Protobuf::MessageExts
1973
2509
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2065,6 +2601,9 @@ module Google
2065
2601
  # @!attribute [r] rolled_back_by_rollouts
2066
2602
  # @return [::Array<::String>]
2067
2603
  # Output only. Names of `Rollouts` that rolled back this `Rollout`.
2604
+ # @!attribute [r] active_repair_automation_run
2605
+ # @return [::String]
2606
+ # Output only. The AutomationRun actively repairing the rollout.
2068
2607
  class Rollout
2069
2608
  include ::Google::Protobuf::MessageExts
2070
2609
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2556,6 +3095,10 @@ module Google
2556
3095
  # @return [::Boolean]
2557
3096
  # Optional. If set to true, the request is validated and the user is provided
2558
3097
  # with an expected result, but no actual change is made.
3098
+ # @!attribute [rw] override_deploy_policy
3099
+ # @return [::Array<::String>]
3100
+ # Optional. Deploy policies to override. Format is
3101
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2559
3102
  # @!attribute [rw] starting_phase_id
2560
3103
  # @return [::String]
2561
3104
  # Optional. The starting phase ID for the `Rollout`. If empty the `Rollout`
@@ -2585,9 +3128,10 @@ module Google
2585
3128
  # @return [::Boolean]
2586
3129
  # Output only. Identifies whether the user has requested cancellation
2587
3130
  # of the operation. Operations that have successfully been cancelled
2588
- # have [Operation.error][] value with a
2589
- # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
2590
- # `Code.CANCELLED`.
3131
+ # have
3132
+ # {::Google::Longrunning::Operation#error google.longrunning.Operation.error}
3133
+ # value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
3134
+ # corresponding to `Code.CANCELLED`.
2591
3135
  # @!attribute [r] api_version
2592
3136
  # @return [::String]
2593
3137
  # Output only. API version used to start the operation.
@@ -2604,6 +3148,10 @@ module Google
2604
3148
  # @!attribute [rw] approved
2605
3149
  # @return [::Boolean]
2606
3150
  # Required. True = approve; false = reject
3151
+ # @!attribute [rw] override_deploy_policy
3152
+ # @return [::Array<::String>]
3153
+ # Optional. Deploy policies to override. Format is
3154
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2607
3155
  class ApproveRolloutRequest
2608
3156
  include ::Google::Protobuf::MessageExts
2609
3157
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2623,6 +3171,10 @@ module Google
2623
3171
  # @!attribute [rw] phase_id
2624
3172
  # @return [::String]
2625
3173
  # Required. The phase ID to advance the `Rollout` to.
3174
+ # @!attribute [rw] override_deploy_policy
3175
+ # @return [::Array<::String>]
3176
+ # Optional. Deploy policies to override. Format is
3177
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2626
3178
  class AdvanceRolloutRequest
2627
3179
  include ::Google::Protobuf::MessageExts
2628
3180
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2639,6 +3191,10 @@ module Google
2639
3191
  # @return [::String]
2640
3192
  # Required. Name of the Rollout. Format is
2641
3193
  # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
3194
+ # @!attribute [rw] override_deploy_policy
3195
+ # @return [::Array<::String>]
3196
+ # Optional. Deploy policies to override. Format is
3197
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2642
3198
  class CancelRolloutRequest
2643
3199
  include ::Google::Protobuf::MessageExts
2644
3200
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2661,6 +3217,10 @@ module Google
2661
3217
  # @!attribute [rw] job_id
2662
3218
  # @return [::String]
2663
3219
  # Required. The job ID for the Job to ignore.
3220
+ # @!attribute [rw] override_deploy_policy
3221
+ # @return [::Array<::String>]
3222
+ # Optional. Deploy policies to override. Format is
3223
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2664
3224
  class IgnoreJobRequest
2665
3225
  include ::Google::Protobuf::MessageExts
2666
3226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2683,6 +3243,10 @@ module Google
2683
3243
  # @!attribute [rw] job_id
2684
3244
  # @return [::String]
2685
3245
  # Required. The job ID for the Job to retry.
3246
+ # @!attribute [rw] override_deploy_policy
3247
+ # @return [::Array<::String>]
3248
+ # Optional. Deploy policies to override. Format is
3249
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2686
3250
  class RetryJobRequest
2687
3251
  include ::Google::Protobuf::MessageExts
2688
3252
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3062,6 +3626,10 @@ module Google
3062
3626
  # @return [::String]
3063
3627
  # Required. Name of the `JobRun`. Format must be
3064
3628
  # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`.
3629
+ # @!attribute [rw] override_deploy_policy
3630
+ # @return [::Array<::String>]
3631
+ # Optional. Deploy policies to override. Format is
3632
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
3065
3633
  class TerminateJobRunRequest
3066
3634
  include ::Google::Protobuf::MessageExts
3067
3635
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3239,11 +3807,51 @@ module Google
3239
3807
  # @return [::Google::Cloud::Deploy::V1::RepairRolloutRule]
3240
3808
  # Optional. The `RepairRolloutRule` will automatically repair a failed
3241
3809
  # rollout.
3810
+ # @!attribute [rw] timed_promote_release_rule
3811
+ # @return [::Google::Cloud::Deploy::V1::TimedPromoteReleaseRule]
3812
+ # Optional. The `TimedPromoteReleaseRule` will automatically promote a
3813
+ # release from the current target(s) to the specified target(s) on a
3814
+ # configured schedule.
3242
3815
  class AutomationRule
3243
3816
  include ::Google::Protobuf::MessageExts
3244
3817
  extend ::Google::Protobuf::MessageExts::ClassMethods
3245
3818
  end
3246
3819
 
3820
+ # The `TimedPromoteReleaseRule` will automatically promote a release from the
3821
+ # current target(s) to the specified target(s) on a configured schedule.
3822
+ # @!attribute [rw] id
3823
+ # @return [::String]
3824
+ # Required. ID of the rule. This ID must be unique in the `Automation`
3825
+ # resource to which this rule belongs. The format is
3826
+ # `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
3827
+ # @!attribute [rw] destination_target_id
3828
+ # @return [::String]
3829
+ # Optional. The ID of the stage in the pipeline to which this `Release` is
3830
+ # deploying. If unspecified, default it to the next stage in the promotion
3831
+ # flow. The value of this field could be one of the following:
3832
+ #
3833
+ # * The last segment of a target name
3834
+ # * "@next", the next target in the promotion sequence
3835
+ # @!attribute [rw] schedule
3836
+ # @return [::String]
3837
+ # Required. Schedule in crontab format. e.g. "0 9 * * 1" for every Monday at
3838
+ # 9am.
3839
+ # @!attribute [rw] time_zone
3840
+ # @return [::String]
3841
+ # Required. The time zone in IANA format [IANA Time Zone
3842
+ # Database](https://www.iana.org/time-zones) (e.g. America/New_York).
3843
+ # @!attribute [r] condition
3844
+ # @return [::Google::Cloud::Deploy::V1::AutomationRuleCondition]
3845
+ # Output only. Information around the state of the Automation rule.
3846
+ # @!attribute [rw] destination_phase
3847
+ # @return [::String]
3848
+ # Optional. The starting phase of the rollout created by this rule. Default
3849
+ # to the first phase.
3850
+ class TimedPromoteReleaseRule
3851
+ include ::Google::Protobuf::MessageExts
3852
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3853
+ end
3854
+
3247
3855
  # The `PromoteRelease` rule will automatically promote a release from the
3248
3856
  # current target to a specified target.
3249
3857
  # @!attribute [rw] id
@@ -3307,6 +3915,14 @@ module Google
3307
3915
  # Required. ID of the rule. This id must be unique in the `Automation`
3308
3916
  # resource to which this rule belongs. The format is
3309
3917
  # `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
3918
+ # @!attribute [rw] phases
3919
+ # @return [::Array<::String>]
3920
+ # Optional. Phases within which jobs are subject to automatic repair actions
3921
+ # on failure. Proceeds only after phase name matched any one in the list, or
3922
+ # for all phases if unspecified. This value must consist of lower-case
3923
+ # letters, numbers, and hyphens, start with a letter and end with a letter or
3924
+ # a number, and have a max length of 63 characters. In other words, it must
3925
+ # match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
3310
3926
  # @!attribute [rw] jobs
3311
3927
  # @return [::Array<::String>]
3312
3928
  # Optional. Jobs to repair. Proceeds only after job name matched any one in
@@ -3319,21 +3935,97 @@ module Google
3319
3935
  # @!attribute [r] condition
3320
3936
  # @return [::Google::Cloud::Deploy::V1::AutomationRuleCondition]
3321
3937
  # Output only. Information around the state of the 'Automation' rule.
3938
+ # @!attribute [rw] repair_phases
3939
+ # @return [::Array<::Google::Cloud::Deploy::V1::RepairPhaseConfig>]
3940
+ # Required. Defines the types of automatic repair phases for failed jobs.
3322
3941
  class RepairRolloutRule
3323
3942
  include ::Google::Protobuf::MessageExts
3324
3943
  extend ::Google::Protobuf::MessageExts::ClassMethods
3325
3944
  end
3326
3945
 
3946
+ # Configuration of the repair phase.
3947
+ # @!attribute [rw] retry
3948
+ # @return [::Google::Cloud::Deploy::V1::Retry]
3949
+ # Optional. Retries a failed job.
3950
+ # @!attribute [rw] rollback
3951
+ # @return [::Google::Cloud::Deploy::V1::Rollback]
3952
+ # Optional. Rolls back a `Rollout`.
3953
+ class RepairPhaseConfig
3954
+ include ::Google::Protobuf::MessageExts
3955
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3956
+ end
3957
+
3958
+ # Retries the failed job.
3959
+ # @!attribute [rw] attempts
3960
+ # @return [::Integer]
3961
+ # Required. Total number of retries. Retry is skipped if set to 0; The
3962
+ # minimum value is 1, and the maximum value is 10.
3963
+ # @!attribute [rw] wait
3964
+ # @return [::Google::Protobuf::Duration]
3965
+ # Optional. How long to wait for the first retry. Default is 0, and the
3966
+ # maximum value is 14d.
3967
+ # @!attribute [rw] backoff_mode
3968
+ # @return [::Google::Cloud::Deploy::V1::BackoffMode]
3969
+ # Optional. The pattern of how wait time will be increased. Default is
3970
+ # linear. Backoff mode will be ignored if `wait` is 0.
3971
+ class Retry
3972
+ include ::Google::Protobuf::MessageExts
3973
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3974
+ end
3975
+
3976
+ # Rolls back a `Rollout`.
3977
+ # @!attribute [rw] destination_phase
3978
+ # @return [::String]
3979
+ # Optional. The starting phase ID for the `Rollout`. If unspecified, the
3980
+ # `Rollout` will start in the stable phase.
3981
+ # @!attribute [rw] disable_rollback_if_rollout_pending
3982
+ # @return [::Boolean]
3983
+ # Optional. If pending rollout exists on the target, the rollback operation
3984
+ # will be aborted.
3985
+ class Rollback
3986
+ include ::Google::Protobuf::MessageExts
3987
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3988
+ end
3989
+
3327
3990
  # `AutomationRuleCondition` contains conditions relevant to an
3328
3991
  # `Automation` rule.
3329
3992
  # @!attribute [rw] targets_present_condition
3330
3993
  # @return [::Google::Cloud::Deploy::V1::TargetsPresentCondition]
3331
3994
  # Optional. Details around targets enumerated in the rule.
3995
+ # @!attribute [rw] timed_promote_release_condition
3996
+ # @return [::Google::Cloud::Deploy::V1::TimedPromoteReleaseCondition]
3997
+ # Optional. TimedPromoteReleaseCondition contains rule conditions specific
3998
+ # to a an Automation with a timed promote release rule defined.
3332
3999
  class AutomationRuleCondition
3333
4000
  include ::Google::Protobuf::MessageExts
3334
4001
  extend ::Google::Protobuf::MessageExts::ClassMethods
3335
4002
  end
3336
4003
 
4004
+ # `TimedPromoteReleaseCondition` contains conditions specific to an Automation
4005
+ # with a Timed Promote Release rule defined.
4006
+ # @!attribute [r] next_promotion_time
4007
+ # @return [::Google::Protobuf::Timestamp]
4008
+ # Output only. When the next scheduled promotion(s) will occur.
4009
+ # @!attribute [r] targets_list
4010
+ # @return [::Array<::Google::Cloud::Deploy::V1::TimedPromoteReleaseCondition::Targets>]
4011
+ # Output only. A list of targets involved in the upcoming timed promotion(s).
4012
+ class TimedPromoteReleaseCondition
4013
+ include ::Google::Protobuf::MessageExts
4014
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4015
+
4016
+ # The targets involved in a single timed promotion.
4017
+ # @!attribute [rw] source_target_id
4018
+ # @return [::String]
4019
+ # Optional. The source target ID.
4020
+ # @!attribute [rw] destination_target_id
4021
+ # @return [::String]
4022
+ # Optional. The destination target ID.
4023
+ class Targets
4024
+ include ::Google::Protobuf::MessageExts
4025
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4026
+ end
4027
+ end
4028
+
3337
4029
  # The request object for `CreateAutomation`.
3338
4030
  # @!attribute [rw] parent
3339
4031
  # @return [::String]
@@ -3535,9 +4227,9 @@ module Google
3535
4227
  # time.
3536
4228
  # @!attribute [r] target_id
3537
4229
  # @return [::String]
3538
- # Output only. The ID of the target that represents the promotion stage that
3539
- # initiates the `AutomationRun`. The value of this field is the last segment
3540
- # of a target name.
4230
+ # Output only. The ID of the source target that initiates the
4231
+ # `AutomationRun`. The value of this field is the last segment of a target
4232
+ # name.
3541
4233
  # @!attribute [r] state
3542
4234
  # @return [::Google::Cloud::Deploy::V1::AutomationRun::State]
3543
4235
  # Output only. Current state of the `AutomationRun`.
@@ -3545,6 +4237,10 @@ module Google
3545
4237
  # @return [::String]
3546
4238
  # Output only. Explains the current state of the `AutomationRun`. Present
3547
4239
  # only when an explanation is needed.
4240
+ # @!attribute [r] policy_violation
4241
+ # @return [::Google::Cloud::Deploy::V1::PolicyViolation]
4242
+ # Output only. Contains information about what policies prevented the
4243
+ # `AutomationRun` from proceeding.
3548
4244
  # @!attribute [r] expire_time
3549
4245
  # @return [::Google::Protobuf::Timestamp]
3550
4246
  # Output only. Time the `AutomationRun` expires. An `AutomationRun` expires
@@ -3564,6 +4260,10 @@ module Google
3564
4260
  # @!attribute [r] repair_rollout_operation
3565
4261
  # @return [::Google::Cloud::Deploy::V1::RepairRolloutOperation]
3566
4262
  # Output only. Repairs a failed 'Rollout'.
4263
+ # @!attribute [r] timed_promote_release_operation
4264
+ # @return [::Google::Cloud::Deploy::V1::TimedPromoteReleaseOperation]
4265
+ # Output only. Promotes a release to a specified 'Target' as defined in a
4266
+ # Timed Promote Release rule.
3567
4267
  # @!attribute [r] wait_until_time
3568
4268
  # @return [::Google::Protobuf::Timestamp]
3569
4269
  # Output only. Earliest time the `AutomationRun` will attempt to resume.
@@ -3639,6 +4339,9 @@ module Google
3639
4339
  # @!attribute [r] rollout
3640
4340
  # @return [::String]
3641
4341
  # Output only. The name of the rollout that initiates the `AutomationRun`.
4342
+ # @!attribute [r] current_repair_phase_index
4343
+ # @return [::Integer]
4344
+ # Output only. The index of the current repair action in the repair sequence.
3642
4345
  # @!attribute [r] repair_phases
3643
4346
  # @return [::Array<::Google::Cloud::Deploy::V1::RepairPhase>]
3644
4347
  # Output only. Records of the repair attempts. Each repair phase may have
@@ -3655,6 +4358,23 @@ module Google
3655
4358
  extend ::Google::Protobuf::MessageExts::ClassMethods
3656
4359
  end
3657
4360
 
4361
+ # Contains the information of an automated timed promote-release operation.
4362
+ # @!attribute [r] target_id
4363
+ # @return [::String]
4364
+ # Output only. The ID of the target that represents the promotion stage to
4365
+ # which the release will be promoted. The value of this field is the last
4366
+ # segment of a target name.
4367
+ # @!attribute [r] release
4368
+ # @return [::String]
4369
+ # Output only. The name of the release to be promoted.
4370
+ # @!attribute [r] phase
4371
+ # @return [::String]
4372
+ # Output only. The starting phase of the rollout created by this operation.
4373
+ class TimedPromoteReleaseOperation
4374
+ include ::Google::Protobuf::MessageExts
4375
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4376
+ end
4377
+
3658
4378
  # RepairPhase tracks the repair attempts that have been made for
3659
4379
  # each `RepairPhaseConfig` specified in the `Automation` resource.
3660
4380
  # @!attribute [r] retry
@@ -3716,6 +4436,9 @@ module Google
3716
4436
  # @!attribute [r] state_desc
3717
4437
  # @return [::String]
3718
4438
  # Output only. Description of the state of the Rollback.
4439
+ # @!attribute [r] disable_rollback_if_rollout_pending
4440
+ # @return [::Boolean]
4441
+ # Output only. If active rollout exists on the target, abort this rollback.
3719
4442
  class RollbackAttempt
3720
4443
  include ::Google::Protobuf::MessageExts
3721
4444
  extend ::Google::Protobuf::MessageExts::ClassMethods