google-cloud-deploy-v1 0.13.0 → 0.14.0

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