Comments (15)
Hi! Is there work actively in progress on this? Weighing if we should charge forward manually, or hold off for a tool.
from terraform-provider-googleworkspace.
Hi @ismith! I can provide an update here. It is actively being worked on and is the highest priority for this provider at the moment. I'm finding it difficult to create a tool that can do this for us without knowing a user's exact configuration. For example, to parse a configuration file and all the associated interpolations, without knowing what was interpolated etc. I am continuing to look into different approaches, but have no promised deadline of when it will be or what it will look like.
Meanwhile, a tool like this may be helpful if you were to attempt it on your own while we continue to solve for this: https://github.com/minamijoyo/hcledit
from terraform-provider-googleworkspace.
A quick bump of #204 for those interested in helping us test this tool.
Thanks in advance!
from terraform-provider-googleworkspace.
By knowing a user's exact configuration
do you mean you want representative samples of our terraform usage of any of the resources that would use the new provider, but especially those mentioned in https://github.com/hashicorp/terraform-provider-googleworkspace/pull/99/files Just trying to clarify what the call to action is.
from terraform-provider-googleworkspace.
Hi @eitah ! Thanks for asking - yea, any Gsuite Terraform configurations that you have. The basic configurations that we've worked with only really interpolate values, and that's about the extent of Terraform complexity that we've used there, so it'd be great if you had some configurations that used dynamic blocks, splat expressions, etc just to make sure that these things won't mess with the tool we're creating.
As for the resources, I'm not sure I have a preference to which resources are in the configuration, the more variety, the better, again, just to make sure the tool is picking everything up. Does that help?
from terraform-provider-googleworkspace.
Just wanted to add a gentle reminder here that I'll leave #204 open for another 15 days, and at the end of that time we'll use the configurations provided to verify our migration tool. Thanks!
from terraform-provider-googleworkspace.
I'm having a bit of trouble generalizing/anonymizing our configuration enough to share in a reasonable way. Would it be possible for you to share the migration tool so that we could test running it on our end with a backup of our state file and let you know what happened/if there are any issues? That would probably be a lot easier for everyone if we only have to reproduce snippets where we know there is an issue.
from terraform-provider-googleworkspace.
@megan07 any update on this? I'm happy to dry run any draft of the migration tool on my end if that would be helpful.
from terraform-provider-googleworkspace.
@megan07 any update on the status of this tool? I'm happy to dry run any draft of the migration tool on my end if that would be helpful.
from terraform-provider-googleworkspace.
Hi @joe-a-t thanks for getting back regarding the credentials for the migration tool. For Q1, We did not prioritize tool and hence won't be working on this. But please do feel free to comment or add your use-cases on high-level so that it will help us re-prioritize this.
from terraform-provider-googleworkspace.
Hey @tejavar. We are entirely blocked on using this provider until this tool comes out since the migration process would be unbelievable painful for us without it. If we have to keep using the old deprecated gsuite provider because the migration tool doesn't exist, that's just what we will have to do.
from terraform-provider-googleworkspace.
Hi, @joe-a-t in the meantime hashicorp provided an update guide in the provider documentation, see https://registry.terraform.io/providers/hashicorp/googleworkspace/latest/docs/guides/upgrade_guide. It covers the changes that have to be done when switching providers.
@megan07 maybe it would be valuable to add to the guide that the resource type for group_member has to be defined (default: USER) if the member that has to be added is a group (group in group) which makes it required then. this was not necessary with gsuite.
resource "googleworkspace_group_member" "member" {
type = "GROUP"
}
from terraform-provider-googleworkspace.
Unfortunately that upgrade guide doesn't help at all with (or even document) the required adjustments to the Terraform state file, which is the actual issue for us given the scale of our usage.
from terraform-provider-googleworkspace.
@joe-a-t
Regarding state file. Since a migration with terraform state replace-provider deviavir/gsuite hashicorp/googleworkspace
did not work because of resource type mismatches, I did a fresh import. See my steps below.
Prepare import:
- create state backup file
- create sh file
- run
terraform state list
and copy/paste output to sh file (I usually create a backup of the state list as well) - add
terraform import
to each line and adapt to match the import syntax (check resources documentation). it is possible to use email instead of ids.
terraform import googleworkspace_group_settings.test-settings [email protected]
terraform import googleworkspace_group_settings.example-settings [email protected]
[...]
- make sh file executable
Update configuration:
- add provider changes to configuration
- run
terraform init
Fresh Import:
- run sh script: all resources should be imported
- run
terraform plan
- do adaptions to configuration if necessary
Maybe someone else has another approach :-)
from terraform-provider-googleworkspace.
Yeah that's unfortunately not scalable for us, we have literally thousands of resources in hundreds of state files that use this provider. Really wish we could get access to the tool @megan07 was making and looking for test configurations for.
from terraform-provider-googleworkspace.
Related Issues (20)
- `googleworkspace_group_member` inconsistently saves success status HOT 7
- Unable to update some chrome policies HOT 2
- Impossible to query root org unit by path using the googleworkspace_org_unit data source
- [Resource request] googleworkspace_saml_app HOT 1
- googleworkspace_org_unit - googleapi: Error 403: Request rate higher than configured., quotaExceeded
- googleworkspace_group loop over wrong state
- Not authorized to update admin users HOT 1
- GitHub Actions - deprecated warnings found - action required!
- Creating Google Workspace Data Protection Rules Programmatically or through terraform ?
- Indirect members saved into the state?
- Error when adding an entire domain as member
- Error when updating members via "googleworkspace_group_members"
- Allow Google Service Account Login on Google Cloud HOT 1
- [feature request] Support group membership expiration
- Provider produced inconsistent final plan after resource googleworkspace_group_settings creation HOT 1
- This provider has not been updated in a while, created fork HOT 1
- Using groups datasources fails with quota project error when authenticating as a non-service-account user HOT 2
- Support for Gmail Routing entries HOT 1
- `include_derived_membership` option in `data.googleworkspace_group_members` causing issues
- If a policy schema has two or more fields of differing types, googleworkspace_chrome_policy validation may erroneously fail.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-provider-googleworkspace.