google-cloud-deploy-v1 1.0.0 → 1.1.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.
@@ -241,6 +241,8 @@ module Google
241
241
  # Required. The percentage based deployments that will occur as a part of a
242
242
  # `Rollout`. List is expected in ascending order and each integer n is
243
243
  # 0 <= n < 100.
244
+ # If the GatewayServiceMesh is configured for Kubernetes, then the range for
245
+ # n is 0 <= n <= 100.
244
246
  # @!attribute [rw] verify
245
247
  # @return [::Boolean]
246
248
  # Whether to run verify tests after each percentage deployment.
@@ -519,9 +521,8 @@ module Google
519
521
  # The request object for `CreateDeliveryPipeline`.
520
522
  # @!attribute [rw] parent
521
523
  # @return [::String]
522
- # Required. The parent collection in which the `DeliveryPipeline` should be
523
- # created. Format should be
524
- # `projects/{project_id}/locations/{location_name}`.
524
+ # Required. The parent collection in which the `DeliveryPipeline` must be
525
+ # created. The format is `projects/{project_id}/locations/{location_name}`.
525
526
  # @!attribute [rw] delivery_pipeline_id
526
527
  # @return [::String]
527
528
  # Required. ID of the `DeliveryPipeline`.
@@ -555,11 +556,11 @@ module Google
555
556
  # The request object for `UpdateDeliveryPipeline`.
556
557
  # @!attribute [rw] update_mask
557
558
  # @return [::Google::Protobuf::FieldMask]
558
- # Required. Field mask is used to specify the fields to be overwritten in the
559
- # `DeliveryPipeline` resource by the update.
560
- # The fields specified in the update_mask are relative to the resource, not
561
- # the full request. A field will be overwritten if it's in the mask. If the
562
- # user doesn't provide a mask then all fields are overwritten.
559
+ # Required. Field mask is used to specify the fields to be overwritten by the
560
+ # update in the `DeliveryPipeline` resource. The fields specified in the
561
+ # update_mask are relative to the resource, not the full request. A field
562
+ # will be overwritten if it's in the mask. If the user doesn't provide a mask
563
+ # then all fields are overwritten.
563
564
  # @!attribute [rw] delivery_pipeline
564
565
  # @return [::Google::Cloud::Deploy::V1::DeliveryPipeline]
565
566
  # Required. The `DeliveryPipeline` to update.
@@ -594,7 +595,7 @@ module Google
594
595
  # The request object for `DeleteDeliveryPipeline`.
595
596
  # @!attribute [rw] name
596
597
  # @return [::String]
597
- # Required. The name of the `DeliveryPipeline` to delete. Format should be
598
+ # Required. The name of the `DeliveryPipeline` to delete. The format is
598
599
  # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
599
600
  # @!attribute [rw] request_id
600
601
  # @return [::String]
@@ -650,8 +651,8 @@ module Google
650
651
  # The request object for `RollbackTarget`.
651
652
  # @!attribute [rw] name
652
653
  # @return [::String]
653
- # Required. The `DeliveryPipeline` for which the rollback `Rollout` should be
654
- # created. Format should be
654
+ # Required. The `DeliveryPipeline` for which the rollback `Rollout` must be
655
+ # created. The format is
655
656
  # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
656
657
  # @!attribute [rw] target_id
657
658
  # @return [::String]
@@ -675,6 +676,10 @@ module Google
675
676
  # @return [::Boolean]
676
677
  # Optional. If set to true, the request is validated and the user is provided
677
678
  # with a `RollbackTargetResponse`.
679
+ # @!attribute [rw] override_deploy_policy
680
+ # @return [::Array<::String>]
681
+ # Optional. Deploy policies to override. Format is
682
+ # `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`.
678
683
  class RollbackTargetRequest
679
684
  include ::Google::Protobuf::MessageExts
680
685
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -914,6 +919,11 @@ module Google
914
919
  #
915
920
  # Only specify this option when `cluster` is a [private GKE
916
921
  # cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).
922
+ # @!attribute [rw] proxy_url
923
+ # @return [::String]
924
+ # Optional. If set, used to configure a
925
+ # [proxy](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#proxy)
926
+ # to the Kubernetes server.
917
927
  class GkeCluster
918
928
  include ::Google::Protobuf::MessageExts
919
929
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1019,8 +1029,8 @@ module Google
1019
1029
  # The request object for `CreateTarget`.
1020
1030
  # @!attribute [rw] parent
1021
1031
  # @return [::String]
1022
- # Required. The parent collection in which the `Target` should be created.
1023
- # Format should be
1032
+ # Required. The parent collection in which the `Target` must be created.
1033
+ # The format is
1024
1034
  # `projects/{project_id}/locations/{location_name}`.
1025
1035
  # @!attribute [rw] target_id
1026
1036
  # @return [::String]
@@ -1055,11 +1065,11 @@ module Google
1055
1065
  # The request object for `UpdateTarget`.
1056
1066
  # @!attribute [rw] update_mask
