cdk8s 2.64.25 → 2.65.1

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
@@ -832,6 +878,172 @@ relationships.
832
878
 
833
879
  ---
834
880
 
881
+ ### ApiObjectMetadataDefinitionOptions <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions"></a>
882
+
883
+ Options for `ApiObjectMetadataDefinition`.
884
+
885
+ #### Initializer <a name="[object Object].Initializer"></a>
886
+
887
+ ```java
888
+ import org.cdk8s.ApiObjectMetadataDefinitionOptions;
889
+
890
+ ApiObjectMetadataDefinitionOptions.builder()
891
+ // .annotations(java.util.Map<java.lang.String, java.lang.String>)
892
+ // .finalizers(java.util.List<java.lang.String>)
893
+ // .labels(java.util.Map<java.lang.String, java.lang.String>)
894
+ // .name(java.lang.String)
895
+ // .namespace(java.lang.String)
896
+ // .ownerReferences(java.util.List<OwnerReference>)
897
+ .apiObject(ApiObject)
898
+ .build();
899
+ ```
900
+
901
+ ##### `annotations`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.annotations"></a>
902
+
903
+ ```java
904
+ public java.util.Map<java.lang.String, java.lang.String> getAnnotations();
905
+ ```
906
+
907
+ - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
908
+ - *Default:* No annotations.
909
+
910
+ Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
911
+
912
+ They are not queryable and should be
913
+ preserved when modifying objects.
914
+
915
+ > http://kubernetes.io/docs/user-guide/annotations
916
+
917
+ ---
918
+
919
+ ##### `finalizers`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.finalizers"></a>
920
+
921
+ ```java
922
+ public java.util.List<java.lang.String> getFinalizers();
923
+ ```
924
+
925
+ - *Type:* java.util.List<`java.lang.String`>
926
+ - *Default:* No finalizers.
927
+
928
+ Namespaced keys that tell Kubernetes to wait until specific conditions are met before it fully deletes resources marked for deletion.
929
+
930
+ Must be empty before the object is deleted from the registry. Each entry is
931
+ an identifier for the responsible component that will remove the entry from
932
+ the list. If the deletionTimestamp of the object is non-nil, entries in
933
+ this list can only be removed. Finalizers may be processed and removed in
934
+ any order. Order is NOT enforced because it introduces significant risk of
935
+ stuck finalizers. finalizers is a shared field, any actor with permission
936
+ can reorder it. If the finalizer list is processed in order, then this can
937
+ lead to a situation in which the component responsible for the first
938
+ finalizer in the list is waiting for a signal (field value, external
939
+ system, or other) produced by a component responsible for a finalizer later
940
+ in the list, resulting in a deadlock. Without enforced ordering finalizers
941
+ are free to order amongst themselves and are not vulnerable to ordering
942
+ changes in the list.
943
+
944
+ > https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers/
945
+
946
+ ---
947
+
948
+ ##### `labels`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.labels"></a>
949
+
950
+ ```java
951
+ public java.util.Map<java.lang.String, java.lang.String> getLabels();
952
+ ```
953
+
954
+ - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
955
+ - *Default:* No labels.
956
+
957
+ Map of string keys and values that can be used to organize and categorize (scope and select) objects.
958
+
959
+ May match selectors of replication controllers and services.
960
+
961
+ > http://kubernetes.io/docs/user-guide/labels
962
+
963
+ ---
964
+
965
+ ##### `name`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.name"></a>
966
+
967
+ ```java
968
+ public java.lang.String getName();
969
+ ```
970
+
971
+ - *Type:* `java.lang.String`
972
+ - *Default:* an app-unique name generated by the chart
973
+
974
+ The unique, namespace-global, name of this object inside the Kubernetes cluster.
975
+
976
+ Normally, you shouldn't specify names for objects and let the CDK generate
977
+ a name for you that is application-unique. The names CDK generates are
978
+ composed from the construct path components, separated by dots and a suffix
979
+ that is based on a hash of the entire path, to ensure uniqueness.
980
+
981
+ You can supply custom name allocation logic by overriding the
982
+ `chart.generateObjectName` method.
983
+
984
+ If you use an explicit name here, bear in mind that this reduces the
985
+ composability of your construct because it won't be possible to include
986
+ more than one instance in any app. Therefore it is highly recommended to
987
+ leave this unspecified.
988
+
989
+ ---
990
+
991
+ ##### `namespace`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.namespace"></a>
992
+
993
+ ```java
994
+ public java.lang.String getNamespace();
995
+ ```
996
+
997
+ - *Type:* `java.lang.String`
998
+ - *Default:* undefined (will be assigned to the 'default' namespace)
999
+
1000
+ Namespace defines the space within each name must be unique.
1001
+
1002
+ An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation.
1003
+ 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
1004
+
1005
+ ---
1006
+
1007
+ ##### `ownerReferences`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.ownerReferences"></a>
1008
+
1009
+ ```java
1010
+ public java.util.List<OwnerReference> getOwnerReferences();
1011
+ ```
1012
+
1013
+ - *Type:* java.util.List<[`org.cdk8s.OwnerReference`](#org.cdk8s.OwnerReference)>
1014
+ - *Default:* automatically set by Kubernetes
1015
+
1016
+ List of objects depended by this object.
1017
+
1018
+ If ALL objects in the list have
1019
+ been deleted, this object will be garbage collected. If this object is
1020
+ managed by a controller, then an entry in this list will point to this
1021
+ controller, with the controller field set to true. There cannot be more
1022
+ than one managing controller.
1023
+
1024
+ Kubernetes sets the value of this field automatically for objects that are
1025
+ dependents of other objects like ReplicaSets, DaemonSets, Deployments, Jobs
1026
+ and CronJobs, and ReplicationControllers. You can also configure these
1027
+ relationships manually by changing the value of this field. However, you
1028
+ usually don't need to and can allow Kubernetes to automatically manage the
1029
+ relationships.
1030
+
1031
+ > https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/
1032
+
1033
+ ---
1034
+
1035
+ ##### `apiObject`<sup>Required</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.property.apiObject"></a>
1036
+
1037
+ ```java
1038
+ public ApiObject getApiObject();
1039
+ ```
1040
+
1041
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
1042
+
1043
+ Which ApiObject instance is the metadata attached to.
1044
+
1045
+ ---
1046
+
835
1047
  ### ApiObjectProps <a name="org.cdk8s.ApiObjectProps"></a>
836
1048
 
837
1049
  Options for defining API objects.
@@ -898,6 +1110,7 @@ AppProps.builder()
898
1110
  // .outdir(java.lang.String)
899
1111
  // .outputFileExtension(java.lang.String)
900
1112
  // .recordConstructMetadata(java.lang.Boolean)
1113
+ // .resolvers(java.util.List<IResolver>)
901
1114
  // .yamlOutputType(YamlOutputType)
902
1115
  .build();
903
1116
  ```
@@ -949,6 +1162,25 @@ When set to true, the output directory will contain a `construct-metadata.json`
949
1162
 
950
1163
  ---
951
1164
 
1165
+ ##### `resolvers`<sup>Optional</sup> <a name="org.cdk8s.AppProps.property.resolvers"></a>
1166
+
1167
+ ```java
1168
+ public java.util.List<IResolver> getResolvers();
1169
+ ```
1170
+
1171
+ - *Type:* java.util.List<[`org.cdk8s.IResolver`](#org.cdk8s.IResolver)>
1172
+ - *Default:* no resolvers.
1173
+
1174
+ A list of resolvers that can be used to replace property values before they are written to the manifest file.
1175
+
1176
+ When multiple resolvers are passed,
1177
+ they are invoked by order in the list, and only the first one that applies
1178
+ (e.g calls `context.replaceValue`) is invoked.
1179
+
1180
+ > https://cdk8s.io/docs/latest/basics/app/#resolvers
1181
+
1182
+ ---
1183
+
952
1184
  ##### `yamlOutputType`<sup>Optional</sup> <a name="org.cdk8s.AppProps.property.yamlOutputType"></a>
953
1185
 
954
1186
  ```java
@@ -1545,10 +1777,11 @@ ApiObjectMetadataDefinition.Builder.create()
1545
1777
  // .name(java.lang.String)
1546
1778
  // .namespace(java.lang.String)
1547
1779
  // .ownerReferences(java.util.List<OwnerReference>)
1780
+ .apiObject(ApiObject)
1548
1781
  .build();
1549
1782
  ```
1550
1783
 
1551
- ##### `annotations`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.annotations"></a>
1784
+ ##### `annotations`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.annotations"></a>
1552
1785
 
1553
1786
  - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
1554
1787
  - *Default:* No annotations.
@@ -1562,7 +1795,7 @@ preserved when modifying objects.
1562
1795
 
1563
1796
  ---
1564
1797
 
1565
- ##### `finalizers`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.finalizers"></a>
1798
+ ##### `finalizers`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.finalizers"></a>
1566
1799
 
1567
1800
  - *Type:* java.util.List<`java.lang.String`>
1568
1801
  - *Default:* No finalizers.
@@ -1587,7 +1820,7 @@ changes in the list.
1587
1820
 
1588
1821
  ---
1589
1822
 
1590
- ##### `labels`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.labels"></a>
1823
+ ##### `labels`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.labels"></a>
1591
1824
 
1592
1825
  - *Type:* java.util.Map<java.lang.String, `java.lang.String`>
1593
1826
  - *Default:* No labels.
@@ -1600,7 +1833,7 @@ May match selectors of replication controllers and services.
1600
1833
 
1601
1834
  ---
1602
1835
 
1603
- ##### `name`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.name"></a>
1836
+ ##### `name`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.name"></a>
1604
1837
 
1605
1838
  - *Type:* `java.lang.String`
1606
1839
  - *Default:* an app-unique name generated by the chart
@@ -1622,7 +1855,7 @@ leave this unspecified.
1622
1855
 
1623
1856
  ---
1624
1857
 
1625
- ##### `namespace`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.namespace"></a>
1858
+ ##### `namespace`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.namespace"></a>
1626
1859
 
1627
1860
  - *Type:* `java.lang.String`
1628
1861
  - *Default:* undefined (will be assigned to the 'default' namespace)
@@ -1634,7 +1867,7 @@ Not all objects are required to be scoped to a namespace - the value of this fie
1634
1867
 
1635
1868
  ---
1636
1869
 
1637
- ##### `ownerReferences`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadata.parameter.ownerReferences"></a>
1870
+ ##### `ownerReferences`<sup>Optional</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.ownerReferences"></a>
1638
1871
 
1639
1872
  - *Type:* java.util.List<[`org.cdk8s.OwnerReference`](#org.cdk8s.OwnerReference)>
1640
1873
  - *Default:* automatically set by Kubernetes
@@ -1658,6 +1891,14 @@ relationships.
1658
1891
 
1659
1892
  ---
1660
1893
 
1894
+ ##### `apiObject`<sup>Required</sup> <a name="org.cdk8s.ApiObjectMetadataDefinitionOptions.parameter.apiObject"></a>
1895
+
1896
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
1897
+
1898
+ Which ApiObject instance is the metadata attached to.
1899
+
1900
+ ---
1901
+
1661
1902
  #### Methods <a name="Methods"></a>
1662
1903
 
1663
1904
  ##### `add` <a name="org.cdk8s.ApiObjectMetadataDefinition.add"></a>
@@ -2281,6 +2522,37 @@ the amount of Seconds the `Duration` will represent.
2281
2522
 
2282
2523
 
2283
2524
 
2525
+ ### ImplicitTokenResolver <a name="org.cdk8s.ImplicitTokenResolver"></a>
2526
+
2527
+ - *Implements:* [`org.cdk8s.IResolver`](#org.cdk8s.IResolver)
2528
+
2529
+ Resolves implicit tokens.
2530
+
2531
+ #### Initializers <a name="org.cdk8s.ImplicitTokenResolver.Initializer"></a>
2532
+
2533
+ ```java
2534
+ import org.cdk8s.ImplicitTokenResolver;
2535
+
2536
+ new ImplicitTokenResolver();
2537
+ ```
2538
+
2539
+ #### Methods <a name="Methods"></a>
2540
+
2541
+ ##### `resolve` <a name="org.cdk8s.ImplicitTokenResolver.resolve"></a>
2542
+
2543
+ ```java
2544
+ public resolve(ResolutionContext context)
2545
+ ```
2546
+
2547
+ ###### `context`<sup>Required</sup> <a name="org.cdk8s.ImplicitTokenResolver.parameter.context"></a>
2548
+
2549
+ - *Type:* [`org.cdk8s.ResolutionContext`](#org.cdk8s.ResolutionContext)
2550
+
2551
+ ---
2552
+
2553
+
2554
+
2555
+
2284
2556
  ### JsonPatch <a name="org.cdk8s.JsonPatch"></a>
2285
2557
 
2286
2558
  Utility for applying RFC-6902 JSON-Patch to a document.
@@ -2462,6 +2734,37 @@ Lazy.any(IAnyProducer producer)
2462
2734
 
2463
2735
 
2464
2736
 
2737
+ ### LazyResolver <a name="org.cdk8s.LazyResolver"></a>
2738
+
2739
+ - *Implements:* [`org.cdk8s.IResolver`](#org.cdk8s.IResolver)
2740
+
2741
+ Resolvers instanecs of `Lazy`.
2742
+
2743
+ #### Initializers <a name="org.cdk8s.LazyResolver.Initializer"></a>
2744
+
2745
+ ```java
2746
+ import org.cdk8s.LazyResolver;
2747
+
2748
+ new LazyResolver();
2749
+ ```
2750
+
2751
+ #### Methods <a name="Methods"></a>
2752
+
2753
+ ##### `resolve` <a name="org.cdk8s.LazyResolver.resolve"></a>
2754
+
2755
+ ```java
2756
+ public resolve(ResolutionContext context)
2757
+ ```
2758
+
2759
+ ###### `context`<sup>Required</sup> <a name="org.cdk8s.LazyResolver.parameter.context"></a>
2760
+
2761
+ - *Type:* [`org.cdk8s.ResolutionContext`](#org.cdk8s.ResolutionContext)
2762
+
2763
+ ---
2764
+
2765
+
2766
+
2767
+
2465
2768
  ### Names <a name="org.cdk8s.Names"></a>
2466
2769
 
2467
2770
  Utilities for generating unique and stable names.
@@ -2521,6 +2824,120 @@ Name options.
2521
2824
 
2522
2825
 
2523
2826
 
2827
+ ### ResolutionContext <a name="org.cdk8s.ResolutionContext"></a>
2828
+
2829
+ Context object for a specific resolution process.
2830
+
2831
+ #### Initializers <a name="org.cdk8s.ResolutionContext.Initializer"></a>
2832
+
2833
+ ```java
2834
+ import org.cdk8s.ResolutionContext;
2835
+
2836
+ new ResolutionContext(ApiObject obj, java.util.List<java.lang.String> key, java.lang.Object value);
2837
+ ```
2838
+
2839
+ ##### `obj`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.obj"></a>
2840
+
2841
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
2842
+
2843
+ Which ApiObject is currently being resolved.
2844
+
2845
+ ---
2846
+
2847
+ ##### `key`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.key"></a>
2848
+
2849
+ - *Type:* java.util.List<`java.lang.String`>
2850
+
2851
+ Which key is currently being resolved.
2852
+
2853
+ ---
2854
+
2855
+ ##### `value`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.value"></a>
2856
+
2857
+ - *Type:* `java.lang.Object`
2858
+
2859
+ The value associated to the key currently being resolved.
2860
+
2861
+ ---
2862
+
2863
+ #### Methods <a name="Methods"></a>
2864
+
2865
+ ##### `replaceValue` <a name="org.cdk8s.ResolutionContext.replaceValue"></a>
2866
+
2867
+ ```java
2868
+ public replaceValue(java.lang.Object newValue)
2869
+ ```
2870
+
2871
+ ###### `newValue`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.parameter.newValue"></a>
2872
+
2873
+ - *Type:* `java.lang.Object`
2874
+
2875
+ ---
2876
+
2877
+
2878
+ #### Properties <a name="Properties"></a>
2879
+
2880
+ ##### `key`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.key"></a>
2881
+
2882
+ ```java
2883
+ public java.util.List<java.lang.String> getKey();
2884
+ ```
2885
+
2886
+ - *Type:* java.util.List<`java.lang.String`>
2887
+
2888
+ Which key is currently being resolved.
2889
+
2890
+ ---
2891
+
2892
+ ##### `obj`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.obj"></a>
2893
+
2894
+ ```java
2895
+ public ApiObject getObj();
2896
+ ```
2897
+
2898
+ - *Type:* [`org.cdk8s.ApiObject`](#org.cdk8s.ApiObject)
2899
+
2900
+ Which ApiObject is currently being resolved.
2901
+
2902
+ ---
2903
+
2904
+ ##### `value`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.value"></a>
2905
+
2906
+ ```java
2907
+ public java.lang.Object getValue();
2908
+ ```
2909
+
2910
+ - *Type:* `java.lang.Object`
2911
+
2912
+ The value associated to the key currently being resolved.
2913
+
2914
+ ---
2915
+
2916
+ ##### `replaced`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.replaced"></a>
2917
+
2918
+ ```java
2919
+ public java.lang.Boolean getReplaced();
2920
+ ```
2921
+
2922
+ - *Type:* `java.lang.Boolean`
2923
+
2924
+ Whether or not the value was replaced by invoking the `replaceValue` method.
2925
+
2926
+ ---
2927
+
2928
+ ##### `replacedValue`<sup>Required</sup> <a name="org.cdk8s.ResolutionContext.property.replacedValue"></a>
2929
+
2930
+ ```java
2931
+ public java.lang.Object getReplacedValue();
2932
+ ```
2933
+
2934
+ - *Type:* `java.lang.Object`
2935
+
2936
+ The replaced value that was set via the `replaceValue` method.
2937
+
2938
+ ---
2939
+
2940
+
2524
2941
  ### Size <a name="org.cdk8s.Size"></a>
2525
2942
 
2526
2943
  Represents the amount of digital storage.
@@ -2827,6 +3244,27 @@ public produce()
2827
3244
  ```
2828
3245
 
2829
3246
 
3247
+ ### IResolver <a name="org.cdk8s.IResolver"></a>
3248
+
3249
+ - *Implemented By:* [`org.cdk8s.ImplicitTokenResolver`](#org.cdk8s.ImplicitTokenResolver), [`org.cdk8s.LazyResolver`](#org.cdk8s.LazyResolver), [`org.cdk8s.IResolver`](#org.cdk8s.IResolver)
3250
+
3251
+ Contract for resolver objects.
3252
+
3253
+ #### Methods <a name="Methods"></a>
3254
+
3255
+ ##### `resolve` <a name="org.cdk8s.IResolver.resolve"></a>
3256
+
3257
+ ```java
3258
+ public resolve(ResolutionContext context)
3259
+ ```
3260
+
3261
+ ###### `context`<sup>Required</sup> <a name="org.cdk8s.IResolver.parameter.context"></a>
3262
+
3263
+ - *Type:* [`org.cdk8s.ResolutionContext`](#org.cdk8s.ResolutionContext)
3264
+
3265
+ ---
3266
+
3267
+
2830
3268
  ## Enums <a name="Enums"></a>
2831
3269
 
2832
3270
  ### SizeRoundingBehavior <a name="SizeRoundingBehavior"></a>