google-cloud-deploy-v1 1.2.1 → 1.3.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.
@@ -684,6 +684,10 @@ module Google
684
684
  # @return [::Boolean]
685
685
  # Optional. If set to true, the request is validated and the user is provided
686
686
  # with a `RollbackTargetResponse`.
687
+ # @!attribute [rw] override_deploy_policy
688
+ # @return [::Array<::String>]
689
+ # Optional. Deploy policies to override. Format is
690
+ # `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`.
687
691
  class RollbackTargetRequest
688
692
  include ::Google::Protobuf::MessageExts
689
693
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1474,7 +1478,158 @@ module Google
1474
1478
  extend ::Google::Protobuf::MessageExts::ClassMethods
1475
1479
  end
1476
1480
 
1477
- # Contains criteria for selecting Targets.
1481
+ # A `DeployPolicy` resource in the Cloud Deploy API.
1482
+ #
1483
+ # A `DeployPolicy` inhibits manual or automation-driven actions within a
1484
+ # Delivery Pipeline or Target.
1485
+ # @!attribute [r] name
1486
+ # @return [::String]
1487
+ # Output only. Name of the `DeployPolicy`. Format is
1488
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
1489
+ # The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`
1490
+ # @!attribute [r] uid
1491
+ # @return [::String]
1492
+ # Output only. Unique identifier of the `DeployPolicy`.
1493
+ # @!attribute [rw] description
1494
+ # @return [::String]
1495
+ # Description of the `DeployPolicy`. Max length is 255 characters.
1496
+ # @!attribute [rw] annotations
1497
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1498
+ # User annotations. These attributes can only be set and used by the
1499
+ # user, and not by Cloud Deploy. Annotations must meet the following
1500
+ # constraints:
1501
+ #
1502
+ # * Annotations are key/value pairs.
1503
+ # * Valid annotation keys have two segments: an optional prefix and name,
1504
+ # separated by a slash (`/`).
1505
+ # * The name segment is required and must be 63 characters or less,
1506
+ # beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
1507
+ # dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
1508
+ # * The prefix is optional. If specified, the prefix must be a DNS subdomain:
1509
+ # a series of DNS labels separated by dots(`.`), not longer than 253
1510
+ # characters in total, followed by a slash (`/`).
1511
+ #
1512
+ # See
1513
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
1514
+ # for more details.
1515
+ # @!attribute [rw] labels
1516
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1517
+ # Labels are attributes that can be set and used by both the
1518
+ # user and by Cloud Deploy. Labels must meet the following constraints:
1519
+ #
1520
+ # * Keys and values can contain only lowercase letters, numeric characters,
1521
+ # underscores, and dashes.
1522
+ # * All characters must use UTF-8 encoding, and international characters are
1523
+ # allowed.
1524
+ # * Keys must start with a lowercase letter or international character.
1525
+ # * Each resource is limited to a maximum of 64 labels.
1526
+ #
1527
+ # Both keys and values are additionally constrained to be <= 128 bytes.
1528
+ # @!attribute [r] create_time
1529
+ # @return [::Google::Protobuf::Timestamp]
1530
+ # Output only. Time at which the deploy policy was created.
1531
+ # @!attribute [r] update_time
1532
+ # @return [::Google::Protobuf::Timestamp]
1533
+ # Output only. Most recent time at which the deploy policy was updated.
1534
+ # @!attribute [rw] suspended
1535
+ # @return [::Boolean]
1536
+ # When suspended, the policy will not prevent actions from occurring, even
1537
+ # if the action violates the policy.
1538
+ # @!attribute [rw] selectors
1539
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicyResourceSelector>]
1540
+ # Required. Selected resources to which the policy will be applied. At least
1541
+ # one selector is required. If one selector matches the resource the policy
1542
+ # applies. For example, if there are two selectors and the action being
1543
+ # attempted matches one of them, the policy will apply to that action.
1544
+ # @!attribute [rw] rules
1545
+ # @return [::Array<::Google::Cloud::Deploy::V1::PolicyRule>]
1546
+ # Required. Rules to apply. At least one rule must be present.
1547
+ # @!attribute [rw] etag
1548
+ # @return [::String]
1549
+ # The weak etag of the `Automation` resource.
1550
+ # This checksum is computed by the server based on the value of other
1551
+ # fields, and may be sent on update and delete requests to ensure the
1552
+ # client has an up-to-date value before proceeding.
1553
+ class DeployPolicy
1554
+ include ::Google::Protobuf::MessageExts
1555
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1556
+
1557
+ # @!attribute [rw] key
1558
+ # @return [::String]
1559
+ # @!attribute [rw] value
1560
+ # @return [::String]
1561
+ class AnnotationsEntry
1562
+ include ::Google::Protobuf::MessageExts
1563
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1564
+ end
1565
+
1566
+ # @!attribute [rw] key
1567
+ # @return [::String]
1568
+ # @!attribute [rw] value
1569
+ # @return [::String]
1570
+ class LabelsEntry
1571
+ include ::Google::Protobuf::MessageExts
1572
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1573
+ end
1574
+
1575
+ # What invoked the action. Filters enforcing the policy depending on what
1576
+ # invoked the action.
1577
+ module Invoker
1578
+ # Unspecified.
1579
+ INVOKER_UNSPECIFIED = 0
1580
+
1581
+ # The action is user-driven. For example, creating a rollout manually via a
1582
+ # gcloud create command.
1583
+ USER = 1
1584
+
1585
+ # Automated action by Cloud Deploy.
1586
+ DEPLOY_AUTOMATION = 2
1587
+ end
1588
+ end
1589
+
1590
+ # Contains information on the resources to select for a deploy policy.
1591
+ # Attributes provided must all match the resource in order for policy
1592
+ # restrictions to apply. For example, if delivery pipelines attributes given
1593
+ # are an id "prod" and labels "foo: bar", a delivery pipeline resource must
1594
+ # match both that id and have that label in order to be subject to the policy.
1595
+ # @!attribute [rw] delivery_pipeline
1596
+ # @return [::Google::Cloud::Deploy::V1::DeliveryPipelineAttribute]
1597
+ # Optional. Contains attributes about a delivery pipeline.
1598
+ # @!attribute [rw] target
1599
+ # @return [::Google::Cloud::Deploy::V1::TargetAttribute]
1600
+ # Optional. Contains attributes about a target.
1601
+ class DeployPolicyResourceSelector
1602
+ include ::Google::Protobuf::MessageExts
1603
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1604
+ end
1605
+
1606
+ # Contains criteria for selecting DeliveryPipelines.
1607
+ # @!attribute [rw] id
1608
+ # @return [::String]
1609
+ # ID of the `DeliveryPipeline`. The value of this field could be one of the
1610
+ # following:
1611
+ #
1612
+ # * The last segment of a pipeline name
1613
+ # * "*", all delivery pipelines in a location
1614
+ # @!attribute [rw] labels
1615
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1616
+ # DeliveryPipeline labels.
1617
+ class DeliveryPipelineAttribute
1618
+ include ::Google::Protobuf::MessageExts
1619
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1620
+
1621
+ # @!attribute [rw] key
1622
+ # @return [::String]
1623
+ # @!attribute [rw] value
1624
+ # @return [::String]
1625
+ class LabelsEntry
1626
+ include ::Google::Protobuf::MessageExts
1627
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1628
+ end
1629
+ end
1630
+
1631
+ # Contains criteria for selecting Targets. This could be used to select targets
1632
+ # for a Deploy Policy or for an Automation.
1478
1633
  # @!attribute [rw] id
