Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add paused attribute to google_cloud_scheduler_job resource #4535

Conversation

modular-magician
Copy link
Collaborator

Closes hashicorp/terraform-provider-google#7883

This PR lets users control the state of the Cloud Scheduler Job as paused or enabled (default). Currently, if a Job is paused/resumed through the console that change made outside of Terraform isn't visible when creating plans.

I've added the state of the job as an output, and the new paused field controls calls to the projects.locations.jobs.pause and projects.locations.jobs.resume endpoints in post-create and post-update actions in the provider code to change the state.

My rationale for including state as an output was to allow users to see the job's state in scenarios where it is neither paused or enabled, e.g in an error state due to some factor outside the Terraform config. I believe if that happened the projects.locations.jobs.pause / projects.locations.jobs.resume API calls would return an error, so users would also be notified about any issues via that route too.

If this PR is for Terraform, I acknowledge that I have:

  • Searched through the issue tracker for an open issue that this either resolves or contributes to, commented on it to claim it, and written "fixes {url}" or "part of {url}" in this PR description. If there were no relevant open issues, I opened one and commented that I would like to work on it (not necessary for very small changes).
  • Generated Terraform, and ran make test and make lint to ensure it passes unit and linter tests.
  • Ensured that all new fields I added that can be set by a user appear in at least one example (for generated resources) or third_party test (for handwritten resources or update tests).
  • Ran relevant acceptance tests (If the acceptance tests do not yet pass or you are unable to run them, please let your reviewer know).
  • Read the Release Notes Guide before writing my release note below.

Release Note Template for Downstream PRs (will be copied)

scheduler: Added `state` output field to `google_cloud_scheduler_job`
scheduler: Added `paused` field to `google_cloud_scheduler_job`

Derived from GoogleCloudPlatform/magic-modules#6304

…icorp#6304)

* Add `state` field to `google_cloud_scheduler_job` as output

* Add `paused` field to `google_cloud_scheduler_job` to control state

* Add example of paused `google_cloud_scheduler_job`

* Add handwritten test for paused `google_cloud_scheduler_job`

* Address make lint output

* Make `paused` argument default to value derived from API via custom flatten function

* Add comment to custom flatten function

Signed-off-by: Modular Magician <[email protected]>
@modular-magician modular-magician merged commit 5291361 into hashicorp:main Jul 27, 2022
@modular-magician modular-magician deleted the downstream-pr-cf0f8233984bd8715c491cc72b27b42ea87b7023 branch November 16, 2024 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

google_cloud_scheduler_job: support a "paused" attribute
1 participant