cdk8s 1.61.24 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/java.md CHANGED
@@ -222,6 +222,7 @@ App.Builder.create()
222
222
  // .outdir(java.lang.String)
223
223
  // .outputFileExtension(java.lang.String)
224
224
  // .recordConstructMetadata(java.lang.Boolean)
225
+ // .resolvers(java.util.List<IResolver>)
225
226
  // .yamlOutputType(YamlOutputType)
226
227
  .build();
227
228
  ```
@@ -261,6 +262,21 @@ When set to true, the output directory will contain a `construct-metadata.json`
261
262
 
262
263
  ---
263
264
 
265
+ ##### `resolvers`<sup>Optional</sup> <a name="org.cdk8s.AppProps.parameter.resolvers"></a>
266
+
267
+ - *Type:* java.util.List<[`org.cdk8s.IResolver`](#org.cdk8s.IResolver)>
268
+ - *Default:* no resolvers.
269
+
270
+ A list of resolvers that can be used to replace property values before they are written to the manifest file.
271
+
272
+ When multiple resolvers are passed,
273
+ they are invoked by order in the list, and only the first one that applies
274
+ (e.g calls `context.replaceValue`) is invoked.
275
+
276
+ > https://cdk8s.io/docs/latest/basics/app/#resolvers
277
+
278
+ ---
279
+
264
280
  ##### `yamlOutputType`<sup>Optional</sup> <a name="org.cdk8s.AppProps.parameter.yamlOutputType"></a>
265
281
 
266
282
  - *Type:* [`org.cdk8s.YamlOutputType`](#org.cdk8s.YamlOutputType)
@@ -284,6 +300,21 @@ public synth()
284
300
  public synthYaml()
285
301
  ```
286
302
 
