google-cloud-deploy-v1 0.12.0 → 0.14.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.
@@ -27,8 +27,8 @@ module Google
27
27
  # configuration can progress.
28
28
  # @!attribute [rw] name
29
29
  # @return [::String]
30
- # Optional. Name of the `DeliveryPipeline`. Format is projects/\\{project}/
31
- # locations/\\{location}/deliveryPipelines/[a-z][a-z0-9\-]\\{0,62}.
30
+ # Optional. Name of the `DeliveryPipeline`. Format is
31
+ # `projects/{project}/locations/{location}/deliveryPipelines/[a-z][a-z0-9\-]{0,62}`.
32
32
  # @!attribute [r] uid
33
33
  # @return [::String]
34
34
  # Output only. Unique identifier of the `DeliveryPipeline`.
@@ -180,7 +180,7 @@ module Google
180
180
  # Predeploy contains the predeploy job configuration information.
181
181
  # @!attribute [rw] actions
182
182
  # @return [::Array<::String>]
183
- # Optional. A sequence of skaffold custom actions to invoke during execution
183
+ # Optional. A sequence of Skaffold custom actions to invoke during execution
184
184
  # of the predeploy job.
185
185
  class Predeploy
186
186
  include ::Google::Protobuf::MessageExts
@@ -190,7 +190,7 @@ module Google
190
190
  # Postdeploy contains the postdeploy job configuration information.
191
191
  # @!attribute [rw] actions
192
192
  # @return [::Array<::String>]
193
- # Optional. A sequence of skaffold custom actions to invoke during execution
193
+ # Optional. A sequence of Skaffold custom actions to invoke during execution
194
194
  # of the postdeploy job.
195
195
  class Postdeploy
196
196
  include ::Google::Protobuf::MessageExts
@@ -245,11 +245,11 @@ module Google
245
245
  # @!attribute [rw] predeploy
246
246
  # @return [::Google::Cloud::Deploy::V1::Predeploy]
247
247
  # Optional. Configuration for the predeploy job of the first phase. If this
248
- # is not configured, predeploy job will not be present.
248
+ # is not configured, there will be no predeploy job for this phase.
249
249
  # @!attribute [rw] postdeploy
250
250
  # @return [::Google::Cloud::Deploy::V1::Postdeploy]
251
251
  # Optional. Configuration for the postdeploy job of the last phase. If this
252
- # is not configured, postdeploy job will not be present.
252
+ # is not configured, there will be no postdeploy job for this phase.
253
253
  class CanaryDeployment
254
254
  include ::Google::Protobuf::MessageExts
255
255
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -288,11 +288,11 @@ module Google
288
288
  # @!attribute [rw] predeploy
289
289
  # @return [::Google::Cloud::Deploy::V1::Predeploy]
290
290
  # Optional. Configuration for the predeploy job of this phase. If this is
291
- # not configured, predeploy job will not be present for this phase.
291
+ # not configured, there will be no predeploy job for this phase.
292
292
  # @!attribute [rw] postdeploy
293
293
  # @return [::Google::Cloud::Deploy::V1::Postdeploy]
294
294
  # Optional. Configuration for the postdeploy job of this phase. If this is
295
- # not configured, postdeploy job will not be present for this phase.
295
+ # not configured, there will be no postdeploy job for this phase.
296
296
  class PhaseConfig
297
297
  include ::Google::Protobuf::MessageExts
298
298
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -400,7 +400,7 @@ module Google
400
400
  # @!attribute [rw] missing_targets
401
401
  # @return [::Array<::String>]
402
402
  # The list of Target names that do not exist. For example,
403
- # projects/\\{project_id}/locations/\\{location_name}/targets/\\{target_name}.
403
+ # `projects/{project_id}/locations/{location_name}/targets/{target_name}`.
404
404
  # @!attribute [rw] update_time
405
405
  # @return [::Google::Protobuf::Timestamp]
406
406
  # Last time the condition was updated.
@@ -444,7 +444,7 @@ module Google
444
444
  # @!attribute [rw] parent
445
445
  # @return [::String]
446
446
  # Required. The parent, which owns this collection of pipelines. Format must
447
- # be projects/\\{project_id}/locations/\\{location_name}.
447
+ # be `projects/{project_id}/locations/{location_name}`.
448
448
  # @!attribute [rw] page_size
449
449
  # @return [::Integer]
450
450
  # The maximum number of pipelines to return. The service may return
@@ -490,7 +490,7 @@ module Google
490
490
  # @!attribute [rw] name
491
491
  # @return [::String]
492
492
  # Required. Name of the `DeliveryPipeline`. Format must be
493
- # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}.
493
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
494
494
  class GetDeliveryPipelineRequest
495
495
  include ::Google::Protobuf::MessageExts
496
496
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -500,7 +500,8 @@ module Google
500
500
  # @!attribute [rw] parent
501
501
  # @return [::String]
502
502
  # Required. The parent collection in which the `DeliveryPipeline` should be
503
- # created. Format should be projects/\\{project_id}/locations/\\{location_name}.
503
+ # created. Format should be
504
+ # `projects/{project_id}/locations/{location_name}`.
504
505
  # @!attribute [rw] delivery_pipeline_id
505
506
  # @return [::String]
506
507
  # Required. ID of the `DeliveryPipeline`.
@@ -574,7 +575,7 @@ module Google
574
575
  # @!attribute [rw] name
575
576
  # @return [::String]
576
577
  # Required. The name of the `DeliveryPipeline` to delete. Format should be
577
- # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}.
578
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
578
579
  # @!attribute [rw] request_id
579
580
  # @return [::String]
580
581
  # Optional. A request ID to identify requests. Specify a unique request ID
@@ -613,6 +614,61 @@ module Google
613
614
  extend ::Google::Protobuf::MessageExts::ClassMethods
614
615
  end
615
616
 
617
+ # Configs for the Rollback rollout.
618
+ # @!attribute [rw] rollout
619
+ # @return [::Google::Cloud::Deploy::V1::Rollout]
620
+ # Optional. The rollback `Rollout` to create.
621
+ # @!attribute [rw] starting_phase_id
622
+ # @return [::String]
623
+ # Optional. The starting phase ID for the `Rollout`. If unspecified, the
624
+ # `Rollout` will start in the stable phase.
625
+ class RollbackTargetConfig
626
+ include ::Google::Protobuf::MessageExts
627
+ extend ::Google::Protobuf::MessageExts::ClassMethods
628
+ end
629
+
630
+ # The request object for `RollbackTarget`.
631
+ # @!attribute [rw] name
632
+ # @return [::String]
633
+ # Required. The `DeliveryPipeline` for which the rollback `Rollout` should be
634
+ # created. Format should be
635
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
636
+ # @!attribute [rw] target_id
637
+ # @return [::String]
638
+ # Required. ID of the `Target` that is being rolled back.
639
+ # @!attribute [rw] rollout_id
640
+ # @return [::String]
641
+ # Required. ID of the rollback `Rollout` to create.
642
+ # @!attribute [rw] release_id
643
+ # @return [::String]
644
+ # Optional. ID of the `Release` to roll back to. If this isn't specified, the
645
+ # previous successful `Rollout` to the specified target will be used to
646
+ # determine the `Release`.
647
+ # @!attribute [rw] rollout_to_roll_back
648
+ # @return [::String]
649
+ # Optional. If provided, this must be the latest `Rollout` that is on the
650
+ # `Target`.
651
+ # @!attribute [rw] rollback_config
652
+ # @return [::Google::Cloud::Deploy::V1::RollbackTargetConfig]
653
+ # Optional. Configs for the rollback `Rollout`.
654
+ # @!attribute [rw] validate_only
655
+ # @return [::Boolean]
656
+ # Optional. If set to true, the request is validated and the user is provided
657
+ # with a `RollbackTargetResponse`.
658
+ class RollbackTargetRequest
659
+ include ::Google::Protobuf::MessageExts
660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
661
+ end
662
+
663
+ # The response object from `RollbackTarget`.
664
+ # @!attribute [rw] rollback_config
665
+ # @return [::Google::Cloud::Deploy::V1::RollbackTargetConfig]
666
+ # The config of the rollback `Rollout` created or will be created.
667
+ class RollbackTargetResponse
668
+ include ::Google::Protobuf::MessageExts
669
+ extend ::Google::Protobuf::MessageExts::ClassMethods
670
+ end
671
+
616
672
  # A `Target` resource in the Cloud Deploy API.
617
673
  #
618
674
  # A `Target` defines a location to which a Skaffold configuration
