-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
provider.go
1611 lines (1562 loc) · 108 KB
/
provider.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
package google
import (
"context"
"fmt"
"os"
"time"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-provider-google/version"
googleoauth "golang.org/x/oauth2/google"
)
const TestEnvVar = "TF_ACC"
// Global MutexKV
var mutexKV = NewMutexKV()
// Provider returns a *schema.Provider.
func Provider() *schema.Provider {
// The mtls service client gives the type of endpoint (mtls/regular)
// at client creation. Since we use a shared client for requests we must
// rewrite the endpoints to be mtls endpoints for the scenario where
// mtls is enabled.
if isMtls() {
// if mtls is enabled switch all default endpoints to use the mtls endpoint
for key, bp := range DefaultBasePaths {
DefaultBasePaths[key] = getMtlsEndpoint(bp)
}
}
provider := &schema.Provider{
Schema: map[string]*schema.Schema{
"credentials": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCredentials,
ConflictsWith: []string{"access_token"},
},
"access_token": {
Type: schema.TypeString,
Optional: true,
ConflictsWith: []string{"credentials"},
},
"impersonate_service_account": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_IMPERSONATE_SERVICE_ACCOUNT",
}, nil),
},
"impersonate_service_account_delegates": {
Type: schema.TypeList,
Optional: true,
Elem: &schema.Schema{Type: schema.TypeString},
},
"project": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_PROJECT",
"GOOGLE_CLOUD_PROJECT",
"GCLOUD_PROJECT",
"CLOUDSDK_CORE_PROJECT",
}, nil),
},
"billing_project": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BILLING_PROJECT",
}, nil),
},
"region": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_REGION",
"GCLOUD_REGION",
"CLOUDSDK_COMPUTE_REGION",
}, nil),
},
"zone": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_ZONE",
"GCLOUD_ZONE",
"CLOUDSDK_COMPUTE_ZONE",
}, nil),
},
"scopes": {
Type: schema.TypeList,
Optional: true,
Elem: &schema.Schema{Type: schema.TypeString},
},
"batching": {
Type: schema.TypeList,
Optional: true,
MaxItems: 1,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"send_after": {
Type: schema.TypeString,
Optional: true,
Default: "10s",
ValidateFunc: validateNonNegativeDuration(),
},
"enable_batching": {
Type: schema.TypeBool,
Optional: true,
Default: true,
},
},
},
},
"user_project_override": {
Type: schema.TypeBool,
Optional: true,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"USER_PROJECT_OVERRIDE",
}, nil),
},
"request_timeout": {
Type: schema.TypeString,
Optional: true,
},
"request_reason": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"CLOUDSDK_CORE_REQUEST_REASON",
}, nil),
},
// Generated Products
"access_approval_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_ACCESS_APPROVAL_CUSTOM_ENDPOINT",
}, DefaultBasePaths[AccessApprovalBasePathKey]),
},
"access_context_manager_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_ACCESS_CONTEXT_MANAGER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[AccessContextManagerBasePathKey]),
},
"active_directory_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_ACTIVE_DIRECTORY_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ActiveDirectoryBasePathKey]),
},
"apigee_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_APIGEE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ApigeeBasePathKey]),
},
"app_engine_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_APP_ENGINE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[AppEngineBasePathKey]),
},
"artifact_registry_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_ARTIFACT_REGISTRY_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ArtifactRegistryBasePathKey]),
},
"big_query_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BIG_QUERY_CUSTOM_ENDPOINT",
}, DefaultBasePaths[BigQueryBasePathKey]),
},
"bigquery_connection_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BIGQUERY_CONNECTION_CUSTOM_ENDPOINT",
}, DefaultBasePaths[BigqueryConnectionBasePathKey]),
},
"bigquery_data_transfer_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BIGQUERY_DATA_TRANSFER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[BigqueryDataTransferBasePathKey]),
},
"bigquery_reservation_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BIGQUERY_RESERVATION_CUSTOM_ENDPOINT",
}, DefaultBasePaths[BigqueryReservationBasePathKey]),
},
"bigtable_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BIGTABLE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[BigtableBasePathKey]),
},
"billing_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BILLING_CUSTOM_ENDPOINT",
}, DefaultBasePaths[BillingBasePathKey]),
},
"binary_authorization_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_BINARY_AUTHORIZATION_CUSTOM_ENDPOINT",
}, DefaultBasePaths[BinaryAuthorizationBasePathKey]),
},
"certificate_manager_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CERTIFICATE_MANAGER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CertificateManagerBasePathKey]),
},
"cloud_asset_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_ASSET_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudAssetBasePathKey]),
},
"cloud_build_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_BUILD_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudBuildBasePathKey]),
},
"cloud_functions_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_FUNCTIONS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudFunctionsBasePathKey]),
},
"cloudfunctions2_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUDFUNCTIONS2_CUSTOM_ENDPOINT",
}, DefaultBasePaths[Cloudfunctions2BasePathKey]),
},
"cloud_identity_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_IDENTITY_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudIdentityBasePathKey]),
},
"cloud_iot_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_IOT_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudIotBasePathKey]),
},
"cloud_run_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_RUN_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudRunBasePathKey]),
},
"cloud_scheduler_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_SCHEDULER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudSchedulerBasePathKey]),
},
"cloud_tasks_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CLOUD_TASKS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[CloudTasksBasePathKey]),
},
"compute_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_COMPUTE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ComputeBasePathKey]),
},
"container_analysis_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_CONTAINER_ANALYSIS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ContainerAnalysisBasePathKey]),
},
"data_catalog_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DATA_CATALOG_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DataCatalogBasePathKey]),
},
"data_fusion_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DATA_FUSION_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DataFusionBasePathKey]),
},
"data_loss_prevention_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DATA_LOSS_PREVENTION_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DataLossPreventionBasePathKey]),
},
"dataproc_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DATAPROC_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DataprocBasePathKey]),
},
"dataproc_metastore_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DATAPROC_METASTORE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DataprocMetastoreBasePathKey]),
},
"datastore_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DATASTORE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DatastoreBasePathKey]),
},
"datastream_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DATASTREAM_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DatastreamBasePathKey]),
},
"deployment_manager_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DEPLOYMENT_MANAGER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DeploymentManagerBasePathKey]),
},
"dialogflow_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DIALOGFLOW_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DialogflowBasePathKey]),
},
"dialogflow_cx_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DIALOGFLOW_CX_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DialogflowCXBasePathKey]),
},
"dns_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DNS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DNSBasePathKey]),
},
"document_ai_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_DOCUMENT_AI_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DocumentAIBasePathKey]),
},
"essential_contacts_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_ESSENTIAL_CONTACTS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[EssentialContactsBasePathKey]),
},
"filestore_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_FILESTORE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[FilestoreBasePathKey]),
},
"firestore_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_FIRESTORE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[FirestoreBasePathKey]),
},
"game_services_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_GAME_SERVICES_CUSTOM_ENDPOINT",
}, DefaultBasePaths[GameServicesBasePathKey]),
},
"gke_hub_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_GKE_HUB_CUSTOM_ENDPOINT",
}, DefaultBasePaths[GKEHubBasePathKey]),
},
"healthcare_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_HEALTHCARE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[HealthcareBasePathKey]),
},
"iam_beta_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_IAM_BETA_CUSTOM_ENDPOINT",
}, DefaultBasePaths[IAMBetaBasePathKey]),
},
"iap_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_IAP_CUSTOM_ENDPOINT",
}, DefaultBasePaths[IapBasePathKey]),
},
"identity_platform_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_IDENTITY_PLATFORM_CUSTOM_ENDPOINT",
}, DefaultBasePaths[IdentityPlatformBasePathKey]),
},
"kms_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_KMS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[KMSBasePathKey]),
},
"logging_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_LOGGING_CUSTOM_ENDPOINT",
}, DefaultBasePaths[LoggingBasePathKey]),
},
"memcache_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_MEMCACHE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[MemcacheBasePathKey]),
},
"ml_engine_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_ML_ENGINE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[MLEngineBasePathKey]),
},
"monitoring_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_MONITORING_CUSTOM_ENDPOINT",
}, DefaultBasePaths[MonitoringBasePathKey]),
},
"network_management_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_NETWORK_MANAGEMENT_CUSTOM_ENDPOINT",
}, DefaultBasePaths[NetworkManagementBasePathKey]),
},
"network_services_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_NETWORK_SERVICES_CUSTOM_ENDPOINT",
}, DefaultBasePaths[NetworkServicesBasePathKey]),
},
"notebooks_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_NOTEBOOKS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[NotebooksBasePathKey]),
},
"os_config_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_OS_CONFIG_CUSTOM_ENDPOINT",
}, DefaultBasePaths[OSConfigBasePathKey]),
},
"os_login_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_OS_LOGIN_CUSTOM_ENDPOINT",
}, DefaultBasePaths[OSLoginBasePathKey]),
},
"privateca_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_PRIVATECA_CUSTOM_ENDPOINT",
}, DefaultBasePaths[PrivatecaBasePathKey]),
},
"pubsub_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_PUBSUB_CUSTOM_ENDPOINT",
}, DefaultBasePaths[PubsubBasePathKey]),
},
"pubsub_lite_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_PUBSUB_LITE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[PubsubLiteBasePathKey]),
},
"redis_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_REDIS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[RedisBasePathKey]),
},
"resource_manager_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_RESOURCE_MANAGER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ResourceManagerBasePathKey]),
},
"secret_manager_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_SECRET_MANAGER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[SecretManagerBasePathKey]),
},
"security_center_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_SECURITY_CENTER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[SecurityCenterBasePathKey]),
},
"service_management_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_SERVICE_MANAGEMENT_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ServiceManagementBasePathKey]),
},
"service_usage_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_SERVICE_USAGE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ServiceUsageBasePathKey]),
},
"source_repo_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_SOURCE_REPO_CUSTOM_ENDPOINT",
}, DefaultBasePaths[SourceRepoBasePathKey]),
},
"spanner_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_SPANNER_CUSTOM_ENDPOINT",
}, DefaultBasePaths[SpannerBasePathKey]),
},
"sql_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_SQL_CUSTOM_ENDPOINT",
}, DefaultBasePaths[SQLBasePathKey]),
},
"storage_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_STORAGE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[StorageBasePathKey]),
},
"tags_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_TAGS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[TagsBasePathKey]),
},
"tpu_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_TPU_CUSTOM_ENDPOINT",
}, DefaultBasePaths[TPUBasePathKey]),
},
"vertex_ai_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_VERTEX_AI_CUSTOM_ENDPOINT",
}, DefaultBasePaths[VertexAIBasePathKey]),
},
"vpc_access_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_VPC_ACCESS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[VPCAccessBasePathKey]),
},
"workflows_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
"GOOGLE_WORKFLOWS_CUSTOM_ENDPOINT",
}, DefaultBasePaths[WorkflowsBasePathKey]),
},
// Handwritten Products / Versioned / Atypical Entries
CloudBillingCustomEndpointEntryKey: CloudBillingCustomEndpointEntry,
ComposerCustomEndpointEntryKey: ComposerCustomEndpointEntry,
ContainerCustomEndpointEntryKey: ContainerCustomEndpointEntry,
DataflowCustomEndpointEntryKey: DataflowCustomEndpointEntry,
IamCredentialsCustomEndpointEntryKey: IamCredentialsCustomEndpointEntry,
ResourceManagerV3CustomEndpointEntryKey: ResourceManagerV3CustomEndpointEntry,
IAMCustomEndpointEntryKey: IAMCustomEndpointEntry,
ServiceNetworkingCustomEndpointEntryKey: ServiceNetworkingCustomEndpointEntry,
ServiceUsageCustomEndpointEntryKey: ServiceUsageCustomEndpointEntry,
StorageTransferCustomEndpointEntryKey: StorageTransferCustomEndpointEntry,
BigtableAdminCustomEndpointEntryKey: BigtableAdminCustomEndpointEntry,
// dcl
ContainerAwsCustomEndpointEntryKey: ContainerAwsCustomEndpointEntry,
ContainerAzureCustomEndpointEntryKey: ContainerAzureCustomEndpointEntry,
},
ProviderMetaSchema: map[string]*schema.Schema{
"module_name": {
Type: schema.TypeString,
Optional: true,
},
},
DataSourcesMap: map[string]*schema.Resource{
// ####### START datasources ###########
"google_access_approval_folder_service_account": dataSourceAccessApprovalFolderServiceAccount(),
"google_access_approval_organization_service_account": dataSourceAccessApprovalOrganizationServiceAccount(),
"google_access_approval_project_service_account": dataSourceAccessApprovalProjectServiceAccount(),
"google_active_folder": dataSourceGoogleActiveFolder(),
"google_artifact_registry_repository": dataSourceArtifactRegistryRepository(),
"google_app_engine_default_service_account": dataSourceGoogleAppEngineDefaultServiceAccount(),
"google_billing_account": dataSourceGoogleBillingAccount(),
"google_bigquery_default_service_account": dataSourceGoogleBigqueryDefaultServiceAccount(),
"google_client_config": dataSourceGoogleClientConfig(),
"google_client_openid_userinfo": dataSourceGoogleClientOpenIDUserinfo(),
"google_cloudfunctions_function": dataSourceGoogleCloudFunctionsFunction(),
"google_cloudfunctions2_function": dataSourceGoogleCloudFunctions2Function(),
"google_cloud_identity_groups": dataSourceGoogleCloudIdentityGroups(),
"google_cloud_identity_group_memberships": dataSourceGoogleCloudIdentityGroupMemberships(),
"google_cloud_run_locations": dataSourceGoogleCloudRunLocations(),
"google_cloud_run_service": dataSourceGoogleCloudRunService(),
"google_composer_environment": dataSourceGoogleComposerEnvironment(),
"google_composer_image_versions": dataSourceGoogleComposerImageVersions(),
"google_compute_address": dataSourceGoogleComputeAddress(),
"google_compute_backend_service": dataSourceGoogleComputeBackendService(),
"google_compute_backend_bucket": dataSourceGoogleComputeBackendBucket(),
"google_compute_default_service_account": dataSourceGoogleComputeDefaultServiceAccount(),
"google_compute_disk": dataSourceGoogleComputeDisk(),
"google_compute_forwarding_rule": dataSourceGoogleComputeForwardingRule(),
"google_compute_global_address": dataSourceGoogleComputeGlobalAddress(),
"google_compute_global_forwarding_rule": dataSourceGoogleComputeGlobalForwardingRule(),
"google_compute_ha_vpn_gateway": dataSourceGoogleComputeHaVpnGateway(),
"google_compute_health_check": dataSourceGoogleComputeHealthCheck(),
"google_compute_image": dataSourceGoogleComputeImage(),
"google_compute_instance": dataSourceGoogleComputeInstance(),
"google_compute_instance_group": dataSourceGoogleComputeInstanceGroup(),
"google_compute_instance_serial_port": dataSourceGoogleComputeInstanceSerialPort(),
"google_compute_instance_template": dataSourceGoogleComputeInstanceTemplate(),
"google_compute_lb_ip_ranges": dataSourceGoogleComputeLbIpRanges(),
"google_compute_network": dataSourceGoogleComputeNetwork(),
"google_compute_network_endpoint_group": dataSourceGoogleComputeNetworkEndpointGroup(),
"google_compute_node_types": dataSourceGoogleComputeNodeTypes(),
"google_compute_regions": dataSourceGoogleComputeRegions(),
"google_compute_region_instance_group": dataSourceGoogleComputeRegionInstanceGroup(),
"google_compute_region_ssl_certificate": dataSourceGoogleRegionComputeSslCertificate(),
"google_compute_resource_policy": dataSourceGoogleComputeResourcePolicy(),
"google_compute_router": dataSourceGoogleComputeRouter(),
"google_compute_router_status": dataSourceGoogleComputeRouterStatus(),
"google_compute_snapshot": dataSourceGoogleComputeSnapshot(),
"google_compute_ssl_certificate": dataSourceGoogleComputeSslCertificate(),
"google_compute_ssl_policy": dataSourceGoogleComputeSslPolicy(),
"google_compute_subnetwork": dataSourceGoogleComputeSubnetwork(),
"google_compute_vpn_gateway": dataSourceGoogleComputeVpnGateway(),
"google_compute_zones": dataSourceGoogleComputeZones(),
"google_container_azure_versions": dataSourceGoogleContainerAzureVersions(),
"google_container_aws_versions": dataSourceGoogleContainerAwsVersions(),
"google_container_cluster": dataSourceGoogleContainerCluster(),
"google_container_engine_versions": dataSourceGoogleContainerEngineVersions(),
"google_container_registry_image": dataSourceGoogleContainerImage(),
"google_container_registry_repository": dataSourceGoogleContainerRepo(),
"google_dataproc_metastore_service": dataSourceDataprocMetastoreService(),
"google_dns_keys": dataSourceDNSKeys(),
"google_dns_managed_zone": dataSourceDnsManagedZone(),
"google_dns_record_set": dataSourceDnsRecordSet(),
"google_game_services_game_server_deployment_rollout": dataSourceGameServicesGameServerDeploymentRollout(),
"google_iam_policy": dataSourceGoogleIamPolicy(),
"google_iam_role": dataSourceGoogleIamRole(),
"google_iam_testable_permissions": dataSourceGoogleIamTestablePermissions(),
"google_iap_client": dataSourceGoogleIapClient(),
"google_kms_crypto_key": dataSourceGoogleKmsCryptoKey(),
"google_kms_crypto_key_version": dataSourceGoogleKmsCryptoKeyVersion(),
"google_kms_key_ring": dataSourceGoogleKmsKeyRing(),
"google_kms_secret": dataSourceGoogleKmsSecret(),
"google_kms_secret_ciphertext": dataSourceGoogleKmsSecretCiphertext(),
"google_folder": dataSourceGoogleFolder(),
"google_folders": dataSourceGoogleFolders(),
"google_folder_organization_policy": dataSourceGoogleFolderOrganizationPolicy(),
"google_monitoring_notification_channel": dataSourceMonitoringNotificationChannel(),
"google_monitoring_cluster_istio_service": dataSourceMonitoringServiceClusterIstio(),
"google_monitoring_istio_canonical_service": dataSourceMonitoringIstioCanonicalService(),
"google_monitoring_mesh_istio_service": dataSourceMonitoringServiceMeshIstio(),
"google_monitoring_app_engine_service": dataSourceMonitoringServiceAppEngine(),
"google_monitoring_uptime_check_ips": dataSourceGoogleMonitoringUptimeCheckIps(),
"google_netblock_ip_ranges": dataSourceGoogleNetblockIpRanges(),
"google_organization": dataSourceGoogleOrganization(),
"google_privateca_certificate_authority": dataSourcePrivatecaCertificateAuthority(),
"google_project": dataSourceGoogleProject(),
"google_projects": dataSourceGoogleProjects(),
"google_project_organization_policy": dataSourceGoogleProjectOrganizationPolicy(),
"google_pubsub_topic": dataSourceGooglePubsubTopic(),
"google_secret_manager_secret": dataSourceSecretManagerSecret(),
"google_secret_manager_secret_version": dataSourceSecretManagerSecretVersion(),
"google_service_account": dataSourceGoogleServiceAccount(),
"google_service_account_access_token": dataSourceGoogleServiceAccountAccessToken(),
"google_service_account_id_token": dataSourceGoogleServiceAccountIdToken(),
"google_service_account_jwt": dataSourceGoogleServiceAccountJwt(),
"google_service_account_key": dataSourceGoogleServiceAccountKey(),
"google_sourcerepo_repository": dataSourceGoogleSourceRepoRepository(),
"google_spanner_instance": dataSourceSpannerInstance(),
"google_sql_ca_certs": dataSourceGoogleSQLCaCerts(),
"google_sql_backup_run": dataSourceSqlBackupRun(),
"google_sql_database_instance": dataSourceSqlDatabaseInstance(),
"google_service_networking_peered_dns_domain": dataSourceGoogleServiceNetworkingPeeredDNSDomain(),
"google_storage_bucket": dataSourceGoogleStorageBucket(),
"google_storage_bucket_object": dataSourceGoogleStorageBucketObject(),
"google_storage_bucket_object_content": dataSourceGoogleStorageBucketObjectContent(),
"google_storage_object_signed_url": dataSourceGoogleSignedUrl(),
"google_storage_project_service_account": dataSourceGoogleStorageProjectServiceAccount(),
"google_storage_transfer_project_service_account": dataSourceGoogleStorageTransferProjectServiceAccount(),
"google_tags_tag_key": dataSourceGoogleTagsTagKey(),
"google_tags_tag_value": dataSourceGoogleTagsTagValue(),
"google_tpu_tensorflow_versions": dataSourceTpuTensorflowVersions(),
"google_vpc_access_connector": dataSourceVPCAccessConnector(),
"google_redis_instance": dataSourceGoogleRedisInstance(),
// ####### END datasources ###########
},
ResourcesMap: ResourceMap(),
}
provider.ConfigureContextFunc = func(ctx context.Context, d *schema.ResourceData) (interface{}, diag.Diagnostics) {
return providerConfigure(ctx, d, provider)
}
configureDCLProvider(provider)
return provider
}
// Generated resources: 235
// Generated IAM resources: 138
// Total generated resources: 373
func ResourceMap() map[string]*schema.Resource {
resourceMap, _ := ResourceMapWithErrors()
return resourceMap
}
func ResourceMapWithErrors() (map[string]*schema.Resource, error) {
return mergeResourceMaps(
map[string]*schema.Resource{
"google_folder_access_approval_settings": resourceAccessApprovalFolderSettings(),
"google_project_access_approval_settings": resourceAccessApprovalProjectSettings(),
"google_organization_access_approval_settings": resourceAccessApprovalOrganizationSettings(),
"google_access_context_manager_access_policy": resourceAccessContextManagerAccessPolicy(),
"google_access_context_manager_access_policy_iam_binding": ResourceIamBinding(AccessContextManagerAccessPolicyIamSchema, AccessContextManagerAccessPolicyIamUpdaterProducer, AccessContextManagerAccessPolicyIdParseFunc),
"google_access_context_manager_access_policy_iam_member": ResourceIamMember(AccessContextManagerAccessPolicyIamSchema, AccessContextManagerAccessPolicyIamUpdaterProducer, AccessContextManagerAccessPolicyIdParseFunc),
"google_access_context_manager_access_policy_iam_policy": ResourceIamPolicy(AccessContextManagerAccessPolicyIamSchema, AccessContextManagerAccessPolicyIamUpdaterProducer, AccessContextManagerAccessPolicyIdParseFunc),
"google_access_context_manager_access_level": resourceAccessContextManagerAccessLevel(),
"google_access_context_manager_access_levels": resourceAccessContextManagerAccessLevels(),
"google_access_context_manager_access_level_condition": resourceAccessContextManagerAccessLevelCondition(),
"google_access_context_manager_service_perimeter": resourceAccessContextManagerServicePerimeter(),
"google_access_context_manager_service_perimeters": resourceAccessContextManagerServicePerimeters(),
"google_access_context_manager_service_perimeter_resource": resourceAccessContextManagerServicePerimeterResource(),
"google_access_context_manager_gcp_user_access_binding": resourceAccessContextManagerGcpUserAccessBinding(),
"google_active_directory_domain": resourceActiveDirectoryDomain(),
"google_active_directory_domain_trust": resourceActiveDirectoryDomainTrust(),
"google_apigee_organization": resourceApigeeOrganization(),
"google_apigee_instance": resourceApigeeInstance(),
"google_apigee_environment": resourceApigeeEnvironment(),
"google_apigee_environment_iam_binding": ResourceIamBinding(ApigeeEnvironmentIamSchema, ApigeeEnvironmentIamUpdaterProducer, ApigeeEnvironmentIdParseFunc),
"google_apigee_environment_iam_member": ResourceIamMember(ApigeeEnvironmentIamSchema, ApigeeEnvironmentIamUpdaterProducer, ApigeeEnvironmentIdParseFunc),
"google_apigee_environment_iam_policy": ResourceIamPolicy(ApigeeEnvironmentIamSchema, ApigeeEnvironmentIamUpdaterProducer, ApigeeEnvironmentIdParseFunc),
"google_apigee_envgroup": resourceApigeeEnvgroup(),
"google_apigee_instance_attachment": resourceApigeeInstanceAttachment(),
"google_apigee_envgroup_attachment": resourceApigeeEnvgroupAttachment(),
"google_apigee_endpoint_attachment": resourceApigeeEndpointAttachment(),
"google_apigee_nat_address": resourceApigeeNatAddress(),
"google_app_engine_domain_mapping": resourceAppEngineDomainMapping(),
"google_app_engine_firewall_rule": resourceAppEngineFirewallRule(),
"google_app_engine_standard_app_version": resourceAppEngineStandardAppVersion(),
"google_app_engine_flexible_app_version": resourceAppEngineFlexibleAppVersion(),
"google_app_engine_application_url_dispatch_rules": resourceAppEngineApplicationUrlDispatchRules(),
"google_app_engine_service_split_traffic": resourceAppEngineServiceSplitTraffic(),
"google_app_engine_service_network_settings": resourceAppEngineServiceNetworkSettings(),
"google_artifact_registry_repository": resourceArtifactRegistryRepository(),
"google_artifact_registry_repository_iam_binding": ResourceIamBinding(ArtifactRegistryRepositoryIamSchema, ArtifactRegistryRepositoryIamUpdaterProducer, ArtifactRegistryRepositoryIdParseFunc),
"google_artifact_registry_repository_iam_member": ResourceIamMember(ArtifactRegistryRepositoryIamSchema, ArtifactRegistryRepositoryIamUpdaterProducer, ArtifactRegistryRepositoryIdParseFunc),
"google_artifact_registry_repository_iam_policy": ResourceIamPolicy(ArtifactRegistryRepositoryIamSchema, ArtifactRegistryRepositoryIamUpdaterProducer, ArtifactRegistryRepositoryIdParseFunc),
"google_bigquery_dataset": resourceBigQueryDataset(),
"google_bigquery_dataset_access": resourceBigQueryDatasetAccess(),
"google_bigquery_job": resourceBigQueryJob(),
"google_bigquery_table_iam_binding": ResourceIamBinding(BigQueryTableIamSchema, BigQueryTableIamUpdaterProducer, BigQueryTableIdParseFunc),
"google_bigquery_table_iam_member": ResourceIamMember(BigQueryTableIamSchema, BigQueryTableIamUpdaterProducer, BigQueryTableIdParseFunc),
"google_bigquery_table_iam_policy": ResourceIamPolicy(BigQueryTableIamSchema, BigQueryTableIamUpdaterProducer, BigQueryTableIdParseFunc),
"google_bigquery_routine": resourceBigQueryRoutine(),
"google_bigquery_connection": resourceBigqueryConnectionConnection(),
"google_bigquery_connection_iam_binding": ResourceIamBinding(BigqueryConnectionConnectionIamSchema, BigqueryConnectionConnectionIamUpdaterProducer, BigqueryConnectionConnectionIdParseFunc),
"google_bigquery_connection_iam_member": ResourceIamMember(BigqueryConnectionConnectionIamSchema, BigqueryConnectionConnectionIamUpdaterProducer, BigqueryConnectionConnectionIdParseFunc),
"google_bigquery_connection_iam_policy": ResourceIamPolicy(BigqueryConnectionConnectionIamSchema, BigqueryConnectionConnectionIamUpdaterProducer, BigqueryConnectionConnectionIdParseFunc),
"google_bigquery_data_transfer_config": resourceBigqueryDataTransferConfig(),
"google_bigquery_reservation": resourceBigqueryReservationReservation(),
"google_bigtable_app_profile": resourceBigtableAppProfile(),
"google_billing_budget": resourceBillingBudget(),
"google_binary_authorization_attestor": resourceBinaryAuthorizationAttestor(),
"google_binary_authorization_attestor_iam_binding": ResourceIamBinding(BinaryAuthorizationAttestorIamSchema, BinaryAuthorizationAttestorIamUpdaterProducer, BinaryAuthorizationAttestorIdParseFunc),
"google_binary_authorization_attestor_iam_member": ResourceIamMember(BinaryAuthorizationAttestorIamSchema, BinaryAuthorizationAttestorIamUpdaterProducer, BinaryAuthorizationAttestorIdParseFunc),
"google_binary_authorization_attestor_iam_policy": ResourceIamPolicy(BinaryAuthorizationAttestorIamSchema, BinaryAuthorizationAttestorIamUpdaterProducer, BinaryAuthorizationAttestorIdParseFunc),
"google_binary_authorization_policy": resourceBinaryAuthorizationPolicy(),
"google_certificate_manager_dns_authorization": resourceCertificateManagerDnsAuthorization(),
"google_certificate_manager_certificate": resourceCertificateManagerCertificate(),
"google_certificate_manager_certificate_map": resourceCertificateManagerCertificateMap(),
"google_certificate_manager_certificate_map_entry": resourceCertificateManagerCertificateMapEntry(),
"google_cloud_asset_project_feed": resourceCloudAssetProjectFeed(),
"google_cloud_asset_folder_feed": resourceCloudAssetFolderFeed(),
"google_cloud_asset_organization_feed": resourceCloudAssetOrganizationFeed(),
"google_cloudbuild_trigger": resourceCloudBuildTrigger(),
"google_cloudfunctions_function_iam_binding": ResourceIamBinding(CloudFunctionsCloudFunctionIamSchema, CloudFunctionsCloudFunctionIamUpdaterProducer, CloudFunctionsCloudFunctionIdParseFunc),
"google_cloudfunctions_function_iam_member": ResourceIamMember(CloudFunctionsCloudFunctionIamSchema, CloudFunctionsCloudFunctionIamUpdaterProducer, CloudFunctionsCloudFunctionIdParseFunc),
"google_cloudfunctions_function_iam_policy": ResourceIamPolicy(CloudFunctionsCloudFunctionIamSchema, CloudFunctionsCloudFunctionIamUpdaterProducer, CloudFunctionsCloudFunctionIdParseFunc),
"google_cloudfunctions2_function": resourceCloudfunctions2function(),
"google_cloudfunctions2_function_iam_binding": ResourceIamBinding(Cloudfunctions2functionIamSchema, Cloudfunctions2functionIamUpdaterProducer, Cloudfunctions2functionIdParseFunc),
"google_cloudfunctions2_function_iam_member": ResourceIamMember(Cloudfunctions2functionIamSchema, Cloudfunctions2functionIamUpdaterProducer, Cloudfunctions2functionIdParseFunc),
"google_cloudfunctions2_function_iam_policy": ResourceIamPolicy(Cloudfunctions2functionIamSchema, Cloudfunctions2functionIamUpdaterProducer, Cloudfunctions2functionIdParseFunc),
"google_cloud_identity_group": resourceCloudIdentityGroup(),
"google_cloud_identity_group_membership": resourceCloudIdentityGroupMembership(),
"google_cloudiot_registry": resourceCloudIotDeviceRegistry(),
"google_cloudiot_registry_iam_binding": ResourceIamBinding(CloudIotDeviceRegistryIamSchema, CloudIotDeviceRegistryIamUpdaterProducer, CloudIotDeviceRegistryIdParseFunc),
"google_cloudiot_registry_iam_member": ResourceIamMember(CloudIotDeviceRegistryIamSchema, CloudIotDeviceRegistryIamUpdaterProducer, CloudIotDeviceRegistryIdParseFunc),
"google_cloudiot_registry_iam_policy": ResourceIamPolicy(CloudIotDeviceRegistryIamSchema, CloudIotDeviceRegistryIamUpdaterProducer, CloudIotDeviceRegistryIdParseFunc),
"google_cloudiot_device": resourceCloudIotDevice(),
"google_cloud_run_domain_mapping": resourceCloudRunDomainMapping(),
"google_cloud_run_service": resourceCloudRunService(),
"google_cloud_run_service_iam_binding": ResourceIamBinding(CloudRunServiceIamSchema, CloudRunServiceIamUpdaterProducer, CloudRunServiceIdParseFunc),
"google_cloud_run_service_iam_member": ResourceIamMember(CloudRunServiceIamSchema, CloudRunServiceIamUpdaterProducer, CloudRunServiceIdParseFunc),
"google_cloud_run_service_iam_policy": ResourceIamPolicy(CloudRunServiceIamSchema, CloudRunServiceIamUpdaterProducer, CloudRunServiceIdParseFunc),
"google_cloud_scheduler_job": resourceCloudSchedulerJob(),
"google_cloud_tasks_queue": resourceCloudTasksQueue(),
"google_cloud_tasks_queue_iam_binding": ResourceIamBinding(CloudTasksQueueIamSchema, CloudTasksQueueIamUpdaterProducer, CloudTasksQueueIdParseFunc),
"google_cloud_tasks_queue_iam_member": ResourceIamMember(CloudTasksQueueIamSchema, CloudTasksQueueIamUpdaterProducer, CloudTasksQueueIdParseFunc),
"google_cloud_tasks_queue_iam_policy": ResourceIamPolicy(CloudTasksQueueIamSchema, CloudTasksQueueIamUpdaterProducer, CloudTasksQueueIdParseFunc),
"google_compute_address": resourceComputeAddress(),
"google_compute_autoscaler": resourceComputeAutoscaler(),
"google_compute_backend_bucket": resourceComputeBackendBucket(),
"google_compute_backend_bucket_signed_url_key": resourceComputeBackendBucketSignedUrlKey(),
"google_compute_backend_service": resourceComputeBackendService(),