1479
1634
  # @return [::String]
1480
1635
  # ID of the `Target`. The value of this field could be one of the
@@ -1499,6 +1654,153 @@ module Google
1499
1654
  end
1500
1655
  end
1501
1656
 
1657
+ # Deploy Policy rule.
1658
+ # @!attribute [rw] rollout_restriction
1659
+ # @return [::Google::Cloud::Deploy::V1::RolloutRestriction]
1660
+ # Rollout restrictions.
1661
+ class PolicyRule
1662
+ include ::Google::Protobuf::MessageExts
1663
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1664
+ end
1665
+
1666
+ # Rollout restrictions.
1667
+ # @!attribute [rw] id
1668
+ # @return [::String]
1669
+ # Required. Restriction rule ID. Required and must be unique within a
1670
+ # DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
1671
+ # @!attribute [rw] invokers
1672
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy::Invoker>]
1673
+ # Optional. What invoked the action. If left empty, all invoker types will be
1674
+ # restricted.
1675
+ # @!attribute [rw] actions
1676
+ # @return [::Array<::Google::Cloud::Deploy::V1::RolloutRestriction::RolloutActions>]
1677
+ # Optional. Rollout actions to be restricted as part of the policy. If left
1678
+ # empty, all actions will be restricted.
1679
+ # @!attribute [rw] time_windows
1680
+ # @return [::Google::Cloud::Deploy::V1::TimeWindows]
1681
+ # Required. Time window within which actions are restricted.
1682
+ class RolloutRestriction
1683
+ include ::Google::Protobuf::MessageExts
1684
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1685
+
1686
+ # Rollout actions to be restricted as part of the policy.
1687
+ module RolloutActions
1688
+ # Unspecified.
1689
+ ROLLOUT_ACTIONS_UNSPECIFIED = 0
1690
+
1691
+ # Advance the rollout to the next phase.
1692
+ ADVANCE = 1
1693
+
1694
+ # Approve the rollout.
1695
+ APPROVE = 2
1696
+
1697
+ # Cancel the rollout.
1698
+ CANCEL = 3
1699
+
1700
+ # Create a rollout.
1701
+ CREATE = 4
1702
+
1703
+ # Ignore a job result on the rollout.
1704
+ IGNORE_JOB = 5
1705
+
1706
+ # Retry a job for a rollout.
1707
+ RETRY_JOB = 6
1708
+
1709
+ # Rollback a rollout.
1710
+ ROLLBACK = 7
1711
+
1712
+ # Terminate a jobrun.
1713
+ TERMINATE_JOBRUN = 8
1714
+ end
1715
+ end
1716
+
1717
+ # Time windows within which actions are restricted. See the
1718
+ # [documentation](https://cloud.google.com/deploy/docs/deploy-policy#dates_times)
1719
+ # for more information on how to configure dates/times.
1720
+ # @!attribute [rw] time_zone
1721
+ # @return [::String]
1722
+ # Required. The time zone in IANA format [IANA Time Zone
1723
+ # Database](https://www.iana.org/time-zones) (e.g. America/New_York).
1724
+ # @!attribute [rw] one_time_windows
1725
+ # @return [::Array<::Google::Cloud::Deploy::V1::OneTimeWindow>]
1726
+ # Optional. One-time windows within which actions are restricted.
1727
+ # @!attribute [rw] weekly_windows
1728
+ # @return [::Array<::Google::Cloud::Deploy::V1::WeeklyWindow>]
1729
+ # Optional. Recurring weekly windows within which actions are restricted.
1730
+ class TimeWindows
1731
+ include ::Google::Protobuf::MessageExts
1732
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1733
+ end
1734
+
1735
+ # One-time window within which actions are restricted. For example, blocking
1736
+ # actions over New Year's Eve from December 31st at 5pm to January 1st at 9am.
1737
+ # @!attribute [rw] start_date
1738
+ # @return [::Google::Type::Date]
1739
+ # Required. Start date.
1740
+ # @!attribute [rw] start_time
1741
+ # @return [::Google::Type::TimeOfDay]
1742
+ # Required. Start time (inclusive). Use 00:00 for the beginning of the day.
1743
+ # @!attribute [rw] end_date
1744
+ # @return [::Google::Type::Date]
1745
+ # Required. End date.
1746
+ # @!attribute [rw] end_time
1747
+ # @return [::Google::Type::TimeOfDay]
1748
+ # Required. End time (exclusive). You may use 24:00 for the end of the day.
1749
+ class OneTimeWindow
1750
+ include ::Google::Protobuf::MessageExts
1751
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1752
+ end
1753
+
1754
+ # Weekly windows. For example, blocking actions every Saturday and Sunday.
1755
+ # Another example would be blocking actions every weekday from 5pm to midnight.
1756
+ # @!attribute [rw] days_of_week
1757
+ # @return [::Array<::Google::Type::DayOfWeek>]
1758
+ # Optional. Days of week. If left empty, all days of the week will be
1759
+ # included.
1760
+ # @!attribute [rw] start_time
1761
+ # @return [::Google::Type::TimeOfDay]
1762
+ # Optional. Start time (inclusive). Use 00:00 for the beginning of the day.
1763
+ # If you specify start_time you must also specify end_time. If left empty,
1764
+ # this will block for the entire day for the days specified in days_of_week.
1765
+ # @!attribute [rw] end_time
1766
+ # @return [::Google::Type::TimeOfDay]
1767
+ # Optional. End time (exclusive). Use 24:00 to indicate midnight. If you
1768
+ # specify end_time you must also specify start_time. If left empty, this will
1769
+ # block for the entire day for the days specified in days_of_week.
1770
+ class WeeklyWindow
1771
+ include ::Google::Protobuf::MessageExts
1772
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1773
+ end
1774
+
1775
+ # Returned from an action if one or more policies were
1776
+ # violated, and therefore the action was prevented. Contains information about
1777
+ # what policies were violated and why.
1778
+ # @!attribute [rw] policy_violation_details
1779
+ # @return [::Array<::Google::Cloud::Deploy::V1::PolicyViolationDetails>]
1780
+ # Policy violation details.
1781
+ class PolicyViolation
1782
+ include ::Google::Protobuf::MessageExts
1783
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1784
+ end
1785
+
1786
+ # Policy violation details.
1787
+ # @!attribute [rw] policy
1788
+ # @return [::String]
1789
+ # Name of the policy that was violated.
1790
+ # Policy resource will be in the format of
1791
+ # `projects/{project}/locations/{location}/policies/{policy}`.
1792
+ # @!attribute [rw] rule_id
1793
+ # @return [::String]
1794
+ # Id of the rule that triggered the policy violation.
1795
+ # @!attribute [rw] failure_message
1796
+ # @return [::String]
1797
+ # User readable message about why the request violated a policy. This is not
1798
+ # intended for machine parsing.
1799
+ class PolicyViolationDetails
1800
+ include ::Google::Protobuf::MessageExts
1801
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1802
+ end
1803
+
1502
1804
  # A `Release` resource in the Cloud Deploy API.
