-
Notifications
You must be signed in to change notification settings - Fork 1
/
resource_quota.tf
61 lines (44 loc) · 2.77 KB
/
resource_quota.tf
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
resource "kubernetes_resource_quota" "instance" {
depends_on = [null_resource.module_depends_on]
for_each = local.resource_quota.applications
dynamic "metadata" { # Nesting Mode: list Min Items : 1 Max Items : 1
for_each = contains(keys(each.value), "metadata") ? {item = each.value["metadata"]} : {}
content {
annotations = lookup(metadata.value, "annotations", null)
# Type: ['map', 'string'] Optional
# An unstructured key value map stored with the resource quota that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generate_name = lookup(metadata.value, "generateName", null)
# Type: string Optional
# Prefix, used by the server, to generate a unique name ONLY IF the `name` field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
labels = lookup(metadata.value, "labels", null)
# Type: ['map', 'string'] Optional
# Map of string keys and values that can be used to organize and categorize (scope and select) the resource quota. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name = lookup(metadata.value, "name", null)
# Type: string Optional Computed
# Name of the resource quota, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace = var.namespace != "" ? var.namespace : lookup(metadata.value, "namespace", null)
# Type: string Optional
# Namespace defines the space within which name of the resource quota must be unique.
}
}
dynamic "spec" { # Nesting Mode: list Max Items : 1
for_each = contains(keys(each.value), "spec") ? {item = each.value["spec"]} : {}
content {
hard = lookup(spec.value, "hard", null)
# Type: ['map', 'string'] Optional
# The set of desired hard limits for each named resource. More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota
scopes = lookup(spec.value, "scopes", null)
# Type: ['set', 'string'] Optional
# A collection of filters that must match each object tracked by a quota. If not specified, the quota matches all objects.
}
}
dynamic "timeouts" { # Nesting Mode: single
for_each = contains(keys(each.value), "timeouts") ? {item = each.value["timeouts"]} : {}
content {
create = lookup(timeouts.value, "create", null)
# Type: string Optional
update = lookup(timeouts.value, "update", null)
# Type: string Optional
}
}
}