-
Notifications
You must be signed in to change notification settings - Fork 1
/
ApiObjectMetadata.go
87 lines (84 loc) · 4.48 KB
/
ApiObjectMetadata.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
package cdk8s
// Metadata associated with this object.
type ApiObjectMetadata struct {
// Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
//
// They are not queryable and should be
// preserved when modifying objects.
// See: http://kubernetes.io/docs/user-guide/annotations
//
// Default: - No annotations.
//
Annotations *map[string]*string `field:"optional" json:"annotations" yaml:"annotations"`
// Namespaced keys that tell Kubernetes to wait until specific conditions are met before it fully deletes resources marked for deletion.
//
// Must be empty before the object is deleted from the registry. Each entry is
// an identifier for the responsible component that will remove the entry from
// the list. If the deletionTimestamp of the object is non-nil, entries in
// this list can only be removed. Finalizers may be processed and removed in
// any order. Order is NOT enforced because it introduces significant risk of
// stuck finalizers. finalizers is a shared field, any actor with permission
// can reorder it. If the finalizer list is processed in order, then this can
// lead to a situation in which the component responsible for the first
// finalizer in the list is waiting for a signal (field value, external
// system, or other) produced by a component responsible for a finalizer later
// in the list, resulting in a deadlock. Without enforced ordering finalizers
// are free to order amongst themselves and are not vulnerable to ordering
// changes in the list.
// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers/
//
// Default: - No finalizers.
//
Finalizers *[]*string `field:"optional" json:"finalizers" yaml:"finalizers"`
// Map of string keys and values that can be used to organize and categorize (scope and select) objects.
//
// May match selectors of replication controllers and services.
// See: http://kubernetes.io/docs/user-guide/labels
//
// Default: - No labels.
//
Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"`
// The unique, namespace-global, name of this object inside the Kubernetes cluster.
//
// Normally, you shouldn't specify names for objects and let the CDK generate
// a name for you that is application-unique. The names CDK generates are
// composed from the construct path components, separated by dots and a suffix
// that is based on a hash of the entire path, to ensure uniqueness.
//
// You can supply custom name allocation logic by overriding the
// `chart.generateObjectName` method.
//
// If you use an explicit name here, bear in mind that this reduces the
// composability of your construct because it won't be possible to include
// more than one instance in any app. Therefore it is highly recommended to
// leave this unspecified.
// Default: - an app-unique name generated by the chart.
//
Name *string `field:"optional" json:"name" yaml:"name"`
// Namespace defines the space within each name must be unique.
//
// An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation.
// Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
// Default: undefined (will be assigned to the 'default' namespace).
//
Namespace *string `field:"optional" json:"namespace" yaml:"namespace"`
// List of objects depended by this object.
//
// If ALL objects in the list have
// been deleted, this object will be garbage collected. If this object is
// managed by a controller, then an entry in this list will point to this
// controller, with the controller field set to true. There cannot be more
// than one managing controller.
//
// Kubernetes sets the value of this field automatically for objects that are
// dependents of other objects like ReplicaSets, DaemonSets, Deployments, Jobs
// and CronJobs, and ReplicationControllers. You can also configure these
// relationships manually by changing the value of this field. However, you
// usually don't need to and can allow Kubernetes to automatically manage the
// relationships.
// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/
//
// Default: - automatically set by Kubernetes.
//
OwnerReferences *[]*OwnerReference `field:"optional" json:"ownerReferences" yaml:"ownerReferences"`
}