1503
1805
  #
1504
1806
  # A `Release` defines a specific Skaffold configuration instance
@@ -1782,6 +2084,174 @@ module Google
1782
2084
  end
1783
2085
  end
1784
2086
 
2087
+ # The request object for `CreateDeployPolicy`.
2088
+ # @!attribute [rw] parent
2089
+ # @return [::String]
2090
+ # Required. The parent collection in which the `DeployPolicy` must be
2091
+ # created. The format is `projects/{project_id}/locations/{location_name}`.
2092
+ # @!attribute [rw] deploy_policy_id
2093
+ # @return [::String]
2094
+ # Required. ID of the `DeployPolicy`.
2095
+ # @!attribute [rw] deploy_policy
2096
+ # @return [::Google::Cloud::Deploy::V1::DeployPolicy]
2097
+ # Required. The `DeployPolicy` to create.
2098
+ # @!attribute [rw] request_id
2099
+ # @return [::String]
2100
+ # Optional. A request ID to identify requests. Specify a unique request ID
2101
+ # so that if you must retry your request, the server knows to ignore the
2102
+ # request if it has already been completed. The server guarantees that for
2103
+ # at least 60 minutes after the first request.
2104
+ #
2105
+ # For example, consider a situation where you make an initial request and the
2106
+ # request times out. If you make the request again with the same request ID,
2107
+ # the server can check if original operation with the same request ID was
2108
+ # received, and if so, will ignore the second request. This prevents clients
2109
+ # from accidentally creating duplicate commitments.
2110
+ #
2111
+ # The request ID must be a valid UUID with the exception that zero UUID is
2112
+ # not supported (00000000-0000-0000-0000-000000000000).
2113
+ # @!attribute [rw] validate_only
2114
+ # @return [::Boolean]
2115
+ # Optional. If set to true, the request is validated and the user is provided
2116
+ # with an expected result, but no actual change is made.
2117
+ class CreateDeployPolicyRequest
2118
+ include ::Google::Protobuf::MessageExts
2119
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2120
+ end
2121
+
2122
+ # The request object for `UpdateDeployPolicy`.
2123
+ # @!attribute [rw] update_mask
2124
+ # @return [::Google::Protobuf::FieldMask]
2125
+ # Required. Field mask is used to specify the fields to be overwritten by the
2126
+ # update in the `DeployPolicy` resource. The fields specified in the
2127
+ # update_mask are relative to the resource, not the full request. A field
2128
+ # will be overwritten if it's in the mask. If the user doesn't provide a mask
2129
+ # then all fields are overwritten.
2130
+ # @!attribute [rw] deploy_policy
2131
+ # @return [::Google::Cloud::Deploy::V1::DeployPolicy]
2132
+ # Required. The `DeployPolicy` to update.
2133
+ # @!attribute [rw] request_id
2134
+ # @return [::String]
2135
+ # Optional. A request ID to identify requests. Specify a unique request ID
2136
+ # so that if you must retry your request, the server knows to ignore the
2137
+ # request if it has already been completed. The server guarantees that for
2138
+ # at least 60 minutes after the first request.
2139
+ #
2140
+ # For example, consider a situation where you make an initial request and the
2141
+ # request times out. If you make the request again with the same request ID,
2142
+ # the server can check if original operation with the same request ID was
2143
+ # received, and if so, will ignore the second request. This prevents clients
2144
+ # from accidentally creating duplicate commitments.
2145
+ #
2146
+ # The request ID must be a valid UUID with the exception that zero UUID is
2147
+ # not supported (00000000-0000-0000-0000-000000000000).
2148
+ # @!attribute [rw] allow_missing
2149
+ # @return [::Boolean]
2150
+ # Optional. If set to true, updating a `DeployPolicy` that does not exist
2151
+ # will result in the creation of a new `DeployPolicy`.
2152
+ # @!attribute [rw] validate_only
2153
+ # @return [::Boolean]
2154
+ # Optional. If set to true, the request is validated and the user is provided
2155
+ # with an expected result, but no actual change is made.
2156
+ class UpdateDeployPolicyRequest
2157
+ include ::Google::Protobuf::MessageExts
2158
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2159
+ end
2160
+
2161
+ # The request object for `DeleteDeployPolicy`.
2162
+ # @!attribute [rw] name
2163
+ # @return [::String]
2164
+ # Required. The name of the `DeployPolicy` to delete. The format is
2165
+ # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.
2166
+ # @!attribute [rw] request_id
2167
+ # @return [::String]
2168
+ # Optional. A request ID to identify requests. Specify a unique request ID
2169
+ # so that if you must retry your request, the server knows to ignore the
2170
+ # request if it has already been completed. The server guarantees that for
2171
+ # at least 60 minutes after the first request.
2172
+ #
2173
+ # For example, consider a situation where you make an initial request and the
2174
+ # request times out. If you make the request again with the same request ID,
2175
+ # the server can check if original operation with the same request ID was
2176
+ # received, and if so, will ignore the second request. This prevents clients
2177
+ # from accidentally creating duplicate commitments.
2178
+ #
2179
+ # The request ID must be a valid UUID with the exception that zero UUID is
2180
+ # not supported (00000000-0000-0000-0000-000000000000).
2181
+ # @!attribute [rw] allow_missing
2182
+ # @return [::Boolean]
2183
+ # Optional. If set to true, then deleting an already deleted or non-existing
2184
+ # `DeployPolicy` will succeed.
2185
+ # @!attribute [rw] validate_only
2186
+ # @return [::Boolean]
2187
+ # Optional. If set, validate the request and preview the review, but do not
2188
+ # actually post it.
2189
+ # @!attribute [rw] etag
2190
+ # @return [::String]
2191
+ # Optional. This checksum is computed by the server based on the value of
2192
+ # other fields, and may be sent on update and delete requests to ensure the
2193
+ # client has an up-to-date value before proceeding.
2194
+ class DeleteDeployPolicyRequest
2195
+ include ::Google::Protobuf::MessageExts
2196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2197
+ end
2198
+
2199
+ # The request object for `ListDeployPolicies`.
2200
+ # @!attribute [rw] parent
2201
+ # @return [::String]
2202
+ # Required. The parent, which owns this collection of deploy policies. Format
2203
+ # must be `projects/{project_id}/locations/{location_name}`.
2204
+ # @!attribute [rw] page_size
2205
+ # @return [::Integer]
2206
+ # The maximum number of deploy policies to return. The service may return
2207
+ # fewer than this value. If unspecified, at most 50 deploy policies will
2208
+ # be returned. The maximum value is 1000; values above 1000 will be set
2209
+ # to 1000.
2210
+ # @!attribute [rw] page_token
2211
+ # @return [::String]
2212
+ # A page token, received from a previous `ListDeployPolicies` call.
2213
+ # Provide this to retrieve the subsequent page.
2214
+ #
2215
+ # When paginating, all other provided parameters match
2216
+ # the call that provided the page token.
2217
+ # @!attribute [rw] filter
2218
+ # @return [::String]
2219
+ # Filter deploy policies to be returned. See https://google.aip.dev/160 for
2220
+ # more details. All fields can be used in the filter.
2221
+ # @!attribute [rw] order_by
2222
+ # @return [::String]
2223
+ # Field to sort by. See https://google.aip.dev/132#ordering for more details.
2224
+ class ListDeployPoliciesRequest
2225
+ include ::Google::Protobuf::MessageExts
2226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2227
+ end
2228
+
2229
+ # The response object from `ListDeployPolicies`.
2230
+ # @!attribute [rw] deploy_policies
2231
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy>]
2232
+ # The `DeployPolicy` objects.
2233
+ # @!attribute [rw] next_page_token
2234
+ # @return [::String]
2235
+ # A token, which can be sent as `page_token` to retrieve the next page.
2236
+ # If this field is omitted, there are no subsequent pages.
2237
+ # @!attribute [rw] unreachable
2238
+ # @return [::Array<::String>]
2239
+ # Locations that could not be reached.
2240
+ class ListDeployPoliciesResponse
2241
+ include ::Google::Protobuf::MessageExts
2242
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2243
+ end
2244
+
2245
+ # The request object for `GetDeployPolicy`
2246
+ # @!attribute [rw] name
2247
+ # @return [::String]
2248
+ # Required. Name of the `DeployPolicy`. Format must be
2249
+ # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.
2250
+ class GetDeployPolicyRequest
2251
+ include ::Google::Protobuf::MessageExts
2252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2253
+ end
2254
+
1785
2255
  # Description of an a image to use during Skaffold rendering.
