2022-02-09 04:05:27 -08:00
/ * *
* Copyright 2022 Google LLC
*
* 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 .
* /
variable " activated_policy_types " {
description = " A list of policy types that are activated for this taxonomy. "
type = list ( string )
default = [ " FINE_GRAINED_ACCESS_CONTROL " ]
}
variable " description " {
description = " Description of this taxonomy. "
type = string
default = " Taxonomy - Terraform managed "
}
variable " group_iam " {
description = " Authoritative IAM binding for organization groups, in {GROUP_EMAIL => [ROLES]} format. Group emails need to be static. Can be used in combination with the `iam` variable. "
type = map ( list ( string ) )
default = { }
}
variable " iam " {
description = " IAM bindings in {ROLE => [MEMBERS]} format. "
type = map ( list ( string ) )
default = { }
}
2023-08-20 00:44:20 -07:00
variable " iam_bindings " {
description = " Authoritative IAM bindings in {ROLE => {members = [], condition = {}}}. "
type = map ( object ( {
members = list ( string )
condition = optional ( object ( {
expression = string
title = string
description = optional ( string )
} ) )
} ) )
nullable = false
default = { }
2022-02-09 04:05:27 -08:00
}
2023-08-20 00:44:20 -07:00
variable " iam_bindings_additive " {
description = " Individual additive IAM bindings. Keys are arbitrary. "
2023-08-14 02:54:50 -07:00
type = map ( object ( {
member = string
role = string
2023-08-15 07:28:23 -07:00
condition = optional ( object ( {
expression = string
title = string
description = optional ( string )
} ) )
2023-08-14 02:54:50 -07:00
} ) )
nullable = false
default = { }
}
2022-02-09 04:05:27 -08:00
variable " location " {
description = " Data Catalog Taxonomy location. "
type = string
default = " eu "
}
variable " name " {
description = " Name of this taxonomy. "
type = string
}
variable " prefix " {
2022-11-10 07:05:53 -08:00
description = " Optional prefix used to generate project id and name. "
2022-02-09 04:05:27 -08:00
type = string
default = null
2022-11-10 07:05:53 -08:00
validation {
2022-11-10 07:11:38 -08:00
condition = var . prefix ! = " "
2022-11-11 03:56:47 -08:00
error_message = " Prefix cannot be empty, please use null instead. "
2022-11-10 07:05:53 -08:00
}
2022-02-09 04:05:27 -08:00
}
variable " project_id " {
description = " GCP project id. "
}
variable " tags " {
2022-03-10 10:21:54 -08:00
description = " List of Data Catalog Policy tags to be created with optional IAM binging configuration in {tag => {ROLE => [MEMBERS]}} format. "
2023-08-06 02:25:45 -07:00
type = map ( object ( {
description = optional ( string )
iam = optional ( map ( list ( string ) ) , { } )
} ) )
nullable = false
default = { }
2022-02-09 04:05:27 -08:00
}