google-cloud-deploy-v1 0.20.0 → 1.1.0

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