Skip to content

Commit 0e61aec

Browse files
feat: [deploy] A new field timed_promote_release_rule is added to message .google.cloud.deploy.v1.AutomationRule (#5806)
* feat: A new field `timed_promote_release_rule` is added to message `.google.cloud.deploy.v1.AutomationRule` feat: A new message `TimedPromoteReleaseRule` is added feat: A new field `timed_promote_release_condition` is added to message `.google.cloud.deploy.v1.AutomationRuleCondition` feat: A new message `TimedPromoteReleaseCondition` is added feat: A new field `timed_promote_release_operation` is added to message `.google.cloud.deploy.v1.AutomationRun` feat: A new message `TimedPromoteReleaseOperation` is added docs: A comment for field `target_id` in message `.google.cloud.deploy.v1.AutomationRun` is changed PiperOrigin-RevId: 695827924 Source-Link: googleapis/googleapis@4805138 Source-Link: googleapis/googleapis-gen@2b3fa48 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRlcGxveS8uT3dsQm90LnlhbWwiLCJoIjoiMmIzZmE0OGQ0YTNmZDA5ZTU3NjZmZTJkZDY1YWE2NmRkOTdjMTcyYSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent b288d9f commit 0e61aec

4 files changed

Lines changed: 1905 additions & 41 deletions

File tree

packages/google-cloud-deploy/protos/google/cloud/deploy/v1/cloud_deploy.proto

Lines changed: 89 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4150,9 +4150,48 @@ message AutomationRule {
41504150
// rollout.
41514151
RepairRolloutRule repair_rollout_rule = 3
41524152
[(google.api.field_behavior) = OPTIONAL];
4153+
4154+
// Optional. The `TimedPromoteReleaseRule` will automatically promote a
4155+
// release from the current target(s) to the specified target(s) on a
4156+
// configured schedule.
4157+
TimedPromoteReleaseRule timed_promote_release_rule = 4
4158+
[(google.api.field_behavior) = OPTIONAL];
41534159
}
41544160
}
41554161

4162+
// The `TimedPromoteReleaseRule` will automatically promote a release from the
4163+
// current target(s) to the specified target(s) on a configured schedule.
4164+
message TimedPromoteReleaseRule {
4165+
// Required. ID of the rule. This ID must be unique in the `Automation`
4166+
// resource to which this rule belongs. The format is
4167+
// `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
4168+
string id = 1 [(google.api.field_behavior) = REQUIRED];
4169+
4170+
// Optional. The ID of the stage in the pipeline to which this `Release` is
4171+
// deploying. If unspecified, default it to the next stage in the promotion
4172+
// flow. The value of this field could be one of the following:
4173+
//
4174+
// * The last segment of a target name
4175+
// * "@next", the next target in the promotion sequence
4176+
string destination_target_id = 2 [(google.api.field_behavior) = OPTIONAL];
4177+
4178+
// Required. Schedule in crontab format. e.g. "0 9 * * 1" for every Monday at
4179+
// 9am.
4180+
string schedule = 3 [(google.api.field_behavior) = REQUIRED];
4181+
4182+
// Required. The time zone in IANA format [IANA Time Zone
4183+
// Database](https://www.iana.org/time-zones) (e.g. America/New_York).
4184+
string time_zone = 4 [(google.api.field_behavior) = REQUIRED];
4185+
4186+
// Output only. Information around the state of the Automation rule.
4187+
AutomationRuleCondition condition = 5
4188+
[(google.api.field_behavior) = OUTPUT_ONLY];
4189+
4190+
// Optional. The starting phase of the rollout created by this rule. Default
4191+
// to the first phase.
4192+
string destination_phase = 6 [(google.api.field_behavior) = OPTIONAL];
4193+
}
4194+
41564195
// The `PromoteRelease` rule will automatically promote a release from the
41574196
// current target to a specified target.
41584197
message PromoteReleaseRule {
@@ -4284,6 +4323,34 @@ message AutomationRuleCondition {
42844323
// Optional. Details around targets enumerated in the rule.
42854324
TargetsPresentCondition targets_present_condition = 1
42864325
[(google.api.field_behavior) = OPTIONAL];
4326+
4327+
// Details specific to the automation rule type.
4328+
oneof rule_type_condition {
4329+
// Optional. TimedPromoteReleaseCondition contains rule conditions specific
4330+
// to a an Automation with a timed promote release rule defined.
4331+
TimedPromoteReleaseCondition timed_promote_release_condition = 2
4332+
[(google.api.field_behavior) = OPTIONAL];
4333+
}
4334+
}
4335+
4336+
// `TimedPromoteReleaseCondition` contains conditions specific to an Automation
4337+
// with a Timed Promote Release rule defined.
4338+
message TimedPromoteReleaseCondition {
4339+
// The targets involved in a single timed promotion.
4340+
message Targets {
4341+
// Optional. The source target ID.
4342+
string source_target_id = 1 [(google.api.field_behavior) = OPTIONAL];
4343+
4344+
// Optional. The destination target ID.
4345+
string destination_target_id = 2 [(google.api.field_behavior) = OPTIONAL];
4346+
}
4347+
4348+
// Output only. When the next scheduled promotion(s) will occur.
4349+
google.protobuf.Timestamp next_promotion_time = 1
4350+
[(google.api.field_behavior) = OUTPUT_ONLY];
4351+
4352+
// Output only. A list of targets involved in the upcoming timed promotion(s).
4353+
repeated Targets targets_list = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
42874354
}
42884355

42894356
// The request object for `CreateAutomation`.
@@ -4521,9 +4588,9 @@ message AutomationRun {
45214588
Automation automation_snapshot = 6
45224589
[(google.api.field_behavior) = OUTPUT_ONLY];
45234590

4524-
// Output only. The ID of the target that represents the promotion stage that
4525-
// initiates the `AutomationRun`. The value of this field is the last segment
4526-
// of a target name.
4591+
// Output only. The ID of the source target that initiates the
4592+
// `AutomationRun`. The value of this field is the last segment of a target
4593+
// name.
45274594
string target_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
45284595

45294596
// Output only. Current state of the `AutomationRun`.
@@ -4562,6 +4629,11 @@ message AutomationRun {
45624629
// Output only. Repairs a failed 'Rollout'.
45634630
RepairRolloutOperation repair_rollout_operation = 17
45644631
[(google.api.field_behavior) = OUTPUT_ONLY];
4632+
4633+
// Output only. Promotes a release to a specified 'Target' as defined in a
4634+
// Timed Promote Release rule.
4635+
TimedPromoteReleaseOperation timed_promote_release_operation = 19
4636+
[(google.api.field_behavior) = OUTPUT_ONLY];
45654637
}
45664638

45674639
// Output only. Earliest time the `AutomationRun` will attempt to resume.
@@ -4624,6 +4696,20 @@ message RepairRolloutOperation {
46244696
string job_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
46254697
}
46264698

4699+
// Contains the information of an automated timed promote-release operation.
4700+
message TimedPromoteReleaseOperation {
4701+
// Output only. The ID of the target that represents the promotion stage to
4702+
// which the release will be promoted. The value of this field is the last
4703+
// segment of a target name.
4704+
string target_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
4705+
4706+
// Output only. The name of the release to be promoted.
4707+
string release = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
4708+
4709+
// Output only. The starting phase of the rollout created by this operation.
4710+
string phase = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
4711+
}
4712+
46274713
// RepairPhase tracks the repair attempts that have been made for
46284714
// each `RepairPhaseConfig` specified in the `Automation` resource.
46294715
message RepairPhase {

0 commit comments

Comments
 (0)