1057
1067
  # @return [::Google::Protobuf::FieldMask]
1058
- # Required. Field mask is used to specify the fields to be overwritten in the
1059
- # Target resource by the update.
1060
- # The fields specified in the update_mask are relative to the resource, not
1061
- # the full request. A field will be overwritten if it's in the mask. If the
1062
- # user doesn't provide a mask then all fields are overwritten.
1068
+ # Required. Field mask is used to specify the fields to be overwritten by the
1069
+ # update in the `Target` resource. The fields specified in the update_mask
1070
+ # are relative to the resource, not the full request. A field will be
1071
+ # overwritten if it's in the mask. If the user doesn't provide a mask then
1072
+ # all fields are overwritten.
1063
1073
  # @!attribute [rw] target
1064
1074
  # @return [::Google::Cloud::Deploy::V1::Target]
1065
1075
  # Required. The `Target` to update.
@@ -1094,7 +1104,7 @@ module Google
1094
1104
  # The request object for `DeleteTarget`.
1095
1105
  # @!attribute [rw] name
1096
1106
  # @return [::String]
1097
- # Required. The name of the `Target` to delete. Format should be
1107
+ # Required. The name of the `Target` to delete. The format is
1098
1108
  # `projects/{project_id}/locations/{location_name}/targets/{target_name}`.
1099
1109
  # @!attribute [rw] request_id
1100
1110
  # @return [::String]
@@ -1351,9 +1361,8 @@ module Google
1351
1361
  # The request object for `CreateCustomTargetType`.
1352
1362
  # @!attribute [rw] parent
1353
1363
  # @return [::String]
1354
- # Required. The parent collection in which the `CustomTargetType` should be
1355
- # created. Format should be
1356
- # `projects/{project_id}/locations/{location_name}`.
1364
+ # Required. The parent collection in which the `CustomTargetType` must be
1365
+ # created. The format is `projects/{project_id}/locations/{location_name}`.
1357
1366
  # @!attribute [rw] custom_target_type_id
1358
1367
  # @return [::String]
1359
1368
  # Required. ID of the `CustomTargetType`.
@@ -1387,11 +1396,11 @@ module Google
1387
1396
  # The request object for `UpdateCustomTargetType`.
1388
1397
  # @!attribute [rw] update_mask
1389
1398
  # @return [::Google::Protobuf::FieldMask]
1390
- # Required. Field mask is used to specify the fields to be overwritten in the
1391
- # `CustomTargetType` resource by the update.
1392
- # The fields specified in the update_mask are relative to the resource, not
1393
- # the full request. A field will be overwritten if it's in the mask. If the
1394
- # user doesn't provide a mask then all fields are overwritten.
1399
+ # Required. Field mask is used to specify the fields to be overwritten by the
1400
+ # update in the `CustomTargetType` resource. The fields specified in the
1401
+ # update_mask are relative to the resource, not the full request. A field
1402
+ # will be overwritten if it's in the mask. If the user doesn't provide a mask
1403
+ # then all fields are overwritten.
1395
1404
  # @!attribute [rw] custom_target_type
1396
1405
  # @return [::Google::Cloud::Deploy::V1::CustomTargetType]
1397
1406
  # Required. The `CustomTargetType` to update.
@@ -1461,11 +1470,163 @@ module Google
1461
1470
  extend ::Google::Protobuf::MessageExts::ClassMethods
1462
1471
  end
1463
1472
 