1786
2256
  # @!attribute [rw] image
1787
2257
  # @return [::String]
@@ -1968,6 +2438,10 @@ module Google
1968
2438
  # @return [::Boolean]
1969
2439
  # Optional. If set to true, the request is validated and the user is provided
1970
2440
  # with an expected result, but no actual change is made.
2441
+ # @!attribute [rw] override_deploy_policy
2442
+ # @return [::Array<::String>]
2443
+ # Optional. Deploy policies to override. Format is
2444
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
1971
2445
  class CreateReleaseRequest
1972
2446
  include ::Google::Protobuf::MessageExts
1973
2447
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2556,6 +3030,10 @@ module Google
2556
3030
  # @return [::Boolean]
2557
3031
  # Optional. If set to true, the request is validated and the user is provided
2558
3032
  # with an expected result, but no actual change is made.
3033
+ # @!attribute [rw] override_deploy_policy
3034
+ # @return [::Array<::String>]
3035
+ # Optional. Deploy policies to override. Format is
3036
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2559
3037
  # @!attribute [rw] starting_phase_id
2560
3038
  # @return [::String]
2561
3039
  # Optional. The starting phase ID for the `Rollout`. If empty the `Rollout`
@@ -2604,6 +3082,10 @@ module Google
2604
3082
  # @!attribute [rw] approved