@@ -620,7 +676,7 @@ module Google
620
676
  # @!attribute [rw] name
621
677
  # @return [::String]
622
678
  # Optional. Name of the `Target`. Format is
623
- # projects/\\{project}/locations/\\{location}/targets/[a-z][a-z0-9\-]\\{0,62}.
679
+ # `projects/{project}/locations/{location}/targets/[a-z][a-z0-9\-]{0,62}`.
624
680
  # @!attribute [r] target_id
625
681
  # @return [::String]
626
682
  # Output only. Resource id of the `Target`.
@@ -819,7 +875,7 @@ module Google
819
875
  # @!attribute [rw] cluster
820
876
  # @return [::String]
821
877
  # Information specifying a GKE Cluster. Format is
822
- # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}.
878
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`.
823
879
  # @!attribute [rw] internal_ip
824
880
  # @return [::Boolean]
825
881
  # Optional. If true, `cluster` is accessed using the private IP address of
@@ -869,7 +925,7 @@ module Google
869
925
  # @!attribute [rw] parent
870
926
  # @return [::String]
871
927
  # Required. The parent, which owns this collection of targets. Format must be
872
- # projects/\\{project_id}/locations/\\{location_name}.
928
+ # `projects/{project_id}/locations/{location_name}`.
873
929
  # @!attribute [rw] page_size
874
930
  # @return [::Integer]
875
931
  # Optional. The maximum number of `Target` objects to return. The service may
@@ -916,7 +972,7 @@ module Google
916
972
  # @!attribute [rw] name
917
973
  # @return [::String]
918
974
  # Required. Name of the `Target`. Format must be
919
- # projects/\\{project_id}/locations/\\{location_name}/targets/\\{target_name}.
975
+ # `projects/{project_id}/locations/{location_name}/targets/{target_name}`.
920
976
  class GetTargetRequest
921
977
  include ::Google::Protobuf::MessageExts
922
978
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -927,7 +983,7 @@ module Google
927
983
  # @return [::String]
928
984
  # Required. The parent collection in which the `Target` should be created.
929
985
  # Format should be
930
- # projects/\\{project_id}/locations/\\{location_name}.
986
+ # `projects/{project_id}/locations/{location_name}`.
931
987
  # @!attribute [rw] target_id
932
988
  # @return [::String]
933
989
  # Required. ID of the `Target`.
@@ -1001,7 +1057,7 @@ module Google
1001
1057
  # @!attribute [rw] name
1002
1058
  # @return [::String]
1003
1059
  # Required. The name of the `Target` to delete. Format should be
1004
- # projects/\\{project_id}/locations/\\{location_name}/targets/\\{target_name}.
1060
+ # `projects/{project_id}/locations/{location_name}/targets/{target_name}`.
1005
1061
  # @!attribute [rw] request_id
1006
1062
  # @return [::String]
1007
1063
  # Optional. A request ID to identify requests. Specify a unique request ID
@@ -1035,15 +1091,42 @@ module Google
1035
1091
  extend ::Google::Protobuf::MessageExts::ClassMethods
1036
1092
  end
1037
1093
 
1094
+ # Contains criteria for selecting Targets. Attributes provided must match the
1095
+ # target resource in order for policy restrictions to apply. E.g. if id "prod"
1096
+ # and labels "foo: bar" are given the target resource must match both that id
1097
+ # and have that label in order to be selected.
1098
+ # @!attribute [rw] id
1099
+ # @return [::String]
1100
+ # ID of the `Target`. The value of this field could be one of the
1101
+ # following:
1102
+ # * The last segment of a target name. It only needs the ID to determine
1103
+ # which target is being referred to
1104
+ # * "*", all targets in a location.
1105
+ # @!attribute [rw] labels
1106
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1107
+ # Target labels.
1108
+ class TargetAttribute
1109
+ include ::Google::Protobuf::MessageExts
1110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1111
+
1112
+ # @!attribute [rw] key
1113
+ # @return [::String]
1114
+ # @!attribute [rw] value
1115
+ # @return [::String]
1116
+ class LabelsEntry
1117
+ include ::Google::Protobuf::MessageExts
1118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1119
+ end
1120
+ end
1121
+
1038
1122
  # A `Release` resource in the Cloud Deploy API.
1039
1123
  #
1040
1124
  # A `Release` defines a specific Skaffold configuration instance
1041
1125
  # that can be deployed.
1042
1126
  # @!attribute [rw] name
1043
1127
  # @return [::String]
1044
- # Optional. Name of the `Release`. Format is projects/\\{project}/
1045
- # locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
1046
- # releases/[a-z][a-z0-9\-]\\{0,62}.
1128
+ # Optional. Name of the `Release`. Format is
1129
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/[a-z][a-z0-9\-]{0,62}`.
1047
1130
  # @!attribute [r] uid
1048
1131
  # @return [::String]
1049
1132
  # Output only. Unique identifier of the `Release`.
@@ -1186,6 +1269,11 @@ module Google
1186
1269
  # failure_message for additional details.
1187
1270
  CLOUD_BUILD_REQUEST_FAILED = 3
1188
1271
 
1272
+ # The render operation did not complete successfully because the
1273
+ # verification stanza required for verify was not found on the skaffold
1274
+ # configuration.
1275
+ VERIFICATION_CONFIG_NOT_FOUND = 4
1276
+
1189
1277
  # The render operation did not complete successfully because the custom
1190
1278
  # action required for predeploy or postdeploy was not found in the
1191
1279
  # skaffold configuration. See failure_message for additional details.
@@ -1382,7 +1470,7 @@ module Google
1382
1470
  # @!attribute [r] service
1383
1471
  # @return [::String]
1384
1472
  # Output only. The name of the Cloud Run Service in the rendered manifest.
1385
- # Format is projects/\\{project}/locations/\\{location}/services/\\{service}.
1473
+ # Format is `projects/{project}/locations/{location}/services/{service}`.
1386
1474
  class CloudRunRenderMetadata
1387
1475
  include ::Google::Protobuf::MessageExts
1388
1476
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1448,7 +1536,7 @@ module Google
1448
1536
  # @!attribute [rw] name
1449
1537
  # @return [::String]
1450
1538
  # Required. Name of the `Release`. Format must be
1451
- # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}/releases/\\{release_name}.
1539
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}`.
1452
1540
  class GetReleaseRequest
1453
1541
  include ::Google::Protobuf::MessageExts
1454
1542
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1459,7 +1547,7 @@ module Google
1459
1547
  # @return [::String]
1460
1548
  # Required. The parent collection in which the `Release` should be created.
1461
1549
  # Format should be
1462
- # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}.
1550
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
1463
1551
  # @!attribute [rw] release_id
1464
1552
  # @return [::String]
1465
1553
  # Required. ID of the `Release`.
@@ -1495,9 +1583,8 @@ module Google
1495
1583
  # A `Rollout` contains information around a specific deployment to a `Target`.
1496
1584
  # @!attribute [rw] name
1497
1585
  # @return [::String]
1498
- # Optional. Name of the `Rollout`. Format is projects/\\{project}/
1499
- # locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
1500
- # releases/\\{release}/rollouts/[a-z][a-z0-9\-]\\{0,62}.
1586
+ # Optional. Name of the `Rollout`. Format is
1587
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/[a-z][a-z0-9\-]{0,62}`.
1501
1588
  # @!attribute [r] uid
1502
1589
  # @return [::String]
1503
1590
  # Output only. Unique identifier of the `Rollout`.
@@ -1573,9 +1660,15 @@ module Google
1573
1660
  # Output only. Metadata contains information about the rollout.
1574
1661
  # @!attribute [r] controller_rollout
1575
1662
  # @return [::String]