1473
+ # A `DeployPolicy` resource in the Cloud Deploy API.
1474
+ #
1475
+ # A `DeployPolicy` inhibits manual or automation driven actions within a
1476
+ # Delivery Pipeline or Target.
1477
+ # @!attribute [r] name
1478
+ # @return [::String]
1479
+ # Output only. Name of the `DeployPolicy`. Format is
1480
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
1481
+ # The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`
1482
+ # @!attribute [r] uid
1483
+ # @return [::String]
1484
+ # Output only. Unique identifier of the `DeployPolicy`.
1485
+ # @!attribute [rw] description
1486
+ # @return [::String]
1487
+ # Description of the `DeployPolicy`. Max length is 255 characters.
1488
+ # @!attribute [rw] annotations
1489
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1490
+ # User annotations. These attributes can only be set and used by the
1491
+ # user, and not by Cloud Deploy. Annotations must meet the following
1492
+ # constraints:
1493
+ #
1494
+ # * Annotations are key/value pairs.
1495
+ # * Valid annotation keys have two segments: an optional prefix and name,
1496
+ # separated by a slash (`/`).
1497
+ # * The name segment is required and must be 63 characters or less,
1498
+ # beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
1499
+ # dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
1500
+ # * The prefix is optional. If specified, the prefix must be a DNS subdomain:
1501
+ # a series of DNS labels separated by dots(`.`), not longer than 253
1502
+ # characters in total, followed by a slash (`/`).
1503
+ #
1504
+ # See
1505
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
1506
+ # for more details.
1507
+ # @!attribute [rw] labels
1508
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1509
+ # Labels are attributes that can be set and used by both the
1510
+ # user and by Cloud Deploy. Labels must meet the following constraints:
1511
+ #
1512
+ # * Keys and values can contain only lowercase letters, numeric characters,
1513
+ # underscores, and dashes.
1514
+ # * All characters must use UTF-8 encoding, and international characters are
1515
+ # allowed.
1516
+ # * Keys must start with a lowercase letter or international character.
1517
+ # * Each resource is limited to a maximum of 64 labels.
1518
+ #
1519
+ # Both keys and values are additionally constrained to be <= 128 bytes.
1520
+ # @!attribute [r] create_time
1521
+ # @return [::Google::Protobuf::Timestamp]
1522
+ # Output only. Time at which the deploy policy was created.
1523
+ # @!attribute [r] update_time
1524
+ # @return [::Google::Protobuf::Timestamp]
1525
+ # Output only. Most recent time at which the deploy policy was updated.
1526
+ # @!attribute [rw] suspended
1527
+ # @return [::Boolean]
1528
+ # When suspended, the policy will not prevent actions from occurring, even
1529
+ # if the action violates the policy.
1530
+ # @!attribute [rw] selectors
1531
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicyResourceSelector>]
1532
+ # Required. Selected resources to which the policy will be applied. At least
1533
+ # one selector is required. If one selector matches the resource the policy
1534
+ # applies. For example, if there are two selectors and the action being
1535
+ # attempted matches one of them, the policy will apply to that action.
1536
+ # @!attribute [rw] rules
1537
+ # @return [::Array<::Google::Cloud::Deploy::V1::PolicyRule>]
1538
+ # Required. Rules to apply. At least one rule must be present.
1539
+ # @!attribute [rw] etag
1540
+ # @return [::String]
1541
+ # The weak etag of the `Automation` resource.
1542
+ # This checksum is computed by the server based on the value of other
1543
+ # fields, and may be sent on update and delete requests to ensure the
1544
+ # client has an up-to-date value before proceeding.
1545
+ class DeployPolicy
1546
+ include ::Google::Protobuf::MessageExts
1547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1548
+
1549
+ # @!attribute [rw] key
1550
+ # @return [::String]
1551
+ # @!attribute [rw] value
1552
+ # @return [::String]
1553
+ class AnnotationsEntry
1554
+ include ::Google::Protobuf::MessageExts
1555
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1556
+ end
1557
+
1558
+ # @!attribute [rw] key
1559
+ # @return [::String]
1560
+ # @!attribute [rw] value
1561
+ # @return [::String]
1562
+ class LabelsEntry
1563
+ include ::Google::Protobuf::MessageExts
1564
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1565
+ end
1566
+
1567
+ # What invoked the action. Filters enforcing the policy depending on what
1568
+ # invoked the action.
1569
+ module Invoker
1570
+ # Unspecified.
1571
+ INVOKER_UNSPECIFIED = 0
1572
+
1573
+ # The action is user-driven. For example, creating a rollout manually via a
1574
+ # gcloud create command.
1575
+ USER = 1
1576
+
1577
+ # Automated action by Cloud Deploy.
1578
+ DEPLOY_AUTOMATION = 2
1579
+ end
1580
+ end
1581
+
1582
+ # Contains information on the resources to select for a deploy policy.
1583
+ # Attributes provided must all match the resource in order for policy
1584
+ # restrictions to apply. For example, if delivery pipelines attributes given
1585
+ # are an id "prod" and labels "foo: bar", a delivery pipeline resource must
1586
+ # match both that id and have that label in order to be subject to the policy.
1587
+ # @!attribute [rw] delivery_pipeline
1588
+ # @return [::Google::Cloud::Deploy::V1::DeliveryPipelineAttribute]
1589
+ # Optional. Contains attributes about a delivery pipeline.
1590
+ # @!attribute [rw] target
1591
+ # @return [::Google::Cloud::Deploy::V1::TargetAttribute]
1592
+ # Optional. Contains attributes about a target.
1593
+ class DeployPolicyResourceSelector
1594
+ include ::Google::Protobuf::MessageExts
1595
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1596
+ end
1597
+
1598
+ # Contains criteria for selecting DeliveryPipelines.
1599
+ # @!attribute [rw] id
1600
+ # @return [::String]
1601
+ # ID of the `DeliveryPipeline`. The value of this field could be one of the
1602
+ # following:
1603
+ #
1604
+ # * The last segment of a pipeline name. It only needs the ID to determine
1605
+ # which pipeline is being referred to
1606
+ # * "*", all delivery pipelines in a location.
1607
+ # @!attribute [rw] labels
1608
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1609
+ # DeliveryPipeline labels.
1610
+ class DeliveryPipelineAttribute
1611
+ include ::Google::Protobuf::MessageExts
1612
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1613
+
1614
+ # @!attribute [rw] key
1615
+ # @return [::String]
1616
+ # @!attribute [rw] value
1617
+ # @return [::String]
1618
+ class LabelsEntry
1619
+ include ::Google::Protobuf::MessageExts
1620
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1621
+ end
1622
+ end
1623
+
1464
1624
  # Contains criteria for selecting Targets.