2605
3083
  # @return [::Boolean]
2606
3084
  # Required. True = approve; false = reject
3085
+ # @!attribute [rw] override_deploy_policy
3086
+ # @return [::Array<::String>]
3087
+ # Optional. Deploy policies to override. Format is
3088
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2607
3089
  class ApproveRolloutRequest
2608
3090
  include ::Google::Protobuf::MessageExts
2609
3091
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2623,6 +3105,10 @@ module Google
2623
3105
  # @!attribute [rw] phase_id
2624
3106
  # @return [::String]
2625
3107
  # Required. The phase ID to advance the `Rollout` to.
3108
+ # @!attribute [rw] override_deploy_policy
3109
+ # @return [::Array<::String>]
3110
+ # Optional. Deploy policies to override. Format is
3111
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2626
3112
  class AdvanceRolloutRequest
2627
3113
  include ::Google::Protobuf::MessageExts
2628
3114
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2639,6 +3125,10 @@ module Google
2639
3125
  # @return [::String]
2640
3126
  # Required. Name of the Rollout. Format is
2641
3127
  # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
3128
+ # @!attribute [rw] override_deploy_policy
3129
+ # @return [::Array<::String>]
3130
+ # Optional. Deploy policies to override. Format is
3131
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2642
3132
  class CancelRolloutRequest
