google-cloud-deploy-v1 1.2.2 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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