1465
1625
  # @!attribute [rw] id
1466
1626
  # @return [::String]
1467
1627
  # ID of the `Target`. The value of this field could be one of the
1468
1628
  # following:
1629
+ #
1469
1630
  # * The last segment of a target name. It only needs the ID to determine
1470
1631
  # which target is being referred to
1471
1632
  # * "*", all targets in a location.
@@ -1486,6 +1647,129 @@ module Google
1486
1647
  end
1487
1648
  end
1488
1649
 
1650
+ # Rule to apply.
1651
+ # @!attribute [rw] restrict_rollouts
1652
+ # @return [::Google::Cloud::Deploy::V1::RestrictRollout]
1653
+ # Rollout restrictions.
1654
+ class PolicyRule
1655
+ include ::Google::Protobuf::MessageExts
1656
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1657
+ end
1658
+
1659
+ # Rollout restrictions.
1660
+ # @!attribute [rw] id
1661
+ # @return [::String]
1662
+ # Optional. Restriction rule ID. Required and must be unique within a
1663
+ # DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
1664
+ # @!attribute [rw] invokers
1665
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy::Invoker>]
1666
+ # Optional. What invoked the action. If left empty, all invoker types will be
1667
+ # restricted.
1668
+ # @!attribute [rw] actions
1669
+ # @return [::Array<::Google::Cloud::Deploy::V1::RestrictRollout::Actions>]
1670
+ # Rollout actions to be restricted as part of the policy. If left empty, all
1671
+ # actions will be restricted.
1672
+ # @!attribute [rw] time_window
1673
+ # @return [::Google::Cloud::Deploy::V1::TimeWindow]
1674
+ # Required. Time window within which actions are restricted.
1675
+ class RestrictRollout
1676
+ include ::Google::Protobuf::MessageExts
1677
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1678
+
1679
+ # Rollout actions to be restricted as part of the policy.
1680
+ module Actions
1681
+ # Unspecified.
1682
+ ACTIONS_UNSPECIFIED = 0
1683
+
1684
+ # Advance the rollout to the next phase.
1685
+ ADVANCE = 1
1686
+
1687
+ # Approve the rollout.
1688
+ APPROVE = 2
1689
+
1690
+ # Cancel the rollout.
1691
+ CANCEL = 3
1692
+
1693
+ # Create a rollout.
1694
+ CREATE = 4
1695
+
1696
+ # Ignore a job result on the rollout.
1697
+ IGNORE_JOB = 5
1698
+
1699
+ # Retry a job for a rollout.
1700
+ RETRY_JOB = 6
1701
+
1702
+ # Rollback a rollout.
1703
+ ROLLBACK = 7
1704
+
1705
+ # Terminate a jobrun.
1706
+ TERMINATE_JOBRUN = 8
1707
+ end
1708
+ end
1709
+
1710
+ # Time window within which actions are restricted.
1711
+ # @!attribute [rw] time_zone
1712
+ # @return [::String]
1713
+ # Required. The time zone in IANA format [IANA Time Zone
1714
+ # Database](https://www.iana.org/time-zones) (e.g. America/New_York).
1715
+ # @!attribute [rw] ranges
1716
+ # @return [::Array<::Google::Cloud::Deploy::V1::Range>]
1717
+ # Required. Range within which actions are restricted.
1718
+ class TimeWindow
1719
+ include ::Google::Protobuf::MessageExts
1720
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1721
+ end
1722
+
1723
+ # Range within which actions are restricted.
1724
+ # @!attribute [rw] start_date
1725
+ # @return [::Google::Type::Date]
1726
+ # Start date.
1727
+ # @!attribute [rw] end_date
1728
+ # @return [::Google::Type::Date]
1729
+ # End date.
1730
+ # @!attribute [rw] start_time_of_day
1731
+ # @return [::Google::Type::TimeOfDay]
1732
+ # Start time of day.
1733
+ # @!attribute [rw] end_time_of_day
1734
+ # @return [::Google::Type::TimeOfDay]
1735
+ # End time of day.
1736
+ # @!attribute [rw] day_of_week
1737
+ # @return [::Array<::Google::Type::DayOfWeek>]
1738
+ # Days of week.
1739
+ class Range
1740
+ include ::Google::Protobuf::MessageExts
1741
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1742
+ end
1743
+
1744
+ # Returned from an action if one or more policies were
1745
+ # violated, and therefore the action was prevented. Contains information about
1746
+ # what policies were violated and why.
1747
+ # @!attribute [rw] policy_violation_details
1748
+ # @return [::Array<::Google::Cloud::Deploy::V1::PolicyViolationDetails>]
1749
+ # Policy violation details.
1750
+ class PolicyViolation
1751
+ include ::Google::Protobuf::MessageExts
1752
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1753
+ end
1754
+
1755
+ # Policy violation details.
1756
+ # @!attribute [rw] policy
1757
+ # @return [::String]
1758
+ # Name of the policy that was violated.
1759
+ # Policy resource will be in the format of
1760
+ # `projects/{project}/locations/{location}/policies/{policy}`.
1761
+ # @!attribute [rw] rule_id
1762
+ # @return [::String]
1763
+ # Id of the rule that triggered the policy violation.
1764
+ # @!attribute [rw] failure_message
1765
+ # @return [::String]
1766
+ # User readable message about why the request violated a policy. This is not
1767
+ # intended for machine parsing.
1768
+ class PolicyViolationDetails
1769
+ include ::Google::Protobuf::MessageExts
1770
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1771
+ end
1772
+
1489
1773
  # A `Release` resource in the Cloud Deploy API.