2643
3133
  include ::Google::Protobuf::MessageExts
2644
3134
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2661,6 +3151,10 @@ module Google
2661
3151
  # @!attribute [rw] job_id
2662
3152
  # @return [::String]
2663
3153
  # Required. The job ID for the Job to ignore.
3154
+ # @!attribute [rw] override_deploy_policy
3155
+ # @return [::Array<::String>]
3156
+ # Optional. Deploy policies to override. Format is
3157
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2664
3158
  class IgnoreJobRequest
2665
3159
  include ::Google::Protobuf::MessageExts
2666
3160
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2683,6 +3177,10 @@ module Google
2683
3177
  # @!attribute [rw] job_id
2684
3178
  # @return [::String]
2685
3179
  # Required. The job ID for the Job to retry.
3180
+ # @!attribute [rw] override_deploy_policy
3181
+ # @return [::Array<::String>]
3182
+ # Optional. Deploy policies to override. Format is
3183
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2686
3184
  class RetryJobRequest
2687
3185
  include ::Google::Protobuf::MessageExts
2688
3186
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3062,6 +3560,10 @@ module Google
3062
3560
  # @return [::String]
3063
3561
  # Required. Name of the `JobRun`. Format must be
3064
3562
  # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`.
3563
+ # @!attribute [rw] override_deploy_policy
3564
+ # @return [::Array<::String>]
3565
+ # Optional. Deploy policies to override. Format is
3566
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
3065
3567
  class TerminateJobRunRequest
3066
3568
  include ::Google::Protobuf::MessageExts
3067
3569
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3545,6 +4047,10 @@ module Google
3545
4047
  # @return [::String]
3546
4048
  # Output only. Explains the current state of the `AutomationRun`. Present
3547
4049
  # only when an explanation is needed.
4050
+ # @!attribute [r] policy_violation
4051
+ # @return [::Google::Cloud::Deploy::V1::PolicyViolation]
4052
+ # Output only. Contains information about what policies prevented the
4053
+ # `AutomationRun` from proceeding.
3548
4054
  # @!attribute [r] expire_time
3549
4055
  # @return [::Google::Protobuf::Timestamp]
3550
4056
  # Output only. Time the `AutomationRun` expires. An `AutomationRun` expires