1576
- # Output only. Name of the `ControllerRollout`. Format is projects/\\{project}/
1577
- # locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
1578
- # releases/\\{release}/rollouts/[a-z][a-z0-9\-]\\{0,62}.
1663
+ # Output only. Name of the `ControllerRollout`. Format is
1664
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/[a-z][a-z0-9\-]{0,62}`.
1665
+ # @!attribute [r] rollback_of_rollout
1666
+ # @return [::String]
1667
+ # Output only. Name of the `Rollout` that is rolled back by this `Rollout`.
1668
+ # Empty if this `Rollout` wasn't created as a rollback.
1669
+ # @!attribute [r] rolled_back_by_rollouts
1670
+ # @return [::Array<::String>]
1671
+ # Output only. Names of `Rollouts` that rolled back this `Rollout`.
1579
1672
  class Rollout
1580
1673
  include ::Google::Protobuf::MessageExts
1581
1674
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1690,6 +1783,10 @@ module Google
1690
1783
  # @return [::Google::Cloud::Deploy::V1::CloudRunMetadata]
1691
1784
  # Output only. The name of the Cloud Run Service that is associated with a
1692
1785
  # `Rollout`.
1786
+ # @!attribute [r] automation
1787
+ # @return [::Google::Cloud::Deploy::V1::AutomationRolloutMetadata]
1788
+ # Output only. AutomationRolloutMetadata contains the information about the
1789
+ # interactions between Automation service and this rollout.
1693
1790
  class Metadata
1694
1791
  include ::Google::Protobuf::MessageExts
1695
1792
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1711,7 +1808,7 @@ module Google
1711
1808
  # @return [::String]
1712
1809
  # Output only. The name of the Cloud Run Service that is associated with a
1713
1810
  # `Rollout`. Format is
1714
- # projects/\\{project}/locations/\\{location}/services/\\{service}.
1811
+ # `projects/{project}/locations/{location}/services/{service}`.
1715
1812
  # @!attribute [r] service_urls
1716
1813
  # @return [::Array<::String>]
1717
1814
  # Output only. The Cloud Run Service urls that are associated with a
@@ -1719,11 +1816,35 @@ module Google
1719
1816
  # @!attribute [r] revision
1720
1817
  # @return [::String]
1721
1818
  # Output only. The Cloud Run Revision id associated with a `Rollout`.
1819
+ # @!attribute [r] job
1820
+ # @return [::String]
1821
+ # Output only. The name of the Cloud Run job that is associated with a
1822
+ # `Rollout`. Format is
1823
+ # `projects/{project}/locations/{location}/jobs/{job_name}`.
1722
1824
  class CloudRunMetadata
1723
1825
  include ::Google::Protobuf::MessageExts
1724
1826
  extend ::Google::Protobuf::MessageExts::ClassMethods
1725
1827
  end
1726
1828
 
1829
+ # AutomationRolloutMetadata contains Automation-related actions that
1830
+ # were performed on a rollout.
1831
+ # @!attribute [r] promote_automation_run
1832
+ # @return [::String]
1833
+ # Output only. The ID of the AutomationRun initiated by a promote release
1834
+ # rule.
1835
+ # @!attribute [r] advance_automation_runs
1836
+ # @return [::Array<::String>]
1837
+ # Output only. The IDs of the AutomationRuns initiated by an advance rollout
1838
+ # rule.
1839
+ # @!attribute [r] repair_automation_runs
1840
+ # @return [::Array<::String>]
1841
+ # Output only. The IDs of the AutomationRuns initiated by a repair rollout
1842
+ # rule.
1843
+ class AutomationRolloutMetadata
1844
+ include ::Google::Protobuf::MessageExts
1845
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1846
+ end
1847
+
1727
1848
  # Phase represents a collection of jobs that are logically grouped together
1728
1849
  # for a `Rollout`.
1729
1850
  # @!attribute [r] id
@@ -1780,12 +1901,10 @@ module Google
1780
1901
  # Output only. The verify Job. Runs after a deploy if the deploy succeeds.
1781
1902
  # @!attribute [r] predeploy_job
1782
1903
  # @return [::Google::Cloud::Deploy::V1::Job]
1783
- # Output only. The predeploy Job. This is the predeploy job in the phase.
1784
- # This is the first job of the phase.
1904
+ # Output only. The predeploy Job, which is the first job on the phase.
1785
1905
  # @!attribute [r] postdeploy_job
1786
1906
  # @return [::Google::Cloud::Deploy::V1::Job]
1787
- # Output only. The postdeploy Job. This is the postdeploy job in the phase.
1788
- # This is the last job of the phase.
1907
+ # Output only. The postdeploy Job, which is the last job on the phase.
1789
1908
  class DeploymentJobs
1790
1909
  include ::Google::Protobuf::MessageExts
1791
1910
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1963,7 +2082,7 @@ module Google
1963
2082
  # @!attribute [rw] name
1964
2083
  # @return [::String]
1965
2084
  # Required. Name of the `Rollout`. Format must be
1966
- # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}/releases/\\{release_name}/rollouts/\\{rollout_name}.
2085
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}`.
1967
2086
  class GetRolloutRequest
1968
2087
  include ::Google::Protobuf::MessageExts
1969
2088
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1974,7 +2093,7 @@ module Google
1974
2093
  # @return [::String]
1975
2094
  # Required. The parent collection in which the `Rollout` should be created.
1976
2095
  # Format should be
1977
- # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}/releases/\\{release_name}.
2096
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}`.
1978
2097
  # @!attribute [rw] rollout_id
1979
2098
  # @return [::String]
1980
2099
  # Required. ID of the `Rollout`.
@@ -2044,8 +2163,7 @@ module Google
2044
2163
  # @!attribute [rw] name
2045
2164
  # @return [::String]
2046
2165
  # Required. Name of the Rollout. Format is
2047
- # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2048
- # releases/\\{release}/rollouts/\\{rollout}.
2166
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
2049
2167
  # @!attribute [rw] approved
2050
2168
  # @return [::Boolean]
2051
2169
  # Required. True = approve; false = reject
@@ -2064,8 +2182,7 @@ module Google
2064
2182
  # @!attribute [rw] name
2065
2183
  # @return [::String]
2066
2184
  # Required. Name of the Rollout. Format is
2067
- # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2068
- # releases/\\{release}/rollouts/\\{rollout}.
2185
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
2069
2186
  # @!attribute [rw] phase_id
2070
2187
  # @return [::String]
2071
2188
  # Required. The phase ID to advance the `Rollout` to.
@@ -2084,8 +2201,7 @@ module Google
2084
2201
  # @!attribute [rw] name
2085
2202
  # @return [::String]
2086
2203
  # Required. Name of the Rollout. Format is
2087
- # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2088
- # releases/\\{release}/rollouts/\\{rollout}.
2204
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
2089
2205
  class CancelRolloutRequest
2090
2206
  include ::Google::Protobuf::MessageExts
2091
2207
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2101,8 +2217,7 @@ module Google
2101
2217
  # @!attribute [rw] rollout
2102
2218
  # @return [::String]
2103
2219
  # Required. Name of the Rollout. Format is
2104
- # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2105
- # releases/\\{release}/rollouts/\\{rollout}.
2220
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
2106
2221
  # @!attribute [rw] phase_id
2107
2222
  # @return [::String]
2108
2223
  # Required. The phase ID the Job to ignore belongs to.
@@ -2124,8 +2239,7 @@ module Google
2124
2239
  # @!attribute [rw] rollout
2125
2240
  # @return [::String]
2126
2241
  # Required. Name of the Rollout. Format is
2127
- # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2128
- # releases/\\{release}/rollouts/\\{rollout}.
2242
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`.
2129
2243
  # @!attribute [rw] phase_id
2130
2244
  # @return [::String]
2131
2245
  # Required. The phase ID the Job to retry belongs to.
@@ -2147,8 +2261,7 @@ module Google
2147
2261
  # @!attribute [rw] name
2148
2262
  # @return [::String]
2149
2263
  # Required. Name of the Release. Format is
2150
- # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2151
- # releases/\\{release}.
2264
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`.
2152
2265
  class AbandonReleaseRequest
2153
2266
  include ::Google::Protobuf::MessageExts
2154
2267
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2166,9 +2279,7 @@ module Google
2166
2279
  # @!attribute [rw] name
2167
2280
  # @return [::String]
2168
2281
  # Optional. Name of the `JobRun`. Format is
2169
- # projects/\\{project}/locations/\\{location}/
2170
- # deliveryPipelines/\\{deliveryPipeline}/releases/\\{releases}/rollouts/
2171
- # \\{rollouts}/jobRuns/\\{uuid}.
2282
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/{rollouts}/jobRuns/{uuid}`.
2172
2283
  # @!attribute [r] uid
2173
2284
  # @return [::String]
2174
2285
  # Output only. Unique identifier of the `JobRun`.
@@ -2244,7 +2355,7 @@ module Google
2244
2355
  # @return [::String]
2245
2356
  # Output only. The resource name of the Cloud Build `Build` object that is
2246
2357
  # used to deploy. Format is
2247
- # projects/\\{project}/locations/\\{location}/builds/\\{build}.
2358
+ # `projects/{project}/locations/{location}/builds/{build}`.
2248
2359
  # @!attribute [r] failure_cause
2249
2360
  # @return [::Google::Cloud::Deploy::V1::DeployJobRun::FailureCause]