1490
1774
  #
1491
1775
  # A `Release` defines a specific Skaffold configuration instance
@@ -1769,6 +2053,174 @@ module Google
1769
2053
  end
1770
2054
  end
1771
2055
 
2056
+ # The request object for `CreateDeployPolicy`.
2057
+ # @!attribute [rw] parent
2058
+ # @return [::String]
2059
+ # Required. The parent collection in which the `DeployPolicy` must be
2060
+ # created. The format is `projects/{project_id}/locations/{location_name}`.
2061
+ # @!attribute [rw] deploy_policy_id
2062
+ # @return [::String]
2063
+ # Required. ID of the `DeployPolicy`.
2064
+ # @!attribute [rw] deploy_policy
2065
+ # @return [::Google::Cloud::Deploy::V1::DeployPolicy]
2066
+ # Required. The `DeployPolicy` to create.
2067
+ # @!attribute [rw] request_id
2068
+ # @return [::String]
2069
+ # Optional. A request ID to identify requests. Specify a unique request ID
2070
+ # so that if you must retry your request, the server knows to ignore the
2071
+ # request if it has already been completed. The server guarantees that for
2072
+ # at least 60 minutes after the first request.
2073
+ #
2074
+ # For example, consider a situation where you make an initial request and the
2075
+ # request times out. If you make the request again with the same request ID,
2076
+ # the server can check if original operation with the same request ID was
2077
+ # received, and if so, will ignore the second request. This prevents clients
2078
+ # from accidentally creating duplicate commitments.
2079
+ #
2080
+ # The request ID must be a valid UUID with the exception that zero UUID is
2081
+ # not supported (00000000-0000-0000-0000-000000000000).
2082
+ # @!attribute [rw] validate_only
2083
+ # @return [::Boolean]
2084
+ # Optional. If set to true, the request is validated and the user is provided
2085
+ # with an expected result, but no actual change is made.
2086
+ class CreateDeployPolicyRequest
2087
+ include ::Google::Protobuf::MessageExts
2088
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2089
+ end
2090
+
2091
+ # The request object for `UpdateDeployPolicy`.
2092
+ # @!attribute [rw] update_mask
2093
+ # @return [::Google::Protobuf::FieldMask]
2094
+ # Required. Field mask is used to specify the fields to be overwritten by the
2095
+ # update in the `DeployPolicy` resource. The fields specified in the
2096
+ # update_mask are relative to the resource, not the full request. A field
2097
+ # will be overwritten if it's in the mask. If the user doesn't provide a mask
2098
+ # then all fields are overwritten.
2099
+ # @!attribute [rw] deploy_policy
2100
+ # @return [::Google::Cloud::Deploy::V1::DeployPolicy]
2101
+ # Required. The `DeployPolicy` to update.
2102
+ # @!attribute [rw] request_id
2103
+ # @return [::String]
2104
+ # Optional. A request ID to identify requests. Specify a unique request ID
2105
+ # so that if you must retry your request, the server knows to ignore the
2106
+ # request if it has already been completed. The server guarantees that for
2107
+ # at least 60 minutes after the first request.
2108
+ #
2109
+ # For example, consider a situation where you make an initial request and the
2110
+ # request times out. If you make the request again with the same request ID,
2111
+ # the server can check if original operation with the same request ID was
2112
+ # received, and if so, will ignore the second request. This prevents clients
2113
+ # from accidentally creating duplicate commitments.
2114
+ #
2115
+ # The request ID must be a valid UUID with the exception that zero UUID is
2116
+ # not supported (00000000-0000-0000-0000-000000000000).
2117
+ # @!attribute [rw] allow_missing
2118
+ # @return [::Boolean]
2119
+ # Optional. If set to true, updating a `DeployPolicy` that does not exist
2120
+ # will result in the creation of a new `DeployPolicy`.
2121
+ # @!attribute [rw] validate_only
2122
+ # @return [::Boolean]
2123
+ # Optional. If set to true, the request is validated and the user is provided
2124
+ # with an expected result, but no actual change is made.
2125
+ class UpdateDeployPolicyRequest
2126
+ include ::Google::Protobuf::MessageExts
2127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2128
+ end
2129
+
2130
+ # The request object for `DeleteDeployPolicy`.
2131
+ # @!attribute [rw] name
2132
+ # @return [::String]
2133
+ # Required. The name of the `DeployPolicy` to delete. The format is
2134
+ # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.
2135
+ # @!attribute [rw] request_id
2136
+ # @return [::String]
2137
+ # Optional. A request ID to identify requests. Specify a unique request ID
2138
+ # so that if you must retry your request, the server knows to ignore the
2139
+ # request if it has already been completed. The server guarantees that for
2140
+ # at least 60 minutes after the first request.
2141
+ #
2142
+ # For example, consider a situation where you make an initial request and the
2143
+ # request times out. If you make the request again with the same request ID,
2144
+ # the server can check if original operation with the same request ID was
2145
+ # received, and if so, will ignore the second request. This prevents clients
2146
+ # from accidentally creating duplicate commitments.
2147
+ #
2148
+ # The request ID must be a valid UUID with the exception that zero UUID is
2149
+ # not supported (00000000-0000-0000-0000-000000000000).
2150
+ # @!attribute [rw] allow_missing
2151
+ # @return [::Boolean]
2152
+ # Optional. If set to true, then deleting an already deleted or non-existing
2153
+ # `DeployPolicy` will succeed.
2154
+ # @!attribute [rw] validate_only
2155
+ # @return [::Boolean]
2156
+ # Optional. If set, validate the request and preview the review, but do not
2157
+ # actually post it.
2158
+ # @!attribute [rw] etag
2159
+ # @return [::String]
2160
+ # Optional. This checksum is computed by the server based on the value of
2161
+ # other fields, and may be sent on update and delete requests to ensure the
2162
+ # client has an up-to-date value before proceeding.
2163
+ class DeleteDeployPolicyRequest
2164
+ include ::Google::Protobuf::MessageExts
2165
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2166
+ end
2167
+
2168
+ # The request object for `ListDeployPolicies`.
2169
+ # @!attribute [rw] parent
2170
+ # @return [::String]
2171
+ # Required. The parent, which owns this collection of deploy policies. Format
2172
+ # must be `projects/{project_id}/locations/{location_name}`.
2173
+ # @!attribute [rw] page_size
2174
+ # @return [::Integer]
2175
+ # The maximum number of deploy policies to return. The service may return
2176
+ # fewer than this value. If unspecified, at most 50 deploy policies will
2177
+ # be returned. The maximum value is 1000; values above 1000 will be set
2178
+ # to 1000.
2179
+ # @!attribute [rw] page_token
2180
+ # @return [::String]
2181
+ # A page token, received from a previous `ListDeployPolicies` call.
2182
+ # Provide this to retrieve the subsequent page.
2183
+ #
2184
+ # When paginating, all other provided parameters match
2185
+ # the call that provided the page token.
2186
+ # @!attribute [rw] filter
2187
+ # @return [::String]
2188
+ # Filter deploy policies to be returned. See https://google.aip.dev/160 for
2189
+ # more details. All fields can be used in the filter.
2190
+ # @!attribute [rw] order_by
2191
+ # @return [::String]
2192
+ # Field to sort by. See https://google.aip.dev/132#ordering for more details.
2193
+ class ListDeployPoliciesRequest
2194
+ include ::Google::Protobuf::MessageExts
2195
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2196
+ end
2197
+
2198
+ # The response object from `ListDeployPolicies`.
2199
+ # @!attribute [rw] deploy_policies
2200
+ # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy>]
2201
+ # The `DeployPolicy` objects.
2202
+ # @!attribute [rw] next_page_token
2203
+ # @return [::String]
2204
+ # A token, which can be sent as `page_token` to retrieve the next page.
2205
+ # If this field is omitted, there are no subsequent pages.
2206
+ # @!attribute [rw] unreachable
2207
+ # @return [::Array<::String>]
2208
+ # Locations that could not be reached.
2209
+ class ListDeployPoliciesResponse
2210
+ include ::Google::Protobuf::MessageExts
2211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2212
+ end
2213
+
2214
+ # The request object for `GetDeployPolicy`
2215
+ # @!attribute [rw] name
2216
+ # @return [::String]
2217
+ # Required. Name of the `DeployPolicy`. Format must be
2218
+ # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.
2219
+ class GetDeployPolicyRequest
2220
+ include ::Google::Protobuf::MessageExts
2221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2222
+ end
2223
+
1772
2224
  # Description of an a image to use during Skaffold rendering.
