2022-01-14 01:29:09 -08:00
/ * *
2023-02-06 09:08:03 -08:00
* Copyright 2023 Google LLC
2022-01-14 01:29:09 -08:00
*
* Licensed under the Apache License , Version 2 . 0 ( the " License " ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an " AS IS " BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
* /
2023-08-20 00:44:20 -07:00
variable " data_defaults " {
description = " Optional default values used when corresponding project data from files are missing. "
2022-01-14 01:29:09 -08:00
type = object ( {
2023-08-20 00:44:20 -07:00
billing_account = optional ( string )
contacts = optional ( map ( list ( string ) ) , { } )
labels = optional ( map ( string ) , { } )
metric_scopes = optional ( list ( string ) , [ ] )
2023-09-07 05:48:39 -07:00
parent = optional ( string )
2023-08-20 00:44:20 -07:00
prefix = optional ( string )
service_encryption_key_ids = optional ( map ( list ( string ) ) , { } )
service_perimeter_bridges = optional ( list ( string ) , [ ] )
service_perimeter_standard = optional ( string )
services = optional ( list ( string ) , [ ] )
shared_vpc_service_config = optional ( object ( {
2023-12-07 01:07:48 -08:00
host_project = string
service_identity_iam = optional ( map ( list ( string ) ) , { } )
service_identity_subnet_iam = optional ( map ( list ( string ) ) , { } )
service_iam_grants = optional ( list ( string ) , [ ] )
2023-08-20 00:44:20 -07:00
} ) , { host_project = null } )
tag_bindings = optional ( map ( string ) , { } )
# non-project resources
service_accounts = optional ( map ( object ( {
2023-10-26 07:09:03 -07:00
display_name = optional ( string , " Terraform-managed. " )
iam_project_roles = optional ( list ( string ) )
2023-08-20 00:44:20 -07:00
} ) ) , { } )
2022-01-14 01:29:09 -08:00
} )
2023-08-20 00:44:20 -07:00
nullable = false
default = { }
2022-01-14 01:29:09 -08:00
}
2023-08-20 00:44:20 -07:00
variable " data_merges " {
description = " Optional values that will be merged with corresponding data from files. Combines with `data_defaults`, file data, and `data_overrides`. "
2022-01-14 01:29:09 -08:00
type = object ( {
2023-08-20 00:44:20 -07:00
contacts = optional ( map ( list ( string ) ) , { } )
labels = optional ( map ( string ) , { } )
metric_scopes = optional ( list ( string ) , [ ] )
service_encryption_key_ids = optional ( map ( list ( string ) ) , { } )
service_perimeter_bridges = optional ( list ( string ) , [ ] )
services = optional ( list ( string ) , [ ] )
tag_bindings = optional ( map ( string ) , { } )
# non-project resources
service_accounts = optional ( map ( object ( {
2023-10-26 07:09:03 -07:00
display_name = optional ( string , " Terraform-managed. " )
iam_project_roles = optional ( list ( string ) )
2023-08-20 00:44:20 -07:00
} ) ) , { } )
2022-01-14 01:29:09 -08:00
} )
2022-10-28 08:27:33 -07:00
nullable = false
2023-08-20 00:44:20 -07:00
default = { }
2022-01-14 01:29:09 -08:00
}
2023-08-20 00:44:20 -07:00
variable " data_overrides " {
description = " Optional values that override corresponding data from files. Takes precedence over file data and `data_defaults`. "
type = object ( {
billing_account = optional ( string )
contacts = optional ( map ( list ( string ) ) )
2023-09-07 05:48:39 -07:00
parent = optional ( string )
2023-08-20 00:44:20 -07:00
prefix = optional ( string )
service_encryption_key_ids = optional ( map ( list ( string ) ) )
service_perimeter_bridges = optional ( list ( string ) )
service_perimeter_standard = optional ( string )
tag_bindings = optional ( map ( string ) )
services = optional ( list ( string ) )
# non-project resources
service_accounts = optional ( map ( object ( {
2023-10-26 07:09:03 -07:00
display_name = optional ( string , " Terraform-managed. " )
iam_project_roles = optional ( list ( string ) )
2023-08-20 00:44:20 -07:00
} ) ) )
} )
nullable = false
default = { }
2022-11-19 03:38:37 -08:00
}
2023-11-02 00:24:50 -07:00
variable " factory_data_path " {
description = " Path to folder with YAML project description data files. "
type = string
nullable = false
2022-01-14 01:29:09 -08:00
}