2250
2361
  # Output only. The reason the deploy failed. This will always be unspecified
@@ -2276,7 +2387,7 @@ module Google
2276
2387
  # logs.
2277
2388
  EXECUTION_FAILED = 2
2278
2389
 
2279
- # The deploy build did not complete within the alloted time.
2390
+ # The deploy job run did not complete within the alloted time.
2280
2391
  DEADLINE_EXCEEDED = 3
2281
2392
 
2282
2393
  # There were missing resources in the runtime environment required for a
@@ -2294,7 +2405,7 @@ module Google
2294
2405
  # @return [::String]
2295
2406
  # Output only. The resource name of the Cloud Build `Build` object that is
2296
2407
  # used to verify. Format is
2297
- # projects/\\{project}/locations/\\{location}/builds/\\{build}.
2408
+ # `projects/{project}/locations/{location}/builds/{build}`.
2298
2409
  # @!attribute [r] artifact_uri
2299
2410
  # @return [::String]
2300
2411
  # Output only. URI of a directory containing the verify artifacts. This
@@ -2328,7 +2439,7 @@ module Google
2328
2439
  # logs.
2329
2440
  EXECUTION_FAILED = 2
2330
2441
 
2331
- # The verify build did not complete within the alloted time.
2442
+ # The verify job run did not complete within the alloted time.
2332
2443
  DEADLINE_EXCEEDED = 3
2333
2444
 
2334
2445
  # No Skaffold verify configuration was found.
@@ -2345,7 +2456,7 @@ module Google
2345
2456
  # @return [::String]
2346
2457
  # Output only. The resource name of the Cloud Build `Build` object that is
2347
2458
  # used to execute the custom actions associated with the predeploy Job.
2348
- # Format is projects/\\{project}/locations/\\{location}/builds/\\{build}.
2459
+ # Format is `projects/{project}/locations/{location}/builds/{build}`.
2349
2460
  # @!attribute [r] failure_cause
2350
2461
  # @return [::Google::Cloud::Deploy::V1::PredeployJobRun::FailureCause]
2351
2462
  # Output only. The reason the predeploy failed. This will always be
@@ -2372,7 +2483,7 @@ module Google
2372
2483
  # logs.
2373
2484
  EXECUTION_FAILED = 2
2374
2485
 
2375
- # The predeploy build did not complete within the alloted time.
2486
+ # The predeploy job run did not complete within the alloted time.
2376
2487
  DEADLINE_EXCEEDED = 3
2377
2488
 
2378
2489
  # Cloud Build failed to fulfill Cloud Deploy's request. See failure_message
@@ -2386,7 +2497,7 @@ module Google
2386
2497
  # @return [::String]
2387
2498
  # Output only. The resource name of the Cloud Build `Build` object that is
2388
2499
  # used to execute the custom actions associated with the postdeploy Job.
2389
- # Format is projects/\\{project}/locations/\\{location}/builds/\\{build}.
2500
+ # Format is `projects/{project}/locations/{location}/builds/{build}`.
2390
2501
  # @!attribute [r] failure_cause
2391
2502
  # @return [::Google::Cloud::Deploy::V1::PostdeployJobRun::FailureCause]
2392
2503
  # Output only. The reason the postdeploy failed. This will always be
@@ -2413,7 +2524,7 @@ module Google
2413
2524
  # logs.
2414
2525
  EXECUTION_FAILED = 2
2415
2526
 
2416
- # The postdeploy build did not complete within the alloted time.
2527
+ # The postdeploy job run did not complete within the alloted time.
2417
2528
  DEADLINE_EXCEEDED = 3
2418
2529
 
2419
2530
  # Cloud Build failed to fulfill Cloud Deploy's request. See failure_message
@@ -2426,9 +2537,8 @@ module Google
2426
2537
  # createChildRollout `JobRun`.
2427
2538
  # @!attribute [r] rollout
2428
2539
  # @return [::String]
2429
- # Output only. Name of the `ChildRollout`. Format is projects/\\{project}/
2430
- # locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2431
- # releases/\\{release}/rollouts/[a-z][a-z0-9\-]\\{0,62}.
2540
+ # Output only. Name of the `ChildRollout`. Format is
2541
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/[a-z][a-z0-9\-]{0,62}`.
2432
2542
  # @!attribute [r] rollout_phase_id
2433
2543
  # @return [::String]
2434
2544
  # Output only. The ID of the childRollout Phase initiated by this JobRun.
@@ -2441,9 +2551,8 @@ module Google
2441
2551
  # advanceChildRollout `JobRun`.
2442
2552
  # @!attribute [r] rollout
2443
2553
  # @return [::String]
2444
- # Output only. Name of the `ChildRollout`. Format is projects/\\{project}/
2445
- # locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2446
- # releases/\\{release}/rollouts/[a-z][a-z0-9\-]\\{0,62}.
2554
+ # Output only. Name of the `ChildRollout`. Format is
2555
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/[a-z][a-z0-9\-]{0,62}`.
2447
2556
  # @!attribute [r] rollout_phase_id
2448
2557
  # @return [::String]
2449
2558
  # Output only. the ID of the ChildRollout's Phase.
@@ -2502,7 +2611,7 @@ module Google
2502
2611
  # @!attribute [rw] name
2503
2612
  # @return [::String]
2504
2613
  # Required. Name of the `JobRun`. Format must be
2505
- # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}/releases/\\{release_name}/rollouts/\\{rollout_name}/jobRuns/\\{job_run_name}.
2614
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}/jobRuns/{job_run_name}`.
2506
2615
  class GetJobRunRequest
2507
2616
  include ::Google::Protobuf::MessageExts
2508
2617
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2512,8 +2621,7 @@ module Google
2512
2621
  # @!attribute [rw] name
2513
2622
  # @return [::String]
2514
2623
  # Required. Name of the `JobRun`. Format must be
2515
- # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/
2516
- # releases/\\{release}/rollouts/\\{rollout}/jobRuns/\\{jobRun}.
2624
+ # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`.
2517
2625
  class TerminateJobRunRequest
2518
2626
  include ::Google::Protobuf::MessageExts
2519
2627
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2568,6 +2676,732 @@ module Google
2568
2676
  extend ::Google::Protobuf::MessageExts::ClassMethods
2569
2677
  end
2570
2678
 