1773
2225
  # @!attribute [rw] image
1774
2226
  # @return [::String]
@@ -1927,8 +2379,8 @@ module Google
1927
2379
  # The request object for `CreateRelease`,
1928
2380
  # @!attribute [rw] parent
1929
2381
  # @return [::String]
1930
- # Required. The parent collection in which the `Release` should be created.
1931
- # Format should be
2382
+ # Required. The parent collection in which the `Release` is created.
2383
+ # The format is
1932
2384
  # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
1933
2385
  # @!attribute [rw] release_id
1934
2386
  # @return [::String]
@@ -1955,6 +2407,10 @@ module Google
1955
2407
  # @return [::Boolean]
1956
2408
  # Optional. If set to true, the request is validated and the user is provided
1957
2409
  # with an expected result, but no actual change is made.
2410
+ # @!attribute [rw] override_deploy_policy
2411
+ # @return [::Array<::String>]
2412
+ # Optional. Deploy policies to override. Format is
2413
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
1958
2414
  class CreateReleaseRequest
1959
2415
  include ::Google::Protobuf::MessageExts
1960
2416
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2236,15 +2692,15 @@ module Google
2236
2692
  # were performed on a rollout.
2237
2693
  # @!attribute [r] promote_automation_run
2238
2694
  # @return [::String]