303
+ #### Static Functions <a name="Static Functions"></a>
304
+
305
+ ##### `of` <a name="org.cdk8s.App.of"></a>
306
+
307
+ ```java
308
+ import org.cdk8s.App;
309
+
310
+ App.of(IConstruct c)
311
+ ```
312
+
313
+ ###### `c`<sup>Required</sup> <a name="org.cdk8s.App.parameter.c"></a>
314
+
315
+ - *Type:* [`software.constructs.IConstruct`](#software.constructs.IConstruct)
316
+
317
+ ---
287
318
 
288
319
  #### Properties <a name="Properties"></a>
289
320
 
@@ -324,6 +355,21 @@ The file extension to use for rendered YAML files.
324
355
 
325
356
  ---
326
357
 
358
+ ##### `resolvers`<sup>Required</sup> <a name="org.cdk8s.App.property.resolvers"></a>
359
+
360
+ ```java
361
+ public java.util.List<IResolver> getResolvers();
362
+ ```
363
+
364
+ - *Type:* java.util.List<[`org.cdk8s.IResolver`](#org.cdk8s.IResolver)>
365
+
366
+ Resolvers used by this app.
367
+
368
+ This includes both custom resolvers
369
+ passed by the `resolvers` property, as well as built-in resolvers.
370
+
371
+ ---
372
+
327
373
  ##### `yamlOutputType`<sup>Required</sup> <a name="org.cdk8s.App.property.yamlOutputType"></a>
328
374
 
329
375
  ```java
@@ -689,6 +735,7 @@ Metadata associated with this object.
689
735
  import org.cdk8s.ApiObjectMetadata;
690
736
 
691
737
  ApiObjectMetadata.builder()
738
+ // .additionalAttributes(java.util.Map<java.lang.String, java.lang.Object>)
692
739
  // .annotations(java.util.Map<java.lang.String, java.lang.String>)
693
740
  // .finalizers(java.util.List<java.lang.String>)
694
741
  // .labels(java.util.Map<java.lang.String, java.lang.String>)
@@ -698,6 +745,18 @@ ApiObjectMetadata.builder()
698
745
  .build();
699
746
  ```
700
747
 
748
+ ##### `additionalAttributes`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.property.additionalAttributes"></a>
749
+
750
+ ```java
751
+ public java.util.Map<java.lang.String, java.lang.Object> getAdditionalAttributes();
752
+ ```
753
+
754
+ - *Type:* java.util.Map<java.lang.String, `java.lang.Object`>
755
+
756
+ Additional metadata attributes.
757
+
758
+ ---
759
+
701
760
  ##### `annotations`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.property.annotations"></a>
702
761
 
703
762
  ```java
@@ -832,6 +891,185 @@ relationships.
832
891
 
833
892
  ---
834
893
 
894
+ ### ApiObjectMetadataDefinitionOptions <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions"></a>
895
+
896
+ Options for `ApiObjectMetadataDefinition`.
897
+
898
+ #### Initializer <a name="[object Object].Initializer"></a>
899
+
900
+ ```java
901
+ import org.cdk8s.ApiObjectMetadataDefinitionOptions;
902
+
903
+ ApiObjectMetadataDefinitionOptions.builder()
904
+ // .additionalAttributes(java.util.Map<java.lang.String, java.lang.Object>)
905
+ // .annotations(java.util.Map<java.lang.String, java.lang.String>)
906
+ // .finalizers(java.util.List<java.lang.String>)
907
+ // .labels(java.util.Map<java.lang.String, java.lang.String>)
908
+ // .name(java.lang.String)
909
+ // .namespace(java.lang.String)
910
+ // .ownerReferences(java.util.List<OwnerReference>)
911
+ .apiObject(ApiObject)
912
+ .build();
913
+ ```
914
+
915
+ ##### `additionalAttributes`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.additionalAttributes"></a>
916
+
917
+ ```java
918
+ public java.util.Map<java.lang.String, java.lang.Object> getAdditionalAttributes();
919
+ ```
920
+
921
+ - *Type:* java.util.Map<java.lang.String, `java.lang.Object`>
922
+
923
+ Additional metadata attributes.
924
+
925
+ ---
926
+
927
+ ##### `annotations`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.annotations"></a>
928
+
929
+ ```java
930
+ public java.util.Map<java.lang.String, java.lang.String> getAnnotations();
931
+ ```
932
+
933
+ - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
934
+ - *Default:* No annotations.
935
+
936
+ Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
937
+
938
+ They are not queryable and should be
939
+ preserved when modifying objects.
940
+
941
+ > http://kubernetes.io/docs/user-guide/annotations
942
+
943
+ ---
944
+
945
+ ##### `finalizers`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.finalizers"></a>
946
+
947
+ ```java
948
+ public java.util.List<java.lang.String> getFinalizers();
949
+ ```
950
+
951
+ - *Type:* java.util.List<`java.lang.String`>
952
+ - *Default:* No finalizers.
953
+
954
+ Namespaced keys that tell Kubernetes to wait until specific conditions are met before it fully deletes resources marked for deletion.
955
+
956
+ Must be empty before the object is deleted from the registry. Each entry is
957
+ an identifier for the responsible component that will remove the entry from
958
+ the list. If the deletionTimestamp of the object is non-nil, entries in
959
+ this list can only be removed. Finalizers may be processed and removed in
960
+ any order. Order is NOT enforced because it introduces significant risk of
961
+ stuck finalizers. finalizers is a shared field, any actor with permission
962
+ can reorder it. If the finalizer list is processed in order, then this can
963
+ lead to a situation in which the component responsible for the first
964
+ finalizer in the list is waiting for a signal (field value, external
965
+ system, or other) produced by a component responsible for a finalizer later
966
+ in the list, resulting in a deadlock. Without enforced ordering finalizers
967
+ are free to order amongst themselves and are not vulnerable to ordering
968
+ changes in the list.
969
+
970
+ > https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers/
971
+
972
+ ---
973
+
974
+ ##### `labels`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.labels"></a>
975
+
976
+ ```java
977
+ public java.util.Map<java.lang.String, java.lang.String> getLabels();
978
+ ```
979
+
980
+ - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
981
+ - *Default:* No labels.
982
+
983
+ Map of string keys and values that can be used to organize and categorize (scope and select) objects.
984
+
985
+ May match selectors of replication controllers and services.
986
+
987
+ > http://kubernetes.io/docs/user-guide/labels
988
+
989
+ ---
990
+
991
+ ##### `name`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.name"></a>
992
+
993
+ ```java
994
+ public java.lang.String getName();
995
+ ```
996
+
997
+ - *Type:* `java.lang.String`
998
+ - *Default:* an app-unique name generated by the chart
999
+
1000
+ The unique, namespace-global, name of this object inside the Kubernetes cluster.
1001
+
1002
+ Normally, you shouldn't specify names for objects and let the CDK generate
1003
+ a name for you that is application-unique. The names CDK generates are
1004
+ composed from the construct path components, separated by dots and a suffix
1005
+ that is based on a hash of the entire path, to ensure uniqueness.
1006
+
1007
+ You can supply custom name allocation logic by overriding the
1008
+ `chart.generateObjectName` method.
1009
+
1010
+ If you use an explicit name here, bear in mind that this reduces the
1011
+ composability of your construct because it won't be possible to include
1012
+ more than one instance in any app. Therefore it is highly recommended to
1013
+ leave this unspecified.
1014
+
1015
+ ---
1016
+
1017
+ ##### `namespace`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.namespace"></a>
1018
+
1019
+ ```java
1020
+ public java.lang.String getNamespace();
1021
+ ```
1022
+
1023
+ - *Type:* `java.lang.String`
1024
+ - *Default:* undefined (will be assigned to the 'default' namespace)
1025
+
1026
+ Namespace defines the space within each name must be unique.
1027
+
1028
+ An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation.
1029
+ 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
1030
+
1031
+ ---
1032
+
1033
+ ##### `ownerReferences`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.ownerReferences"></a>
1034
+
1035
+ ```java
1036
+ public java.util.List<OwnerReference> getOwnerReferences();
1037
+ ```
1038
+
1039
+ - *Type:* java.util.List<[`org.cdk8s.OwnerReference`](#org.cdk8s.OwnerReference)>
1040
+ - *Default:* automatically set by Kubernetes
1041
+
1042
+ List of objects depended by this object.
1043
+
1044
+ If ALL objects in the list have
1045
+ been deleted, this object will be garbage collected. If this object is
1046
+ managed by a controller, then an entry in this list will point to this
1047
+ controller, with the controller field set to true. There cannot be more
1048
+ than one managing controller.
1049
+
1050
+ Kubernetes sets the value of this field automatically for objects that are
1051
+ dependents of other objects like ReplicaSets, DaemonSets, Deployments, Jobs
1052
+ and CronJobs, and ReplicationControllers. You can also configure these
1053
+ relationships manually by changing the value of this field. However, you
1054
+ usually don't need to and can allow Kubernetes to automatically manage the
1055
+ relationships.
1056
+
1057
+ > https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/
1058
+
1059
+ ---
1060
+
1061
+ ##### `apiObject`<sup>Required</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.apiObject"></a>
1062
+
1063
+ ```java
1064
+ public ApiObject getApiObject();
1065
+ ```
1066
+
1067
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
1068
+
1069
+ Which ApiObject instance is the metadata attached to.
1070
+
1071
+ ---
1072
+
835
1073
  ### ApiObjectProps <a name="org.cdk8s.ApiObjectProps"></a>
836
1074
 
837
1075
  Options for defining API objects.
@@ -898,6 +1136,7 @@ AppProps.builder()
898
1136
  // .outdir(java.lang.String)
899
1137
  // .outputFileExtension(java.lang.String)
900
1138
  // .recordConstructMetadata(java.lang.Boolean)
1139
+ // .resolvers(java.util.List<IResolver>)
901
1140
  // .yamlOutputType(YamlOutputType)
902
1141
  .build();
903
1142
  ```
@@ -949,6 +1188,25 @@ When set to true, the output directory will contain a `construct-metadata.json`
949
1188
 
950
1189
  ---
951
1190
 
1191
+ ##### `resolvers`<sup>Optional</sup> <a name="org.cdk8s.AppProps.property.resolvers"></a>
1192
+
1193
+ ```java
1194
+ public java.util.List<IResolver> getResolvers();
1195
+ ```
1196
+
1197
+ - *Type:* java.util.List<[`org.cdk8s.IResolver`](#org.cdk8s.IResolver)>
1198
+ - *Default:* no resolvers.
1199
+
1200
+ A list of resolvers that can be used to replace property values before they are written to the manifest file.
1201
+
1202
+ When multiple resolvers are passed,
1203
+ they are invoked by order in the list, and only the first one that applies
1204
+ (e.g calls `context.replaceValue`) is invoked.
1205
+
1206
+ > https://cdk8s.io/docs/latest/basics/app/#resolvers
1207
+
1208
+ ---
1209
+
952
1210
  ##### `yamlOutputType`<sup>Optional</sup> <a name="org.cdk8s.AppProps.property.yamlOutputType"></a>
953
1211
 
954
1212
  ```java
@@ -1539,16 +1797,26 @@ Object metadata.
1539
1797
  import org.cdk8s.ApiObjectMetadataDefinition;
1540
1798
 
1541
1799
  ApiObjectMetadataDefinition.Builder.create()
1800
+ // .additionalAttributes(java.util.Map<java.lang.String, java.lang.Object>)
1542
1801
  // .annotations(java.util.Map<java.lang.String, java.lang.String>)
1543
1802
  // .finalizers(java.util.List<java.lang.String>)
1544
1803
  // .labels(java.util.Map<java.lang.String, java.lang.String>)
1545
1804
  // .name(java.lang.String)
1546
1805
  // .namespace(java.lang.String)
1547
1806
  // .ownerReferences(java.util.List<OwnerReference>)
1807
+ .apiObject(ApiObject)
1548
1808
  .build();
1549
1809
  ```
1550
1810
 
1551
- ##### `annotations`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.annotations"></a>
1811
+ ##### `additionalAttributes`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.additionalAttributes"></a>
1812
+
1813
+ - *Type:* java.util.Map<java.lang.String, `java.lang.Object`>
1814
+
1815
+ Additional metadata attributes.
1816
+
1817
+ ---
1818
+
1819
+ ##### `annotations`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.annotations"></a>
1552
1820
 
1553
1821
  - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
1554
1822
  - *Default:* No annotations.
@@ -1562,7 +1830,7 @@ preserved when modifying objects.
1562
1830
 
1563
1831
  ---
1564
1832
 
1565
- ##### `finalizers`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.finalizers"></a>
1833
+ ##### `finalizers`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.finalizers"></a>
1566
1834
 
1567
1835
  - *Type:* java.util.List<`java.lang.String`>
1568
1836
  - *Default:* No finalizers.
@@ -1587,7 +1855,7 @@ changes in the list.
1587
1855
 
1588
1856
  ---
1589
1857
 
1590
- ##### `labels`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.labels"></a>
1858
+ ##### `labels`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.labels"></a>
1591
1859
 
1592
1860
  - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
1593
1861
  - *Default:* No labels.
@@ -1600,7 +1868,7 @@ May match selectors of replication controllers and services.
1600
1868
 
1601
1869
  ---
1602
1870
 
1603
- ##### `name`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.name"></a>
1871
+ ##### `name`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.name"></a>
1604
1872
 
1605
1873
  - *Type:* `java.lang.String`
1606
1874
  - *Default:* an app-unique name generated by the chart
@@ -1622,7 +1890,7 @@ leave this unspecified.
1622
1890
 
1623
1891
  ---
1624
1892
 
1625
- ##### `namespace`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.namespace"></a>
1893
+ ##### `namespace`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.namespace"></a>
1626
1894
 
1627
1895
  - *Type:* `java.lang.String`
1628
1896
  - *Default:* undefined (will be assigned to the 'default' namespace)
@@ -1634,7 +1902,7 @@ Not all objects are required to be scoped to a namespace - the value of this fie
1634
1902
 
1635
1903
  ---
1636
1904
 
1637
- ##### `ownerReferences`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.ownerReferences"></a>
1905
+ ##### `ownerReferences`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.ownerReferences"></a>
1638
1906
 
1639
1907
  - *Type:* java.util.List<[`org.cdk8s.OwnerReference`](#org.cdk8s.OwnerReference)>
1640
1908
  - *Default:* automatically set by Kubernetes
@@ -1658,6 +1926,14 @@ relationships.
1658
1926
 
1659
1927
  ---
1660
1928
 
1929
+ ##### `apiObject`<sup>Required</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.apiObject"></a>
1930
+
1931
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
1932
+
1933
+ Which ApiObject instance is the metadata attached to.
1934
+
1935
+ ---
1936
+
1661
1937
  #### Methods <a name="Methods"></a>
1662
1938
 
1663
1939
  ##### `add` <a name="org.cdk8s.ApiObjectMetadataDefinition.add"></a>
@@ -2281,6 +2557,37 @@ the amount of Seconds the `Duration` will represent.
2281
2557
 
2282
2558
 
2283
2559
 
2560
+ ### ImplicitTokenResolver <a name="org.cdk8s.ImplicitTokenResolver"></a>
2561
+
2562
+ - *Implements:* [`org.cdk8s.IResolver`](#org.cdk8s.IResolver)
2563
+
2564
+ Resolves implicit tokens.
2565
+
2566
+ #### Initializers <a name="org.cdk8s.ImplicitTokenResolver.Initializer"></a>
2567
+
2568
+ ```java
2569
+ import org.cdk8s.ImplicitTokenResolver;
2570
+
2571
+ new ImplicitTokenResolver();
2572
+ ```
2573
+
2574
+ #### Methods <a name="Methods"></a>
2575
+
2576
+ ##### `resolve` <a name="org.cdk8s.ImplicitTokenResolver.resolve"></a>
2577
+
2578
+ ```java
2579
+ public resolve(ResolutionContext context)
2580
+ ```
2581
+
2582
+ ###### `context`<sup>Required</sup> <a name="org.cdk8s.ImplicitTokenResolver.parameter.context"></a>
2583
+
2584
+ - *Type:* [`org.cdk8s.ResolutionContext`](#org.cdk8s.ResolutionContext)
2585
+
2586
+ ---
2587
+
2588
+
2589
+
2590
+
2284
2591
  ### JsonPatch <a name="org.cdk8s.JsonPatch"></a>
2285
2592
 
2286
2593
  Utility for applying RFC-6902 JSON-Patch to a document.
@@ -2462,6 +2769,37 @@ Lazy.any(IAnyProducer producer)
2462
2769
 
2463
2770
 
2464
2771
 
2772
+ ### LazyResolver <a name="org.cdk8s.LazyResolver"></a>
2773
+
2774
+ - *Implements:* [`org.cdk8s.IResolver`](#org.cdk8s.IResolver)
2775
+
2776
+ Resolvers instanecs of `Lazy`.
2777
+
2778
+ #### Initializers <a name="org.cdk8s.LazyResolver.Initializer"></a>
2779
+
2780
+ ```java
2781
+ import org.cdk8s.LazyResolver;
2782
+
2783
+ new LazyResolver();
2784
+ ```
2785
+
2786
+ #### Methods <a name="Methods"></a>
2787
+
2788
+ ##### `resolve` <a name="org.cdk8s.LazyResolver.resolve"></a>
2789
+
2790
+ ```java
2791
+ public resolve(ResolutionContext context)
2792
+ ```
2793
+
2794
+ ###### `context`<sup>Required</sup> <a name="org.cdk8s.LazyResolver.parameter.context"></a>
2795
+
2796
+ - *Type:* [`org.cdk8s.ResolutionContext`](#org.cdk8s.ResolutionContext)
2797
+
2798
+ ---
2799
+
2800
+
2801
+
2802
+
2465
2803
  ### Names <a name="org.cdk8s.Names"></a>
2466
2804
 
2467
2805
  Utilities for generating unique and stable names.
@@ -2521,6 +2859,120 @@ Name options.
2521
2859
 
2522
2860
 
2523
2861
 
2862
+ ### ResolutionContext <a name="org.cdk8s.ResolutionContext"></a>
2863
+
2864
+ Context object for a specific resolution process.
2865
+
2866
+ #### Initializers <a name="org.cdk8s.ResolutionContext.Initializer"></a>
2867
+
2868
+ ```java
2869
+ import org.cdk8s.ResolutionContext;
2870
+
2871
+ new ResolutionContext(ApiObject obj, java.util.List<java.lang.String> key, java.lang.Object value);
2872
+ ```
2873
+
2874
+ ##### `obj`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.obj"></a>
2875
+
2876
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
2877
+
2878
+ Which ApiObject is currently being resolved.
2879
+
2880
+ ---
2881
+
2882
+ ##### `key`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.key"></a>
2883
+
2884
+ - *Type:* java.util.List<`java.lang.String`>
2885
+
2886
+ Which key is currently being resolved.
2887
+
2888
+ ---
2889
+
2890
+ ##### `value`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.value"></a>
2891
+
2892
+ - *Type:* `java.lang.Object`
2893
+
2894
+ The value associated to the key currently being resolved.
2895
+
2896
+ ---
2897
+
2898
+ #### Methods <a name="Methods"></a>
2899
+
2900
+ ##### `replaceValue` <a name="org.cdk8s.ResolutionContext.replaceValue"></a>
2901
+
2902
+ ```java
2903
+ public replaceValue(java.lang.Object newValue)
2904
+ ```
2905
+
2906
+ ###### `newValue`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.newValue"></a>
2907
+
2908
+ - *Type:* `java.lang.Object`
2909
+
2910
+ ---
2911
+
2912
+
2913
+ #### Properties <a name="Properties"></a>
2914
+
2915
+ ##### `key`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.key"></a>
2916
+
2917
+ ```java
2918
+ public java.util.List<java.lang.String> getKey();
2919
+ ```
2920
+
2921
+ - *Type:* java.util.List<`java.lang.String`>
2922
+
2923
+ Which key is currently being resolved.
2924
+
2925
+ ---
2926
+
2927
+ ##### `obj`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.obj"></a>
2928
+
2929
+ ```java
2930
+ public ApiObject getObj();
2931
+ ```
2932
+
2933
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
2934
+
2935
+ Which ApiObject is currently being resolved.
2936
+
2937
+ ---
2938
+
2939
+ ##### `value`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.value"></a>
2940
+
2941
+ ```java
2942
+ public java.lang.Object getValue();
2943
+ ```
2944
+
2945
+ - *Type:* `java.lang.Object`
2946
+
2947
+ The value associated to the key currently being resolved.
2948
+
2949
+ ---
2950
+
2951
+ ##### `replaced`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.replaced"></a>
2952
+
2953
+ ```java
2954
+ public java.lang.Boolean getReplaced();
2955
+ ```
2956
+
2957
+ - *Type:* `java.lang.Boolean`
2958
+
2959
+ Whether or not the value was replaced by invoking the `replaceValue` method.
2960
+
2961
+ ---
2962
+
2963
+ ##### `replacedValue`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.replacedValue"></a>
2964
+
2965
+ ```java
2966
+ public java.lang.Object getReplacedValue();
2967
+ ```
2968
+
2969
+ - *Type:* `java.lang.Object`
2970
+
2971
+ The replaced value that was set via the `replaceValue` method.
2972
+
2973
+ ---
2974
+
2975
+
2524
2976
  ### Size <a name="org.cdk8s.Size"></a>
2525
2977
 
2526
2978
  Represents the amount of digital storage.
@@ -2827,6 +3279,27 @@ public produce()
2827
3279
  ```
2828
3280
 
2829
3281
 
3282
+ ### IResolver <a name="org.cdk8s.IResolver"></a>
3283
+
3284
+ - *Implemented By:* [`org.cdk8s.ImplicitTokenResolver`](#org.cdk8s.ImplicitTokenResolver), [`org.cdk8s.LazyResolver`](#org.cdk8s.LazyResolver), [`org.cdk8s.IResolver`](#org.cdk8s.IResolver)
3285
+
3286
+ Contract for resolver objects.
3287
+
3288
+ #### Methods <a name="Methods"></a>
3289
+
3290
+ ##### `resolve` <a name="org.cdk8s.IResolver.resolve"></a>
3291
+
3292
+ ```java
3293
+ public resolve(ResolutionContext context)
3294
+ ```
3295
+
3296
+ ###### `context`<sup>Required</sup> <a name="org.cdk8s.IResolver.parameter.context"></a>
3297
+
3298
+ - *Type:* [`org.cdk8s.ResolutionContext`](#org.cdk8s.ResolutionContext)
3299
+
3300
+ ---
3301
+
3302
+
2830
3303
  ## Enums <a name="Enums"></a>
2831
3304
 
2832
3305
  ### SizeRoundingBehavior <a name="SizeRoundingBehavior"></a>