2679
+ # An `Automation` resource in the Cloud Deploy API.
2680
+ #
2681
+ # An `Automation` enables the automation of manually driven actions for
2682
+ # a Delivery Pipeline, which includes Release promotion amongst Targets,
2683
+ # Rollout repair and Rollout deployment strategy advancement. The intention
2684
+ # of Automation is to reduce manual intervention in the continuous delivery
2685
+ # process.
2686
+ # @!attribute [r] name
2687
+ # @return [::String]
2688
+ # Output only. Name of the `Automation`. Format is
2689
+ # `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}`.
2690
+ # @!attribute [r] uid
2691
+ # @return [::String]
2692
+ # Output only. Unique identifier of the `Automation`.
2693
+ # @!attribute [rw] description
2694
+ # @return [::String]
2695
+ # Optional. Description of the `Automation`. Max length is 255 characters.
2696
+ # @!attribute [r] create_time
2697
+ # @return [::Google::Protobuf::Timestamp]
2698
+ # Output only. Time at which the automation was created.
2699
+ # @!attribute [r] update_time
2700
+ # @return [::Google::Protobuf::Timestamp]
2701
+ # Output only. Time at which the automation was updated.
2702
+ # @!attribute [rw] annotations
2703
+ # @return [::Google::Protobuf::Map{::String => ::String}]
2704
+ # Optional. User annotations. These attributes can only be set and used by
2705
+ # the user, and not by Cloud Deploy. Annotations must meet the following
2706
+ # constraints:
2707
+ #
2708
+ # * Annotations are key/value pairs.
2709
+ # * Valid annotation keys have two segments: an optional prefix and name,
2710
+ # separated by a slash (`/`).
2711
+ # * The name segment is required and must be 63 characters or less,
2712
+ # beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with
2713
+ # dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.
2714
+ # * The prefix is optional. If specified, the prefix must be a DNS subdomain:
2715
+ # a series of DNS labels separated by dots(`.`), not longer than 253
2716
+ # characters in total, followed by a slash (`/`).
2717
+ #
2718
+ # See
2719
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
2720
+ # for more details.
2721
+ # @!attribute [rw] labels
2722
+ # @return [::Google::Protobuf::Map{::String => ::String}]
2723
+ # Optional. Labels are attributes that can be set and used by both the
2724
+ # user and by Cloud Deploy. Labels must meet the following constraints:
2725
+ #
2726
+ # * Keys and values can contain only lowercase letters, numeric characters,
2727
+ # underscores, and dashes.
2728
+ # * All characters must use UTF-8 encoding, and international characters are
2729
+ # allowed.
2730
+ # * Keys must start with a lowercase letter or international character.
2731
+ # * Each resource is limited to a maximum of 64 labels.
2732
+ #
2733
+ # Both keys and values are additionally constrained to be <= 63 characters.
2734
+ # @!attribute [rw] etag
2735
+ # @return [::String]
2736
+ # Optional. The weak etag of the `Automation` resource.
2737
+ # This checksum is computed by the server based on the value of other
2738
+ # fields, and may be sent on update and delete requests to ensure the
2739
+ # client has an up-to-date value before proceeding.
2740
+ # @!attribute [rw] suspended
2741
+ # @return [::Boolean]
2742
+ # Optional. When Suspended, automation is deactivated from execution.
2743
+ # @!attribute [rw] service_account
2744
+ # @return [::String]
2745
+ # Required. Email address of the user-managed IAM service account that
2746
+ # creates Cloud Deploy release and rollout resources.
2747
+ # @!attribute [rw] selector
2748
+ # @return [::Google::Cloud::Deploy::V1::AutomationResourceSelector]
2749
+ # Required. Selected resources to which the automation will be applied.
2750
+ # @!attribute [rw] rules
2751
+ # @return [::Array<::Google::Cloud::Deploy::V1::AutomationRule>]
2752
+ # Required. List of Automation rules associated with the Automation resource.
2753
+ # Must have at least one rule and limited to 250 rules per Delivery Pipeline.
2754
+ # Note: the order of the rules here is not the same as the order of
2755
+ # execution.
2756
+ class Automation
2757
+ include ::Google::Protobuf::MessageExts
2758
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2759
+
2760
+ # @!attribute [rw] key
2761
+ # @return [::String]
2762
+ # @!attribute [rw] value
2763
+ # @return [::String]
2764
+ class AnnotationsEntry
2765
+ include ::Google::Protobuf::MessageExts
2766
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2767
+ end
2768
+
2769
+ # @!attribute [rw] key
2770
+ # @return [::String]
2771
+ # @!attribute [rw] value
2772
+ # @return [::String]
2773
+ class LabelsEntry
2774
+ include ::Google::Protobuf::MessageExts
2775
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2776
+ end
2777
+ end
2778
+
2779
+ # AutomationResourceSelector contains the information to select the resources
2780
+ # to which an Automation is going to be applied.
2781
+ # @!attribute [rw] targets
2782
+ # @return [::Array<::Google::Cloud::Deploy::V1::TargetAttribute>]
2783
+ # Contains attributes about a target.
2784
+ class AutomationResourceSelector
2785
+ include ::Google::Protobuf::MessageExts
2786
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2787
+ end
2788
+
2789
+ # `AutomationRule` defines the automation activities.
2790
+ # @!attribute [rw] promote_release_rule
2791
+ # @return [::Google::Cloud::Deploy::V1::PromoteReleaseRule]
2792
+ # Optional. `PromoteReleaseRule` will automatically promote a release from
2793
+ # the current target to a specified target.
2794
+ # @!attribute [rw] advance_rollout_rule
2795
+ # @return [::Google::Cloud::Deploy::V1::AdvanceRolloutRule]
2796
+ # Optional. The `AdvanceRolloutRule` will automatically advance a
2797
+ # successful Rollout.
2798
+ # @!attribute [rw] repair_rollout_rule
2799
+ # @return [::Google::Cloud::Deploy::V1::RepairRolloutRule]
2800
+ # Optional. The `RepairRolloutRule` will automatically repair a failed
2801
+ # rollout.
2802
+ class AutomationRule
2803
+ include ::Google::Protobuf::MessageExts
2804
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2805
+ end
2806
+
2807
+ # `PromoteRelease` rule will automatically promote a release from the current
2808
+ # target to a specified target.
2809
+ # @!attribute [rw] id
2810
+ # @return [::String]
2811
+ # Required. ID of the rule. This id must be unique in the `Automation`
2812
+ # resource to which this rule belongs. The format is `[a-z][a-z0-9\-]{0,62}`.
2813
+ # @!attribute [rw] wait
2814
+ # @return [::Google::Protobuf::Duration]
2815
+ # Optional. How long the release need to be paused until being promoted to
2816
+ # the next target.
2817
+ # @!attribute [rw] destination_target_id
2818
+ # @return [::String]
2819
+ # Optional. The ID of the stage in the pipeline to which this `Release` is
2820
+ # deploying. If unspecified, default it to the next stage in the promotion
2821
+ # flow. The value of this field could be one of the following:
2822
+ # * The last segment of a target name. It only needs the ID to determine
2823
+ # if the target is one of the stages in the promotion sequence defined
2824
+ # in the pipeline.
2825
+ # * "@next", the next target in the promotion sequence.
2826
+ # @!attribute [r] condition
2827
+ # @return [::Google::Cloud::Deploy::V1::AutomationRuleCondition]
2828
+ # Output only. Information around the state of the Automation rule.
2829
+ # @!attribute [rw] destination_phase
2830
+ # @return [::String]
2831
+ # Optional. The starting phase of the rollout created by this operation.
2832
+ # Default to the first phase.
2833
+ class PromoteReleaseRule
2834
+ include ::Google::Protobuf::MessageExts
2835
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2836
+ end
2837
+
2838
+ # The `AdvanceRollout` automation rule will automatically advance a successful
2839
+ # Rollout to the next phase.
2840
+ # @!attribute [rw] id
2841
+ # @return [::String]
2842
+ # Required. ID of the rule. This id must be unique in the `Automation`
2843
+ # resource to which this rule belongs. The format is `[a-z][a-z0-9\-]{0,62}`.
2844
+ # @!attribute [rw] source_phases
2845
+ # @return [::Array<::String>]
2846
+ # Optional. Proceeds only after phase name matched any one in the list.
2847
+ # This value must consist of lower-case letters, numbers, and hyphens,
2848
+ # start with a letter and end with a letter or a number, and have a max
2849
+ # length of 63 characters. In other words, it must match the following
2850
+ # regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
2851
+ # @!attribute [rw] wait
2852
+ # @return [::Google::Protobuf::Duration]
2853
+ # Optional. How long to wait after a rollout is finished.
2854
+ # @!attribute [r] condition
2855
+ # @return [::Google::Cloud::Deploy::V1::AutomationRuleCondition]
2856
+ # Output only. Information around the state of the Automation rule.
2857
+ class AdvanceRolloutRule
2858
+ include ::Google::Protobuf::MessageExts
2859
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2860
+ end
2861
+
2862
+ # The `RepairRolloutRule` automation rule will automatically repair a failed
2863
+ # `Rollout`.
2864
+ # @!attribute [rw] id
2865
+ # @return [::String]
2866
+ # Required. ID of the rule. This id must be unique in the `Automation`
2867
+ # resource to which this rule belongs. The format is `[a-z][a-z0-9\-]{0,62}`.
2868
+ # @!attribute [rw] source_phases
2869
+ # @return [::Array<::String>]
2870
+ # Optional. Phases within which jobs are subject to automatic repair actions
2871
+ # on failure. Proceeds only after phase name matched any one in the list, or
2872
+ # for all phases if unspecified. This value must consist of lower-case
2873
+ # letters, numbers, and hyphens, start with a letter and end with a letter or
2874
+ # a number, and have a max length of 63 characters. In other words, it must
2875
+ # match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
2876
+ # @!attribute [rw] jobs
2877
+ # @return [::Array<::String>]
2878
+ # Optional. Jobs to repair. Proceeds only after job name matched any one in
2879
+ # the list, or for all jobs if unspecified or empty. The phase that includes
2880
+ # the job must match the phase ID specified in `source_phase`. This value
2881
+ # must consist of lower-case letters, numbers, and hyphens, start with a
2882
+ # letter and end with a letter or a number, and have a max length of 63
2883
+ # characters. In other words, it must match the following regex:
2884
+ # `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
2885
+ # @!attribute [rw] repair_modes
2886
+ # @return [::Array<::Google::Cloud::Deploy::V1::RepairMode>]
2887
+ # Required. Defines the types of automatic repair actions for failed jobs.
2888
+ # @!attribute [r] condition
2889
+ # @return [::Google::Cloud::Deploy::V1::AutomationRuleCondition]
2890
+ # Output only. Information around the state of the 'Automation' rule.
2891
+ class RepairRolloutRule
2892
+ include ::Google::Protobuf::MessageExts
2893
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2894
+ end
2895
+
2896
+ # Configuration of the repair action.
2897
+ # @!attribute [rw] retry
2898
+ # @return [::Google::Cloud::Deploy::V1::Retry]
2899
+ # Optional. Retries a failed job.
2900
+ # @!attribute [rw] rollback
2901
+ # @return [::Google::Cloud::Deploy::V1::Rollback]
2902
+ # Optional. Rolls back a `Rollout`.
2903
+ class RepairMode
2904
+ include ::Google::Protobuf::MessageExts
2905
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2906
+ end
2907
+
2908
+ # Retries the failed job.
2909
+ # @!attribute [rw] attempts
2910
+ # @return [::Integer]
2911
+ # Required. Total number of retries. Retry will skipped if set to 0; The
2912
+ # minimum value is 1, and the maximum value is 10.
2913
+ # @!attribute [rw] wait
2914
+ # @return [::Google::Protobuf::Duration]
2915
+ # Optional. How long to wait for the first retry. Default is 0, and the
2916
+ # maximum value is 14d.
2917
+ # @!attribute [rw] backoff_mode
2918
+ # @return [::Google::Cloud::Deploy::V1::BackoffMode]
2919
+ # Optional. The pattern of how wait time will be increased. Default is
2920
+ # linear. Backoff mode will be ignored if `wait` is 0.
2921
+ class Retry
2922
+ include ::Google::Protobuf::MessageExts
2923
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2924
+ end
2925
+
2926
+ # Rolls back a `Rollout`.
2927
+ # @!attribute [rw] destination_phase
2928
+ # @return [::String]
2929
+ # Optional. The starting phase ID for the `Rollout`. If unspecified, the
2930
+ # `Rollout` will start in the stable phase.
2931
+ class Rollback
2932
+ include ::Google::Protobuf::MessageExts
2933
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2934
+ end
2935
+
2936
+ # `AutomationRuleCondition` contains conditions relevant to an
2937
+ # `Automation` rule.
2938
+ # @!attribute [rw] targets_present_condition
2939
+ # @return [::Google::Cloud::Deploy::V1::TargetsPresentCondition]
2940
+ # Optional. Details around targets enumerated in the rule.
2941
+ class AutomationRuleCondition
2942
+ include ::Google::Protobuf::MessageExts
2943
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2944
+ end
2945
+
2946
+ # The request object for `CreateAutomation`.
2947
+ # @!attribute [rw] parent
2948
+ # @return [::String]
2949
+ # Required. The parent collection in which the `Automation` should be
2950
+ # created. Format should be
2951
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
2952
+ # @!attribute [rw] automation_id
2953
+ # @return [::String]
2954
+ # Required. ID of the `Automation`.
2955
+ # @!attribute [rw] automation
2956
+ # @return [::Google::Cloud::Deploy::V1::Automation]
2957
+ # Required. The `Automation` to create.
2958
+ # @!attribute [rw] request_id
2959
+ # @return [::String]
2960
+ # Optional. A request ID to identify requests. Specify a unique request ID
2961
+ # so that if you must retry your request, the server will know to ignore
2962
+ # the request if it has already been completed. The server will guarantee
2963
+ # that for at least 60 minutes since the first request.
2964
+ #
2965
+ # For example, consider a situation where you make an initial request and the
2966
+ # request times out. If you make the request again with the same request ID,
2967
+ # the server can check if original operation with the same request ID was
2968
+ # received, and if so, will ignore the second request. This prevents clients
2969
+ # from accidentally creating duplicate commitments.
2970
+ #
2971
+ # The request ID must be a valid UUID with the exception that zero UUID is
2972
+ # not supported (00000000-0000-0000-0000-000000000000).
2973
+ # @!attribute [rw] validate_only
2974
+ # @return [::Boolean]
2975
+ # Optional. If set to true, the request is validated and the user is provided
2976
+ # with an expected result, but no actual change is made.
2977
+ class CreateAutomationRequest
2978
+ include ::Google::Protobuf::MessageExts
2979
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2980
+ end
2981
+
2982
+ # The request object for `UpdateAutomation`.
2983
+ # @!attribute [rw] update_mask
2984
+ # @return [::Google::Protobuf::FieldMask]
2985
+ # Required. Field mask is used to specify the fields to be overwritten in the
2986
+ # `Automation` resource by the update.
2987
+ # The fields specified in the update_mask are relative to the resource, not
2988
+ # the full request. A field will be overwritten if it is in the mask. If the
2989
+ # user does not provide a mask then all fields will be overwritten.
2990
+ # @!attribute [rw] automation
2991
+ # @return [::Google::Cloud::Deploy::V1::Automation]
2992
+ # Required. The `Automation` to update.
2993
+ # @!attribute [rw] request_id
2994
+ # @return [::String]
2995
+ # Optional. A request ID to identify requests. Specify a unique request ID
2996
+ # so that if you must retry your request, the server will know to ignore
2997
+ # the request if it has already been completed. The server will guarantee
2998
+ # that for at least 60 minutes since the first request.
2999
+ #
3000
+ # For example, consider a situation where you make an initial request and the
3001
+ # request times out. If you make the request again with the same request ID,
3002
+ # the server can check if original operation with the same request ID was
3003
+ # received, and if so, will ignore the second request. This prevents clients
3004
+ # from accidentally creating duplicate commitments.
3005
+ #
3006
+ # The request ID must be a valid UUID with the exception that zero UUID is
3007
+ # not supported (00000000-0000-0000-0000-000000000000).
3008
+ # @!attribute [rw] allow_missing
3009
+ # @return [::Boolean]
3010
+ # Optional. If set to true, updating a `Automation` that does not exist will
3011
+ # result in the creation of a new `Automation`.
3012
+ # @!attribute [rw] validate_only
3013
+ # @return [::Boolean]
3014
+ # Optional. If set to true, the request is validated and the user is provided
3015
+ # with an expected result, but no actual change is made.
3016
+ class UpdateAutomationRequest
3017
+ include ::Google::Protobuf::MessageExts
3018
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3019
+ end
3020
+
3021
+ # The request object for `DeleteAutomation`.
3022
+ # @!attribute [rw] name
3023
+ # @return [::String]
3024
+ # Required. The name of the `Automation` to delete. Format should be
3025
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/automations/{automation_name}`.
3026
+ # @!attribute [rw] request_id
3027
+ # @return [::String]
3028
+ # Optional. A request ID to identify requests. Specify a unique request ID
3029
+ # so that if you must retry your request, the server will know to ignore
3030
+ # the request if it has already been completed. The server will guarantee
3031
+ # that for at least 60 minutes after the first request.
3032
+ #
3033
+ # For example, consider a situation where you make an initial request and the
3034
+ # request times out. If you make the request again with the same request ID,
3035
+ # the server can check if original operation with the same request ID was
3036
+ # received, and if so, will ignore the second request. This prevents clients
3037
+ # from accidentally creating duplicate commitments.
3038
+ #
3039
+ # The request ID must be a valid UUID with the exception that zero UUID is
3040
+ # not supported (00000000-0000-0000-0000-000000000000).
3041
+ # @!attribute [rw] allow_missing
3042
+ # @return [::Boolean]
3043
+ # Optional. If set to true, then deleting an already deleted or non-existing
3044
+ # `Automation` will succeed.
3045
+ # @!attribute [rw] validate_only
3046
+ # @return [::Boolean]
3047
+ # Optional. If set, validate the request and verify whether the resource
3048
+ # exists, but do not actually post it.
3049
+ # @!attribute [rw] etag
3050
+ # @return [::String]
3051
+ # Optional. The weak etag of the request.
3052
+ # This checksum is computed by the server based on the value of other
3053
+ # fields, and may be sent on update and delete requests to ensure the
3054
+ # client has an up-to-date value before proceeding.
3055
+ class DeleteAutomationRequest
3056
+ include ::Google::Protobuf::MessageExts
3057
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3058
+ end
3059
+
3060
+ # The request object for `ListAutomations`.
3061
+ # @!attribute [rw] parent
3062
+ # @return [::String]
3063
+ # Required. The parent, which owns this collection of automations. Format
3064
+ # must be
3065
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.
3066
+ # @!attribute [rw] page_size
3067
+ # @return [::Integer]
3068
+ # The maximum number of automations to return. The service may return
3069
+ # fewer than this value. If unspecified, at most 50 automations will
3070
+ # be returned. The maximum value is 1000; values above 1000 will be set
3071
+ # to 1000.
3072
+ # @!attribute [rw] page_token
3073
+ # @return [::String]
3074
+ # A page token, received from a previous `ListAutomations` call.
3075
+ # Provide this to retrieve the subsequent page.
3076
+ #
3077
+ # When paginating, all other provided parameters match
3078
+ # the call that provided the page token.
3079
+ # @!attribute [rw] filter
3080
+ # @return [::String]
3081
+ # Filter automations to be returned. All fields can be used in the
3082
+ # filter.
3083
+ # @!attribute [rw] order_by
3084
+ # @return [::String]
3085
+ # Field to sort by.
3086
+ class ListAutomationsRequest
3087
+ include ::Google::Protobuf::MessageExts
3088
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3089
+ end
3090
+
3091
+ # The response object from `ListAutomations`.
3092
+ # @!attribute [rw] automations
3093
+ # @return [::Array<::Google::Cloud::Deploy::V1::Automation>]
3094
+ # The `Automations` objects.
3095
+ # @!attribute [rw] next_page_token
3096
+ # @return [::String]
3097
+ # A token, which can be sent as `page_token` to retrieve the next page.
3098
+ # If this field is omitted, there are no subsequent pages.
3099
+ # @!attribute [rw] unreachable
3100
+ # @return [::Array<::String>]
3101
+ # Locations that could not be reached.
3102
+ class ListAutomationsResponse
3103
+ include ::Google::Protobuf::MessageExts
3104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3105
+ end
3106
+
3107
+ # The request object for `GetAutomation`
3108
+ # @!attribute [rw] name
3109
+ # @return [::String]
3110
+ # Required. Name of the `Automation`. Format must be
3111
+ # `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/automations/{automation_name}`.
3112
+ class GetAutomationRequest
3113
+ include ::Google::Protobuf::MessageExts
3114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3115
+ end
3116
+
3117
+ # An `AutomationRun` resource in the Cloud Deploy API.
3118
+ #
3119
+ # An `AutomationRun` represents an automation execution instance of an
3120
+ # automation rule.
3121
+ # @!attribute [r] name
3122
+ # @return [::String]
3123
+ # Output only. Name of the `AutomationRun`. Format is
3124
+ # `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`.
3125
+ # @!attribute [r] create_time
3126
+ # @return [::Google::Protobuf::Timestamp]
3127
+ # Output only. Time at which the `AutomationRun` was created.
3128
+ # @!attribute [r] update_time
3129
+ # @return [::Google::Protobuf::Timestamp]
3130
+ # Output only. Time at which the automationRun was updated.
3131
+ # @!attribute [r] etag
3132
+ # @return [::String]
3133
+ # Output only. The weak etag of the `AutomationRun` resource.
3134
+ # This checksum is computed by the server based on the value of other
3135
+ # fields, and may be sent on update and delete requests to ensure the
3136
+ # client has an up-to-date value before proceeding.
3137
+ # @!attribute [r] service_account
3138
+ # @return [::String]
3139
+ # Output only. Email address of the user-managed IAM service account that
3140
+ # performs the operations against Cloud Deploy resources.
3141
+ # @!attribute [r] automation_snapshot
3142
+ # @return [::Google::Cloud::Deploy::V1::Automation]
3143
+ # Output only. Snapshot of the Automation taken at AutomationRun creation
3144
+ # time.
3145
+ # @!attribute [r] target_id
3146
+ # @return [::String]
3147
+ # Output only. The ID of the target that represents the promotion stage that
3148
+ # initiates the `AutomationRun`. The value of this field is the last segment
3149
+ # of a target name.
3150
+ # @!attribute [r] state
3151
+ # @return [::Google::Cloud::Deploy::V1::AutomationRun::State]
3152
+ # Output only. Current state of the `AutomationRun`.
3153
+ # @!attribute [r] state_description
3154
+ # @return [::String]
3155
+ # Output only. Explains the current state of the `AutomationRun`. Present
3156
+ # only an explanation is needed.
3157
+ # @!attribute [r] expire_time
3158
+ # @return [::Google::Protobuf::Timestamp]
3159
+ # Output only. Time the `AutomationRun` will expire. An `AutomationRun` will
3160
+ # expire after 14 days from its creation date.
3161
+ # @!attribute [r] rule_id
3162
+ # @return [::String]
3163
+ # Output only. The ID of the automation rule that initiated the operation.
3164
+ # @!attribute [r] automation_id
3165
+ # @return [::String]
3166
+ # Output only. The ID of the automation that initiated the operation.
3167
+ # @!attribute [r] promote_release_operation
3168
+ # @return [::Google::Cloud::Deploy::V1::PromoteReleaseOperation]
3169
+ # Output only. Promotes a release to a specified 'Target'.
3170
+ # @!attribute [r] advance_rollout_operation
3171
+ # @return [::Google::Cloud::Deploy::V1::AdvanceRolloutOperation]
3172
+ # Output only. Advances a rollout to the next phase.
3173
+ # @!attribute [r] repair_rollout_operation
3174
+ # @return [::Google::Cloud::Deploy::V1::RepairRolloutOperation]
3175
+ # Output only. Repairs a failed 'Rollout'.
3176
+ # @!attribute [r] wait_until_time
3177
+ # @return [::Google::Protobuf::Timestamp]
3178
+ # Output only. Earliest time the `AutomationRun` will attempt to resume.
3179
+ # Wait-time is configured by `wait` in automation rule.
3180
+ class AutomationRun
3181
+ include ::Google::Protobuf::MessageExts
3182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3183
+
3184
+ # Valid state of an `AutomationRun`.
3185
+ module State
3186
+ # The `AutomationRun` has an unspecified state.
3187
+ STATE_UNSPECIFIED = 0
3188
+
3189
+ # The `AutomationRun` has succeeded.
3190
+ SUCCEEDED = 1
3191
+
3192
+ # The `AutomationRun` was cancelled.
3193
+ CANCELLED = 2
3194
+
3195
+ # The `AutomationRun` has failed.
3196
+ FAILED = 3
3197
+
3198
+ # The `AutomationRun` is in progress.
3199
+ IN_PROGRESS = 4
3200
+
3201
+ # The `AutomationRun` is pending.
3202
+ PENDING = 5
3203
+ end
3204
+ end
3205
+
3206
+ # Contains the information of an automated promote-release operation.
3207
+ # @!attribute [r] target_id
3208
+ # @return [::String]
3209
+ # Output only. The ID of the target that represents the promotion stage to
3210
+ # which the release will be promoted. The value of this field is the last
3211
+ # segment of a target name.
3212
+ # @!attribute [r] wait
3213
+ # @return [::Google::Protobuf::Duration]
3214
+ # Output only. How long the operation will be paused.
3215
+ # @!attribute [r] rollout
3216
+ # @return [::String]
3217
+ # Output only. The name of the rollout that initiates the `AutomationRun`.
3218
+ # @!attribute [r] phase
3219
+ # @return [::String]
3220
+ # Output only. The starting phase of the rollout created by this operation.
3221
+ class PromoteReleaseOperation
3222
+ include ::Google::Protobuf::MessageExts
3223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3224
+ end
3225
+
3226
+ # Contains the information of an automated advance-rollout operation.
3227
+ # @!attribute [r] source_phase
3228
+ # @return [::String]
3229
+ # Output only. The phase of a deployment that initiated the operation.
3230
+ # @!attribute [r] wait
3231
+ # @return [::Google::Protobuf::Duration]
3232
+ # Output only. How long the operation will be paused.
3233
+ # @!attribute [r] rollout
3234
+ # @return [::String]
3235
+ # Output only. The name of the rollout that initiates the `AutomationRun`.
3236
+ # @!attribute [r] destination_phase
3237
+ # @return [::String]
3238
+ # Output only. The phase to which the rollout will be advanced to.
3239
+ class AdvanceRolloutOperation
3240
+ include ::Google::Protobuf::MessageExts
3241
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3242
+ end
3243
+
3244
+ # Contains the information for an automated `repair rollout` operation.
3245
+ # @!attribute [r] rollout
3246
+ # @return [::String]
3247
+ # Output only. The name of the rollout that initiates the `AutomationRun`.
3248
+ # @!attribute [r] current_repair_mode_index
3249
+ # @return [::Integer]
3250
+ # Output only. The index of the current repair action in the repair sequence.
3251
+ # @!attribute [r] repair_phases
3252
+ # @return [::Array<::Google::Cloud::Deploy::V1::RepairPhase>]
3253
+ # Output only. Records of the repair attempts. Each repair phase may have
3254
+ # multiple retry attempts or single rollback attempt.
3255
+ class RepairRolloutOperation
3256
+ include ::Google::Protobuf::MessageExts
3257
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3258
+ end
3259
+
3260
+ # RepairPhase tracks the repair attempts that have been made for
3261
+ # each `RepairMode` specified in the `Automation` resource.
3262
+ # @!attribute [r] retry
3263
+ # @return [::Google::Cloud::Deploy::V1::RetryPhase]
3264
+ # Output only. Records of the retry attempts for retry repair mode.
3265
+ # @!attribute [r] rollback
3266
+ # @return [::Google::Cloud::Deploy::V1::RollbackAttempt]
3267
+ # Output only. Rollback attempt for rollback repair mode .
3268
+ class RepairPhase
3269
+ include ::Google::Protobuf::MessageExts
3270
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3271
+ end
3272
+
3273
+ # RetryPhase contains the retry attempts and the metadata for initiating a
3274
+ # new attempt.
3275
+ # @!attribute [r] total_attempts
3276
+ # @return [::Integer]
3277
+ # Output only. The number of attempts that have been made.
3278
+ # @!attribute [r] backoff_mode
3279
+ # @return [::Google::Cloud::Deploy::V1::BackoffMode]
3280
+ # Output only. The pattern of how the wait time of the retry attempt is
3281
+ # calculated.
3282
+ # @!attribute [r] phase_id
3283
+ # @return [::String]
3284
+ # Output only. The phase ID of the phase that includes the job being retried.
3285
+ # @!attribute [r] job_id
3286
+ # @return [::String]
3287
+ # Output only. The job ID for the Job to retry.
3288
+ # @!attribute [r] attempts
3289
+ # @return [::Array<::Google::Cloud::Deploy::V1::RetryAttempt>]
3290
+ # Output only. Detail of a retry action.
3291
+ class RetryPhase
3292
+ include ::Google::Protobuf::MessageExts
3293
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3294
+ end
3295
+
3296
+ # RetryAttempt represents an action of retrying the failed Cloud Deploy job.
3297
+ # @!attribute [r] attempt
3298
+ # @return [::Integer]
3299
+ # Output only. The index of this retry attempt.
3300
+ # @!attribute [r] wait
3301
+ # @return [::Google::Protobuf::Duration]
3302
+ # Output only. How long the operation will be paused.
3303
+ # @!attribute [r] state
3304
+ # @return [::Google::Cloud::Deploy::V1::RepairState]
3305
+ # Output only. Valid state of this retry action.
3306
+ # @!attribute [r] state_desc
3307
+ # @return [::String]
3308
+ # Output only. Description of the state of the Retry.
3309
+ class RetryAttempt
3310
+ include ::Google::Protobuf::MessageExts
3311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3312
+ end
3313
+
3314
+ # RollbackAttempt represents an action of rolling back a Cloud Deploy 'Target'.
3315
+ # @!attribute [r] destination_phase
3316
+ # @return [::String]
3317
+ # Output only. The phase to which the rollout will be rolled back to.
3318
+ # @!attribute [r] rollout_id
3319
+ # @return [::String]
3320
+ # Output only. ID of the rollback `Rollout` to create.
3321
+ # @!attribute [r] state
3322
+ # @return [::Google::Cloud::Deploy::V1::RepairState]
3323
+ # Output only. Valid state of this rollback action.
3324
+ # @!attribute [r] state_desc
3325
+ # @return [::String]
3326
+ # Output only. Description of the state of the Rollback.
3327
+ class RollbackAttempt
3328
+ include ::Google::Protobuf::MessageExts
3329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3330
+ end
3331
+
3332
+ # The request object for `ListAutomationRuns`.
3333
+ # @!attribute [rw] parent
3334
+ # @return [::String]
3335
+ # Required. The parent, which owns this collection of automationRuns. Format
3336
+ # must be
3337
+ # `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}`.
3338
+ # @!attribute [rw] page_size
3339
+ # @return [::Integer]
3340
+ # The maximum number of automationRuns to return. The service may return
3341
+ # fewer than this value. If unspecified, at most 50 automationRuns will
3342
+ # be returned. The maximum value is 1000; values above 1000 will be set
3343
+ # to 1000.
3344
+ # @!attribute [rw] page_token
3345
+ # @return [::String]
3346
+ # A page token, received from a previous `ListAutomationRuns` call.
3347
+ # Provide this to retrieve the subsequent page.
3348
+ #
3349
+ # When paginating, all other provided parameters match
3350
+ # the call that provided the page token.
3351
+ # @!attribute [rw] filter
3352
+ # @return [::String]
3353
+ # Filter automationRuns to be returned. All fields can be used in the
3354
+ # filter.
3355
+ # @!attribute [rw] order_by
3356
+ # @return [::String]
3357
+ # Field to sort by.
3358
+ class ListAutomationRunsRequest
3359
+ include ::Google::Protobuf::MessageExts
3360
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3361
+ end
3362
+
3363
+ # The response object from `ListAutomationRuns`.
3364
+ # @!attribute [rw] automation_runs
3365
+ # @return [::Array<::Google::Cloud::Deploy::V1::AutomationRun>]
3366
+ # The `AutomationRuns` objects.
3367
+ # @!attribute [rw] next_page_token
3368
+ # @return [::String]
3369
+ # A token, which can be sent as `page_token` to retrieve the next page.
3370
+ # If this field is omitted, there are no subsequent pages.
3371
+ # @!attribute [rw] unreachable
3372
+ # @return [::Array<::String>]
3373
+ # Locations that could not be reached.
3374
+ class ListAutomationRunsResponse
3375
+ include ::Google::Protobuf::MessageExts
3376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3377
+ end
3378
+
3379
+ # The request object for `GetAutomationRun`
3380
+ # @!attribute [rw] name
3381
+ # @return [::String]
3382
+ # Required. Name of the `AutomationRun`. Format must be
3383
+ # `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`.
3384
+ class GetAutomationRunRequest
3385
+ include ::Google::Protobuf::MessageExts
3386
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3387
+ end
3388
+
3389
+ # The request object used by `CancelAutomationRun`.
3390
+ # @!attribute [rw] name
3391
+ # @return [::String]
3392
+ # Required. Name of the `AutomationRun`. Format is
3393
+ # `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`.
3394
+ class CancelAutomationRunRequest
3395
+ include ::Google::Protobuf::MessageExts
3396
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3397
+ end
3398
+
3399
+ # The response object from `CancelAutomationRun`.
3400
+ class CancelAutomationRunResponse
3401
+ include ::Google::Protobuf::MessageExts
3402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3403
+ end
3404
+
2571
3405
  # The support state of a specific Skaffold version.
2572
3406
  module SkaffoldSupportState
2573
3407
  # Default value. This value is unused.
@@ -2582,6 +3416,42 @@ module Google
2582
3416
  # This skaffold version is no longer supported.
2583
3417
  SKAFFOLD_SUPPORT_STATE_UNSUPPORTED = 3
2584
3418
  end
3419
+
3420
+ # The pattern of how wait time is increased.
3421
+ module BackoffMode
3422
+ # No WaitMode is specified.
3423
+ BACKOFF_MODE_UNSPECIFIED = 0
3424
+
3425
+ # Increases the wait time linearly.
3426
+ BACKOFF_MODE_LINEAR = 1
3427
+
3428
+ # Increases the wait time exponentially.
3429
+ BACKOFF_MODE_EXPONENTIAL = 2
3430
+ end
3431
+
3432
+ # Valid state of a repair attempt.
3433
+ module RepairState
3434
+ # The `repair` has an unspecified state.
3435
+ REPAIR_STATE_UNSPECIFIED = 0
3436
+
3437
+ # The `repair` action has succeeded.
3438
+ REPAIR_STATE_SUCCEEDED = 1
3439
+
3440
+ # The `repair` action was cancelled.
3441
+ REPAIR_STATE_CANCELLED = 2
3442
+
3443
+ # The `repair` action has failed.
3444
+ REPAIR_STATE_FAILED = 3
3445
+
3446
+ # The `repair` action is in progress.
3447
+ REPAIR_STATE_IN_PROGRESS = 4
3448
+
3449
+ # The `repair` action is pending.
3450
+ REPAIR_STATE_PENDING = 5
3451
+
3452
+ # The `repair` action was skipped.
3453
+ REPAIR_STATE_SKIPPED = 6
3454
+ end
2585
3455
  end
2586
3456
  end
2587
3457
  end