2239
- # Output only. The ID of the AutomationRun initiated by a promote release
2695
+ # Output only. The name of the AutomationRun initiated by a promote release
2240
2696
  # rule.
2241
2697
  # @!attribute [r] advance_automation_runs
2242
2698
  # @return [::Array<::String>]
2243
- # Output only. The IDs of the AutomationRuns initiated by an advance rollout
2244
- # rule.
2699
+ # Output only. The names of the AutomationRuns initiated by an advance
2700
+ # rollout rule.
2245
2701
  # @!attribute [r] repair_automation_runs
2246
2702
  # @return [::Array<::String>]
2247
- # Output only. The IDs of the AutomationRuns initiated by a repair rollout
2703
+ # Output only. The names of the AutomationRuns initiated by a repair rollout
2248
2704
  # rule.
2249
2705
  class AutomationRolloutMetadata
2250
2706
  include ::Google::Protobuf::MessageExts
@@ -2515,8 +2971,8 @@ module Google
2515
2971
  # CreateRolloutRequest is the request object used by `CreateRollout`.
2516
2972
  # @!attribute [rw] parent
2517
2973
  # @return [::String]
2518
- # Required. The parent collection in which the `Rollout` should be created.
2519
- # Format should be
2974
+ # Required. The parent collection in which the `Rollout` must be created.
2975
+ # The format is
2520
2976
  # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}`.
2521
2977
  # @!attribute [rw] rollout_id
2522
2978
  # @return [::String]
@@ -2543,6 +2999,10 @@ module Google
2543
2999
  # @return [::Boolean]
2544
3000
  # Optional. If set to true, the request is validated and the user is provided
2545
3001
  # with an expected result, but no actual change is made.
3002
+ # @!attribute [rw] override_deploy_policy
3003
+ # @return [::Array<::String>]
3004
+ # Optional. Deploy policies to override. Format is
3005
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2546
3006
  # @!attribute [rw] starting_phase_id
2547
3007
  # @return [::String]
2548
3008
  # Optional. The starting phase ID for the `Rollout`. If empty the `Rollout`
@@ -2591,6 +3051,10 @@ module Google
2591
3051
  # @!attribute [rw] approved
2592
3052
  # @return [::Boolean]
2593
3053
  # Required. True = approve; false = reject
3054
+ # @!attribute [rw] override_deploy_policy
3055
+ # @return [::Array<::String>]
3056
+ # Optional. Deploy policies to override. Format is
3057
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2594
3058
  class ApproveRolloutRequest
2595
3059
  include ::Google::Protobuf::MessageExts
2596
3060
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2610,6 +3074,10 @@ module Google
2610
3074
  # @!attribute [rw] phase_id
2611
3075
  # @return [::String]
2612
3076
  # Required. The phase ID to advance the `Rollout` to.
3077
+ # @!attribute [rw] override_deploy_policy
3078
+ # @return [::Array<::String>]
3079
+ # Optional. Deploy policies to override. Format is
3080
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2613
3081
  class AdvanceRolloutRequest
2614
3082
  include ::Google::Protobuf::MessageExts
2615
3083
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2626,6 +3094,10 @@ module Google
2626
3094
  # @return [::String]
2627
3095
  # Required. Name of the Rollout. Format is
2628
3096
  # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
3097
+ # @!attribute [rw] override_deploy_policy
3098
+ # @return [::Array<::String>]
3099
+ # Optional. Deploy policies to override. Format is
3100
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2629
3101
  class CancelRolloutRequest
2630
3102
  include ::Google::Protobuf::MessageExts
2631
3103
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2648,6 +3120,10 @@ module Google
2648
3120
  # @!attribute [rw] job_id
2649
3121
  # @return [::String]
2650
3122
  # Required. The job ID for the Job to ignore.
3123
+ # @!attribute [rw] override_deploy_policy
3124
+ # @return [::Array<::String>]
3125
+ # Optional. Deploy policies to override. Format is
3126
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2651
3127
  class IgnoreJobRequest
2652
3128
  include ::Google::Protobuf::MessageExts
2653
3129
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2670,6 +3146,10 @@ module Google
2670
3146
  # @!attribute [rw] job_id
2671
3147
  # @return [::String]
2672
3148
  # Required. The job ID for the Job to retry.
3149
+ # @!attribute [rw] override_deploy_policy
3150
+ # @return [::Array<::String>]
3151
+ # Optional. Deploy policies to override. Format is
3152
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
2673
3153
  class RetryJobRequest
2674
3154
  include ::Google::Protobuf::MessageExts
2675
3155
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3049,6 +3529,10 @@ module Google
3049
3529
  # @return [::String]
3050
3530
  # Required. Name of the `JobRun`. Format must be
3051
3531
  # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`.
3532
+ # @!attribute [rw] override_deploy_policy
3533
+ # @return [::Array<::String>]
3534
+ # Optional. Deploy policies to override. Format is
3535
+ # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.
3052
3536
  class TerminateJobRunRequest
3053
3537
  include ::Google::Protobuf::MessageExts
3054
3538
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3231,8 +3715,8 @@ module Google
3231
3715
  extend ::Google::Protobuf::MessageExts::ClassMethods
3232
3716
  end
3233
3717
 
3234
- # `PromoteRelease` rule will automatically promote a release from the current
3235
- # target to a specified target.
3718
+ # The `PromoteRelease` rule will automatically promote a release from the
3719
+ # current target to a specified target.
3236
3720
  # @!attribute [rw] id
3237
3721
  # @return [::String]
3238
3722
  # Required. ID of the rule. This id must be unique in the `Automation`
@@ -3377,8 +3861,8 @@ module Google
3377
3861
  # The request object for `CreateAutomation`.
3378
3862
  # @!attribute [rw] parent
3379
3863
  # @return [::String]
3380
- # Required. The parent collection in which the `Automation` should be
3381
- # created. Format should be
3864
+ # Required. The parent collection in which the `Automation` must be created.
3865
+ # The format is
3382
3866
  # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
3383
3867
  # @!attribute [rw] automation_id
3384
3868
  # @return [::String]
@@ -3413,11 +3897,11 @@ module Google
3413
3897
  # The request object for `UpdateAutomation`.
3414
3898
  # @!attribute [rw] update_mask
3415
3899
  # @return [::Google::Protobuf::FieldMask]
3416
- # Required. Field mask is used to specify the fields to be overwritten in the
3417
- # `Automation` resource by the update.
3418
- # The fields specified in the update_mask are relative to the resource, not
3419
- # the full request. A field will be overwritten if it's in the mask. If the
3420
- # user doesn't provide a mask then all fields are overwritten.
3900
+ # Required. Field mask is used to specify the fields to be overwritten by the
3901
+ # update in the `Automation` resource. The fields specified in the
3902
+ # update_mask are relative to the resource, not the full request. A field
3903
+ # will be overwritten if it's in the mask. If the user doesn't provide a mask
3904
+ # then all fields are overwritten.
3421
3905
  # @!attribute [rw] automation
3422
3906
  # @return [::Google::Cloud::Deploy::V1::Automation]
3423
3907
  # Required. The `Automation` to update.
@@ -3452,7 +3936,7 @@ module Google
3452
3936
  # The request object for `DeleteAutomation`.
3453
3937
  # @!attribute [rw] name
3454
3938
  # @return [::String]
3455
- # Required. The name of the `Automation` to delete. Format should be
3939
+ # Required. The name of the `Automation` to delete. The format is
3456
3940
  # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/automations/{automation_name}`.
3457
3941
  # @!attribute [rw] request_id
3458
3942
  # @return [::String]
@@ -3585,6 +4069,10 @@ module Google
3585
4069
  # @return [::String]
3586
4070
  # Output only. Explains the current state of the `AutomationRun`. Present
3587
4071
  # only when an explanation is needed.
4072
+ # @!attribute [r] policy_violation
4073
+ # @return [::Google::Cloud::Deploy::V1::PolicyViolation]
4074
+ # Output only. Contains information about what policies prevented the
4075
+ # `AutomationRun` to proceed.
3588
4076
  # @!attribute [r] expire_time
3589
4077
  # @return [::Google::Protobuf::Timestamp]
3590
4078
  # Output only. Time the `AutomationRun` expires. An `AutomationRun` expires
@@ -3631,6 +4119,9 @@ module Google
3631
4119
 
3632
4120
  # The `AutomationRun` is pending.
3633
4121
  PENDING = 5
4122
+
4123
+ # The `AutomationRun` was aborted.
4124
+ ABORTED = 6
3634
4125
  end
3635
4126
  end
3636
4127
 
@@ -3689,7 +4180,7 @@ module Google
3689
4180
  end
3690
4181
 
3691
4182
  # RepairPhase tracks the repair attempts that have been made for
3692
- # each `RepairMode` specified in the `Automation` resource.
4183
+ # each `RepairPhaseConfig` specified in the `Automation` resource.
3693
4184
  # @!attribute [r] retry
3694
4185
  # @return [::Google::Cloud::Deploy::V1::RetryPhase]
3695
4186
  # Output only. Records of the retry attempts for retry repair mode.