@meshery/schemas 0.8.124 → 0.8.126

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.
Files changed (23) hide show
  1. package/dist/constructs/v1alpha3/relationship/Relationship.d.mts +1470 -280
  2. package/dist/constructs/v1alpha3/relationship/Relationship.d.ts +1470 -280
  3. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.d.mts +6193 -1148
  4. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.d.ts +6193 -1148
  5. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.js +133 -17
  6. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.mjs +133 -17
  7. package/dist/constructs/v1beta1/evaluation/Evaluation.d.mts +916 -1088
  8. package/dist/constructs/v1beta1/evaluation/Evaluation.d.ts +916 -1088
  9. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.d.mts +5459 -4527
  10. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.d.ts +5459 -4527
  11. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.js +52 -68
  12. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.mjs +52 -68
  13. package/dist/constructs/v1beta1/pattern/Pattern.d.mts +958 -1130
  14. package/dist/constructs/v1beta1/pattern/Pattern.d.ts +958 -1130
  15. package/dist/constructs/v1beta1/pattern/PatternSchema.d.mts +5744 -4812
  16. package/dist/constructs/v1beta1/pattern/PatternSchema.d.ts +5744 -4812
  17. package/dist/constructs/v1beta1/pattern/PatternSchema.js +52 -68
  18. package/dist/constructs/v1beta1/pattern/PatternSchema.mjs +52 -68
  19. package/dist/index.js +186 -86
  20. package/dist/index.mjs +186 -86
  21. package/dist/mesheryApi.d.mts +342 -412
  22. package/dist/mesheryApi.d.ts +342 -412
  23. package/package.json +1 -1
@@ -797,12 +797,11 @@ interface paths {
797
797
  relationships: {
798
798
  /**
799
799
  * Format: uuid
800
- * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
800
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
801
801
  */
802
- id?: string;
802
+ id: string;
803
803
  /**
804
804
  * @description Specifies the version of the schema used for the relationship definition.
805
- * @default relationships.meshery.io/v1alpha3
806
805
  * @example [
807
806
  * "v1",
808
807
  * "v1alpha1",
@@ -813,34 +812,6 @@ interface paths {
813
812
  schemaVersion: string;
814
813
  /** @description A valid semantic version string between 5 and 256 characters. The pattern allows for a major.minor.patch version followed by an optional pre-release tag like '-alpha' or '-beta.2' and an optional build metadata tag like '+build.1. */
815
814
  version: string;
816
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
817
- model: {
818
- /**
819
- * Format: uuid
820
- * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
821
- */
822
- id: string;
823
- /**
824
- * @description The unique name for the model within the scope of a registrant.
825
- * @default untitled-model
826
- */
827
- name: string;
828
- /** @description Version of the model definition. */
829
- version: string;
830
- /**
831
- * @description Human-readable name for the model.
832
- * @default Untitled Model
833
- */
834
- displayName: string;
835
- /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
836
- model: {
837
- /** @description Version of the model as defined by the registrant. */
838
- version: string;
839
- };
840
- registrant: {
841
- kind: string;
842
- };
843
- };
844
815
  /**
845
816
  * @description Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.
846
817
  * @enum {string}
@@ -852,12 +823,9 @@ interface paths {
852
823
  subType: string;
853
824
  /**
854
825
  * @description Status of the relationship.
855
- * @default enabled
856
826
  * @enum {string}
857
827
  */
858
- status?: "pending" | "approved" | "ignored" | "enabled" | "deleted";
859
- /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
860
- evaluationQuery?: string;
828
+ status?: "enabled" | "ignored" | "deleted" | "approved" | "pending";
861
829
  /** @description Capabilities associated with the relationship. */
862
830
  capabilities?: {
863
831
  /**
@@ -875,15 +843,15 @@ interface paths {
875
843
  /** @description Name of the capability in human-readible format. */
876
844
  displayName: string;
877
845
  /** @description A written representation of the purpose and characteristics of the capability. */
878
- description?: string;
846
+ description: string;
879
847
  /** @description Top-level categorization of the capability */
880
848
  kind: string;
881
849
  /** @description Classification of capabilities. Used to group capabilities similar in nature. */
882
850
  type: string;
883
851
  /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
884
- subType?: string;
852
+ subType: string;
885
853
  /** @description Key that backs the capability. */
886
- key?: string;
854
+ key: string;
887
855
  /** @description State of the entity in which the capability is applicable. */
888
856
  entityState: ("declaration" | "instance")[];
889
857
  /**
@@ -901,12 +869,8 @@ interface paths {
901
869
  metadata?: {
902
870
  /** @description Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management. */
903
871
  description?: string;
904
- /**
905
- * @description Indicates whether the relationship should be treated as a logical representation only
906
- * @default false
907
- */
908
- isAnnotation?: boolean;
909
- styles?: Partial<{
872
+ /** @description Visualization styles for a relationship */
873
+ styles?: {
910
874
  /** @description Primary color of the component used for UI representation. */
911
875
  primaryColor: string;
912
876
  /** @description Secondary color of the entity used for UI representation. */
@@ -917,9 +881,12 @@ interface paths {
917
881
  svgColor: string;
918
882
  /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
919
883
  svgComplete?: string;
920
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
884
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
921
885
  color?: string;
922
- /** @description The opacity of the label text, including its outline. */
886
+ /**
887
+ * Format: float
888
+ * @description The opacity of the label text, including its outline.
889
+ */
923
890
  "text-opacity"?: number;
924
891
  /** @description A comma-separated list of font names to use on the label text. */
925
892
  "font-family"?: string;
@@ -934,115 +901,154 @@ interface paths {
934
901
  * @enum {string}
935
902
  */
936
903
  "text-transform"?: "none" | "uppercase" | "lowercase";
937
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
904
+ /**
905
+ * Format: float
906
+ * @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
907
+ */
938
908
  opacity?: number;
939
909
  /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
940
910
  "z-index"?: number;
941
- /** @description The text to display for an elements label. Can give a path, e.g. data(id) will label with the elements id */
911
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
942
912
  label?: string;
943
- } & {
944
913
  /** @description The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc . */
945
914
  "edge-animation"?: string;
946
915
  /**
947
916
  * @description The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.
948
- * @default straight
949
917
  * @enum {string}
950
918
  */
951
- "curve-style"?: "straight" | "haystack" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
952
- /** @description The colour of the edges line. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
919
+ "curve-style"?: "haystack" | "straight" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
920
+ /** @description The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g. */
953
921
  "line-color"?: string;
954
922
  /**
955
- * @description The style of the edges line.
923
+ * @description The style of the edge's line.
956
924
  * @enum {string}
957
925
  */
958
926
  "line-style"?: "solid" | "dotted" | "dashed";
959
927
  /**
960
- * @description The cap style of the edges line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
961
- * @default butt
928
+ * @description The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
962
929
  * @enum {string}
963
930
  */
964
931
  "line-cap"?: "butt" | "round" | "square";
965
932
  /**
966
- * @description The opacity of the edge’s line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
967
- * @default 1
933
+ * Format: float
934
+ * @description The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
968
935
  */
969
936
  "line-opacity"?: number;
970
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
937
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
971
938
  "target-arrow-color"?: string;
972
939
  /**
973
- * @description The shape of the edges source arrow
940
+ * @description The shape of the edge's source arrow
974
941
  * @enum {string}
975
942
  */
976
943
  "target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
977
944
  /**
978
- * @description The fill state of the edges source arrow
945
+ * @description The fill state of the edge's source arrow
979
946
  * @enum {string}
980
947
  */
981
948
  "target-arrow-fill"?: "filled" | "hollow";
982
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
949
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
983
950
  "mid-target-arrow-color"?: string;
984
951
  /**
985
- * @description The shape of the edges source arrow
952
+ * @description The shape of the edge's source arrow
986
953
  * @enum {string}
987
954
  */
988
955
  "mid-target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
989
956
  /**
990
- * @description The fill state of the edges source arrow
957
+ * @description The fill state of the edge's source arrow
991
958
  * @enum {string}
992
959
  */
993
960
  "mid-target-arrow-fill"?: "filled" | "hollow";
994
- /** @description Scaling for the arrow size. */
961
+ /**
962
+ * Format: float
963
+ * @description Scaling for the arrow size.
964
+ */
995
965
  "arrow-scale"?: number;
996
- /** @description The text to display for an edges source label. Can give a path, e.g. data(id) will label with the elements id */
966
+ /** @description The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id */
997
967
  "source-label"?: string;
998
- /** @description The text to display for an edges target label. Can give a path, e.g. data(id) will label with the elements id */
968
+ /** @description The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id */
999
969
  "target-label"?: string;
1000
- }> & Partial<{
1001
- /** @description Primary color of the component used for UI representation. */
1002
- primaryColor: string;
1003
- /** @description Secondary color of the entity used for UI representation. */
1004
- secondaryColor?: string;
1005
- /** @description White SVG of the entity used for UI representation on dark background. */
1006
- svgWhite: string;
1007
- /** @description Colored SVG of the entity used for UI representation on light background. */
1008
- svgColor: string;
1009
- /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
1010
- svgComplete?: string;
1011
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
1012
- color?: string;
1013
- /** @description The opacity of the label text, including its outline. */
1014
- "text-opacity"?: number;
1015
- /** @description A comma-separated list of font names to use on the label text. */
1016
- "font-family"?: string;
1017
- /** @description The size of the label text. */
1018
- "font-size"?: string;
1019
- /** @description A CSS font style to be applied to the label text. */
1020
- "font-style"?: string;
1021
- /** @description A CSS font weight to be applied to the label text. */
1022
- "font-weight"?: string;
1023
- /**
1024
- * @description A transformation to apply to the label text
1025
- * @enum {string}
1026
- */
1027
- "text-transform"?: "none" | "uppercase" | "lowercase";
1028
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
1029
- opacity?: number;
1030
- /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
1031
- "z-index"?: number;
1032
- /** @description The text to display for an element’s label. Can give a path, e.g. data(id) will label with the elements id */
1033
- label?: string;
1034
- }>;
970
+ };
971
+ /** @description Indicates whether the relationship should be treated as a logical representation only */
972
+ isAnnotation?: boolean;
1035
973
  } & {
1036
974
  [key: string]: unknown;
1037
975
  };
976
+ /** @description Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
977
+ model: {
978
+ /**
979
+ * Format: uuid
980
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
981
+ */
982
+ id: string;
983
+ /**
984
+ * @description The unique name for the model within the scope of a registrant.
985
+ * @default untitled-model
986
+ */
987
+ name: string;
988
+ /** @description Version of the model definition. */
989
+ version: string;
990
+ /**
991
+ * @description Human-readable name for the model.
992
+ * @default Untitled Model
993
+ */
994
+ displayName: string;
995
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
996
+ model: {
997
+ /** @description Version of the model as defined by the registrant. */
998
+ version: string;
999
+ };
1000
+ registrant: {
1001
+ kind: string;
1002
+ };
1003
+ };
1004
+ /**
1005
+ * Format: uuid
1006
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1007
+ */
1008
+ modelId?: string;
1009
+ /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
1010
+ evaluationQuery?: string;
1038
1011
  /** @description Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved. */
1039
1012
  selectors?: {
1040
- /** @description Optional selectors used to define relationships which should not be created / is restricted. */
1041
- deny?: {
1013
+ /** @description Selectors used to define relationships which are allowed. */
1014
+ allow: {
1042
1015
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
1043
1016
  from: {
1017
+ /**
1018
+ * Format: uuid
1019
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1020
+ */
1021
+ id?: string;
1044
1022
  kind?: string;
1045
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
1023
+ /** @description Match configuration for selector */
1024
+ match?: {
1025
+ refs?: string[][];
1026
+ from?: {
1027
+ /**
1028
+ * Format: uuid
1029
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1030
+ */
1031
+ id?: string;
1032
+ kind: string;
1033
+ /** @description JSON ref to value from where patch should be applied. */
1034
+ mutatorRef?: string[][];
1035
+ mutatedRef?: string[][];
1036
+ }[];
1037
+ to?: {
1038
+ /**
1039
+ * Format: uuid
1040
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1041
+ */
1042
+ id?: string;
1043
+ kind: string;
1044
+ /** @description JSON ref to value from where patch should be applied. */
1045
+ mutatorRef?: string[][];
1046
+ mutatedRef?: string[][];
1047
+ }[];
1048
+ };
1049
+ /** @description Match strategy matrix for the selector */
1050
+ match_strategy_matrix?: string[][];
1051
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
1046
1052
  model?: {
1047
1053
  /**
1048
1054
  * Format: uuid
@@ -1070,39 +1076,7 @@ interface paths {
1070
1076
  kind: string;
1071
1077
  };
1072
1078
  };
1073
- /**
1074
- * Format: uuid
1075
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1076
- */
1077
- id?: string;
1078
- match?: string[][] | {
1079
- from?: ({
1080
- kind?: string;
1081
- /**
1082
- * Format: uuid
1083
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1084
- */
1085
- id?: string;
1086
- } & ({
1087
- /** @description JSON ref to value from where patch should be applied. */
1088
- mutatorRef?: string[][];
1089
- } | {
1090
- mutatedRef?: string[][];
1091
- }))[];
1092
- to?: ({
1093
- kind?: string;
1094
- /**
1095
- * Format: uuid
1096
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1097
- */
1098
- id?: string;
1099
- } & ({
1100
- /** @description JSON ref to value from where patch should be applied. */
1101
- mutatorRef?: string[][];
1102
- } | {
1103
- mutatedRef?: string[][];
1104
- }))[];
1105
- };
1079
+ /** @description Patch configuration for the selector */
1106
1080
  patch?: {
1107
1081
  /**
1108
1082
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -1110,26 +1084,57 @@ interface paths {
1110
1084
  * add: Inserts a value into an array or adds a member to an object.
1111
1085
  * replace: Replaces a value.
1112
1086
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
1113
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
1087
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
1114
1088
  * remove: Removes a value.
1115
1089
  * copy: Copies a value from one location to another.
1116
1090
  * move: Moves a value from one location to another.
1117
1091
  * test: Tests that a value at the target location is equal to a specified value.
1118
- * @default copy
1092
+ *
1119
1093
  * @enum {string}
1120
1094
  */
1121
1095
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
1122
- } & ({
1123
1096
  /** @description JSON ref to value from where patch should be applied. */
1124
1097
  mutatorRef?: string[][];
1125
- } | {
1126
1098
  mutatedRef?: string[][];
1127
- });
1099
+ };
1128
1100
  }[];
1129
1101
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
1130
1102
  to: {
1103
+ /**
1104
+ * Format: uuid
1105
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1106
+ */
1107
+ id?: string;
1131
1108
  kind?: string;
1132
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
1109
+ /** @description Match configuration for selector */
1110
+ match?: {
1111
+ refs?: string[][];
1112
+ from?: {
1113
+ /**
1114
+ * Format: uuid
1115
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1116
+ */
1117
+ id?: string;
1118
+ kind: string;
1119
+ /** @description JSON ref to value from where patch should be applied. */
1120
+ mutatorRef?: string[][];
1121
+ mutatedRef?: string[][];
1122
+ }[];
1123
+ to?: {
1124
+ /**
1125
+ * Format: uuid
1126
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1127
+ */
1128
+ id?: string;
1129
+ kind: string;
1130
+ /** @description JSON ref to value from where patch should be applied. */
1131
+ mutatorRef?: string[][];
1132
+ mutatedRef?: string[][];
1133
+ }[];
1134
+ };
1135
+ /** @description Match strategy matrix for the selector */
1136
+ match_strategy_matrix?: string[][];
1137
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
1133
1138
  model?: {
1134
1139
  /**
1135
1140
  * Format: uuid
@@ -1157,39 +1162,7 @@ interface paths {
1157
1162
  kind: string;
1158
1163
  };
1159
1164
  };
1160
- /**
1161
- * Format: uuid
1162
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1163
- */
1164
- id?: string;
1165
- match?: string[][] | {
1166
- from?: ({
1167
- kind?: string;
1168
- /**
1169
- * Format: uuid
1170
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1171
- */
1172
- id?: string;
1173
- } & ({
1174
- /** @description JSON ref to value from where patch should be applied. */
1175
- mutatorRef?: string[][];
1176
- } | {
1177
- mutatedRef?: string[][];
1178
- }))[];
1179
- to?: ({
1180
- kind?: string;
1181
- /**
1182
- * Format: uuid
1183
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1184
- */
1185
- id?: string;
1186
- } & ({
1187
- /** @description JSON ref to value from where patch should be applied. */
1188
- mutatorRef?: string[][];
1189
- } | {
1190
- mutatedRef?: string[][];
1191
- }))[];
1192
- };
1165
+ /** @description Patch configuration for the selector */
1193
1166
  patch?: {
1194
1167
  /**
1195
1168
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -1197,31 +1170,60 @@ interface paths {
1197
1170
  * add: Inserts a value into an array or adds a member to an object.
1198
1171
  * replace: Replaces a value.
1199
1172
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
1200
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
1173
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
1201
1174
  * remove: Removes a value.
1202
1175
  * copy: Copies a value from one location to another.
1203
1176
  * move: Moves a value from one location to another.
1204
1177
  * test: Tests that a value at the target location is equal to a specified value.
1205
- * @default copy
1178
+ *
1206
1179
  * @enum {string}
1207
1180
  */
1208
1181
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
1209
- } & ({
1210
1182
  /** @description JSON ref to value from where patch should be applied. */
1211
1183
  mutatorRef?: string[][];
1212
- } | {
1213
1184
  mutatedRef?: string[][];
1214
- });
1185
+ };
1215
1186
  }[];
1216
1187
  };
1217
- /** @description Selectors used to define relationships which are allowed. */
1218
- allow: {
1188
+ /** @description Optional selectors used to define relationships which should not be created / is restricted. */
1189
+ deny?: {
1219
1190
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
1220
1191
  from: {
1192
+ /**
1193
+ * Format: uuid
1194
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1195
+ */
1196
+ id?: string;
1221
1197
  kind?: string;
1222
- /** @description Strategy criterion for determing how to match the values at mutator/mutated paths */
1198
+ /** @description Match configuration for selector */
1199
+ match?: {
1200
+ refs?: string[][];
1201
+ from?: {
1202
+ /**
1203
+ * Format: uuid
1204
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1205
+ */
1206
+ id?: string;
1207
+ kind: string;
1208
+ /** @description JSON ref to value from where patch should be applied. */
1209
+ mutatorRef?: string[][];
1210
+ mutatedRef?: string[][];
1211
+ }[];
1212
+ to?: {
1213
+ /**
1214
+ * Format: uuid
1215
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1216
+ */
1217
+ id?: string;
1218
+ kind: string;
1219
+ /** @description JSON ref to value from where patch should be applied. */
1220
+ mutatorRef?: string[][];
1221
+ mutatedRef?: string[][];
1222
+ }[];
1223
+ };
1224
+ /** @description Match strategy matrix for the selector */
1223
1225
  match_strategy_matrix?: string[][];
1224
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
1226
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
1225
1227
  model?: {
1226
1228
  /**
1227
1229
  * Format: uuid
@@ -1249,39 +1251,7 @@ interface paths {
1249
1251
  kind: string;
1250
1252
  };
1251
1253
  };
1252
- /**
1253
- * Format: uuid
1254
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1255
- */
1256
- id?: string;
1257
- match?: string[][] | {
1258
- from?: ({
1259
- kind?: string;
1260
- /**
1261
- * Format: uuid
1262
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1263
- */
1264
- id?: string;
1265
- } & ({
1266
- /** @description JSON ref to value from where patch should be applied. */
1267
- mutatorRef?: string[][];
1268
- } | {
1269
- mutatedRef?: string[][];
1270
- }))[];
1271
- to?: ({
1272
- kind?: string;
1273
- /**
1274
- * Format: uuid
1275
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1276
- */
1277
- id?: string;
1278
- } & ({
1279
- /** @description JSON ref to value from where patch should be applied. */
1280
- mutatorRef?: string[][];
1281
- } | {
1282
- mutatedRef?: string[][];
1283
- }))[];
1284
- };
1254
+ /** @description Patch configuration for the selector */
1285
1255
  patch?: {
1286
1256
  /**
1287
1257
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -1289,26 +1259,57 @@ interface paths {
1289
1259
  * add: Inserts a value into an array or adds a member to an object.
1290
1260
  * replace: Replaces a value.
1291
1261
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
1292
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
1262
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
1293
1263
  * remove: Removes a value.
1294
1264
  * copy: Copies a value from one location to another.
1295
1265
  * move: Moves a value from one location to another.
1296
1266
  * test: Tests that a value at the target location is equal to a specified value.
1297
- * @default copy
1267
+ *
1298
1268
  * @enum {string}
1299
1269
  */
1300
1270
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
1301
- } & ({
1302
1271
  /** @description JSON ref to value from where patch should be applied. */
1303
1272
  mutatorRef?: string[][];
1304
- } | {
1305
1273
  mutatedRef?: string[][];
1306
- });
1274
+ };
1307
1275
  }[];
1308
1276
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
1309
1277
  to: {
1278
+ /**
1279
+ * Format: uuid
1280
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1281
+ */
1282
+ id?: string;
1310
1283
  kind?: string;
1311
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
1284
+ /** @description Match configuration for selector */
1285
+ match?: {
1286
+ refs?: string[][];
1287
+ from?: {
1288
+ /**
1289
+ * Format: uuid
1290
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1291
+ */
1292
+ id?: string;
1293
+ kind: string;
1294
+ /** @description JSON ref to value from where patch should be applied. */
1295
+ mutatorRef?: string[][];
1296
+ mutatedRef?: string[][];
1297
+ }[];
1298
+ to?: {
1299
+ /**
1300
+ * Format: uuid
1301
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1302
+ */
1303
+ id?: string;
1304
+ kind: string;
1305
+ /** @description JSON ref to value from where patch should be applied. */
1306
+ mutatorRef?: string[][];
1307
+ mutatedRef?: string[][];
1308
+ }[];
1309
+ };
1310
+ /** @description Match strategy matrix for the selector */
1311
+ match_strategy_matrix?: string[][];
1312
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
1312
1313
  model?: {
1313
1314
  /**
1314
1315
  * Format: uuid
@@ -1336,39 +1337,7 @@ interface paths {
1336
1337
  kind: string;
1337
1338
  };
1338
1339
  };
1339
- /**
1340
- * Format: uuid
1341
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1342
- */
1343
- id?: string;
1344
- match?: string[][] | {
1345
- from?: ({
1346
- kind?: string;
1347
- /**
1348
- * Format: uuid
1349
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1350
- */
1351
- id?: string;
1352
- } & ({
1353
- /** @description JSON ref to value from where patch should be applied. */
1354
- mutatorRef?: string[][];
1355
- } | {
1356
- mutatedRef?: string[][];
1357
- }))[];
1358
- to?: ({
1359
- kind?: string;
1360
- /**
1361
- * Format: uuid
1362
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
1363
- */
1364
- id?: string;
1365
- } & ({
1366
- /** @description JSON ref to value from where patch should be applied. */
1367
- mutatorRef?: string[][];
1368
- } | {
1369
- mutatedRef?: string[][];
1370
- }))[];
1371
- };
1340
+ /** @description Patch configuration for the selector */
1372
1341
  patch?: {
1373
1342
  /**
1374
1343
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -1376,34 +1345,22 @@ interface paths {
1376
1345
  * add: Inserts a value into an array or adds a member to an object.
1377
1346
  * replace: Replaces a value.
1378
1347
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
1379
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
1348
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
1380
1349
  * remove: Removes a value.
1381
1350
  * copy: Copies a value from one location to another.
1382
1351
  * move: Moves a value from one location to another.
1383
1352
  * test: Tests that a value at the target location is equal to a specified value.
1384
- * @default copy
1353
+ *
1385
1354
  * @enum {string}
1386
1355
  */
1387
1356
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
1388
- } & ({
1389
1357
  /** @description JSON ref to value from where patch should be applied. */
1390
1358
  mutatorRef?: string[][];
1391
- } | {
1392
1359
  mutatedRef?: string[][];
1393
- });
1360
+ };
1394
1361
  }[];
1395
1362
  };
1396
1363
  }[];
1397
- /**
1398
- * Format: date-time
1399
- * @description Timestamp when the resource was created.
1400
- */
1401
- created_at?: string;
1402
- /**
1403
- * Format: date-time
1404
- * @description Timestamp when the resource was updated.
1405
- */
1406
- updated_at?: string;
1407
1364
  }[];
1408
1365
  };
1409
1366
  /**
@@ -2212,12 +2169,11 @@ interface paths {
2212
2169
  relationships: {
2213
2170
  /**
2214
2171
  * Format: uuid
2215
- * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
2172
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2216
2173
  */
2217
- id?: string;
2174
+ id: string;
2218
2175
  /**
2219
2176
  * @description Specifies the version of the schema used for the relationship definition.
2220
- * @default relationships.meshery.io/v1alpha3
2221
2177
  * @example [
2222
2178
  * "v1",
2223
2179
  * "v1alpha1",
@@ -2228,34 +2184,6 @@ interface paths {
2228
2184
  schemaVersion: string;
2229
2185
  /** @description A valid semantic version string between 5 and 256 characters. The pattern allows for a major.minor.patch version followed by an optional pre-release tag like '-alpha' or '-beta.2' and an optional build metadata tag like '+build.1. */
2230
2186
  version: string;
2231
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2232
- model: {
2233
- /**
2234
- * Format: uuid
2235
- * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2236
- */
2237
- id: string;
2238
- /**
2239
- * @description The unique name for the model within the scope of a registrant.
2240
- * @default untitled-model
2241
- */
2242
- name: string;
2243
- /** @description Version of the model definition. */
2244
- version: string;
2245
- /**
2246
- * @description Human-readable name for the model.
2247
- * @default Untitled Model
2248
- */
2249
- displayName: string;
2250
- /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
2251
- model: {
2252
- /** @description Version of the model as defined by the registrant. */
2253
- version: string;
2254
- };
2255
- registrant: {
2256
- kind: string;
2257
- };
2258
- };
2259
2187
  /**
2260
2188
  * @description Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.
2261
2189
  * @enum {string}
@@ -2267,12 +2195,9 @@ interface paths {
2267
2195
  subType: string;
2268
2196
  /**
2269
2197
  * @description Status of the relationship.
2270
- * @default enabled
2271
2198
  * @enum {string}
2272
2199
  */
2273
- status?: "pending" | "approved" | "ignored" | "enabled" | "deleted";
2274
- /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
2275
- evaluationQuery?: string;
2200
+ status?: "enabled" | "ignored" | "deleted" | "approved" | "pending";
2276
2201
  /** @description Capabilities associated with the relationship. */
2277
2202
  capabilities?: {
2278
2203
  /**
@@ -2290,15 +2215,15 @@ interface paths {
2290
2215
  /** @description Name of the capability in human-readible format. */
2291
2216
  displayName: string;
2292
2217
  /** @description A written representation of the purpose and characteristics of the capability. */
2293
- description?: string;
2218
+ description: string;
2294
2219
  /** @description Top-level categorization of the capability */
2295
2220
  kind: string;
2296
2221
  /** @description Classification of capabilities. Used to group capabilities similar in nature. */
2297
2222
  type: string;
2298
2223
  /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
2299
- subType?: string;
2224
+ subType: string;
2300
2225
  /** @description Key that backs the capability. */
2301
- key?: string;
2226
+ key: string;
2302
2227
  /** @description State of the entity in which the capability is applicable. */
2303
2228
  entityState: ("declaration" | "instance")[];
2304
2229
  /**
@@ -2316,12 +2241,8 @@ interface paths {
2316
2241
  metadata?: {
2317
2242
  /** @description Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management. */
2318
2243
  description?: string;
2319
- /**
2320
- * @description Indicates whether the relationship should be treated as a logical representation only
2321
- * @default false
2322
- */
2323
- isAnnotation?: boolean;
2324
- styles?: Partial<{
2244
+ /** @description Visualization styles for a relationship */
2245
+ styles?: {
2325
2246
  /** @description Primary color of the component used for UI representation. */
2326
2247
  primaryColor: string;
2327
2248
  /** @description Secondary color of the entity used for UI representation. */
@@ -2332,9 +2253,12 @@ interface paths {
2332
2253
  svgColor: string;
2333
2254
  /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
2334
2255
  svgComplete?: string;
2335
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
2256
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
2336
2257
  color?: string;
2337
- /** @description The opacity of the label text, including its outline. */
2258
+ /**
2259
+ * Format: float
2260
+ * @description The opacity of the label text, including its outline.
2261
+ */
2338
2262
  "text-opacity"?: number;
2339
2263
  /** @description A comma-separated list of font names to use on the label text. */
2340
2264
  "font-family"?: string;
@@ -2349,115 +2273,154 @@ interface paths {
2349
2273
  * @enum {string}
2350
2274
  */
2351
2275
  "text-transform"?: "none" | "uppercase" | "lowercase";
2352
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
2276
+ /**
2277
+ * Format: float
2278
+ * @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
2279
+ */
2353
2280
  opacity?: number;
2354
2281
  /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
2355
2282
  "z-index"?: number;
2356
- /** @description The text to display for an elements label. Can give a path, e.g. data(id) will label with the elements id */
2283
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
2357
2284
  label?: string;
2358
- } & {
2359
2285
  /** @description The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc . */
2360
2286
  "edge-animation"?: string;
2361
2287
  /**
2362
2288
  * @description The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.
2363
- * @default straight
2364
2289
  * @enum {string}
2365
2290
  */
2366
- "curve-style"?: "straight" | "haystack" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
2367
- /** @description The colour of the edges line. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
2291
+ "curve-style"?: "haystack" | "straight" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
2292
+ /** @description The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g. */
2368
2293
  "line-color"?: string;
2369
2294
  /**
2370
- * @description The style of the edges line.
2295
+ * @description The style of the edge's line.
2371
2296
  * @enum {string}
2372
2297
  */
2373
2298
  "line-style"?: "solid" | "dotted" | "dashed";
2374
2299
  /**
2375
- * @description The cap style of the edges line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
2376
- * @default butt
2300
+ * @description The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
2377
2301
  * @enum {string}
2378
2302
  */
2379
2303
  "line-cap"?: "butt" | "round" | "square";
2380
2304
  /**
2381
- * @description The opacity of the edge’s line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
2382
- * @default 1
2305
+ * Format: float
2306
+ * @description The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
2383
2307
  */
2384
2308
  "line-opacity"?: number;
2385
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
2309
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
2386
2310
  "target-arrow-color"?: string;
2387
2311
  /**
2388
- * @description The shape of the edges source arrow
2312
+ * @description The shape of the edge's source arrow
2389
2313
  * @enum {string}
2390
2314
  */
2391
2315
  "target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
2392
2316
  /**
2393
- * @description The fill state of the edges source arrow
2317
+ * @description The fill state of the edge's source arrow
2394
2318
  * @enum {string}
2395
2319
  */
2396
2320
  "target-arrow-fill"?: "filled" | "hollow";
2397
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
2321
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
2398
2322
  "mid-target-arrow-color"?: string;
2399
2323
  /**
2400
- * @description The shape of the edges source arrow
2324
+ * @description The shape of the edge's source arrow
2401
2325
  * @enum {string}
2402
2326
  */
2403
2327
  "mid-target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
2404
2328
  /**
2405
- * @description The fill state of the edges source arrow
2329
+ * @description The fill state of the edge's source arrow
2406
2330
  * @enum {string}
2407
2331
  */
2408
2332
  "mid-target-arrow-fill"?: "filled" | "hollow";
2409
- /** @description Scaling for the arrow size. */
2333
+ /**
2334
+ * Format: float
2335
+ * @description Scaling for the arrow size.
2336
+ */
2410
2337
  "arrow-scale"?: number;
2411
- /** @description The text to display for an edges source label. Can give a path, e.g. data(id) will label with the elements id */
2338
+ /** @description The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id */
2412
2339
  "source-label"?: string;
2413
- /** @description The text to display for an edges target label. Can give a path, e.g. data(id) will label with the elements id */
2340
+ /** @description The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id */
2414
2341
  "target-label"?: string;
2415
- }> & Partial<{
2416
- /** @description Primary color of the component used for UI representation. */
2417
- primaryColor: string;
2418
- /** @description Secondary color of the entity used for UI representation. */
2419
- secondaryColor?: string;
2420
- /** @description White SVG of the entity used for UI representation on dark background. */
2421
- svgWhite: string;
2422
- /** @description Colored SVG of the entity used for UI representation on light background. */
2423
- svgColor: string;
2424
- /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
2425
- svgComplete?: string;
2426
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
2427
- color?: string;
2428
- /** @description The opacity of the label text, including its outline. */
2429
- "text-opacity"?: number;
2430
- /** @description A comma-separated list of font names to use on the label text. */
2431
- "font-family"?: string;
2432
- /** @description The size of the label text. */
2433
- "font-size"?: string;
2434
- /** @description A CSS font style to be applied to the label text. */
2435
- "font-style"?: string;
2436
- /** @description A CSS font weight to be applied to the label text. */
2437
- "font-weight"?: string;
2438
- /**
2439
- * @description A transformation to apply to the label text
2440
- * @enum {string}
2441
- */
2442
- "text-transform"?: "none" | "uppercase" | "lowercase";
2443
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
2444
- opacity?: number;
2445
- /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
2446
- "z-index"?: number;
2447
- /** @description The text to display for an element’s label. Can give a path, e.g. data(id) will label with the elements id */
2448
- label?: string;
2449
- }>;
2342
+ };
2343
+ /** @description Indicates whether the relationship should be treated as a logical representation only */
2344
+ isAnnotation?: boolean;
2450
2345
  } & {
2451
2346
  [key: string]: unknown;
2452
2347
  };
2348
+ /** @description Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2349
+ model: {
2350
+ /**
2351
+ * Format: uuid
2352
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2353
+ */
2354
+ id: string;
2355
+ /**
2356
+ * @description The unique name for the model within the scope of a registrant.
2357
+ * @default untitled-model
2358
+ */
2359
+ name: string;
2360
+ /** @description Version of the model definition. */
2361
+ version: string;
2362
+ /**
2363
+ * @description Human-readable name for the model.
2364
+ * @default Untitled Model
2365
+ */
2366
+ displayName: string;
2367
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
2368
+ model: {
2369
+ /** @description Version of the model as defined by the registrant. */
2370
+ version: string;
2371
+ };
2372
+ registrant: {
2373
+ kind: string;
2374
+ };
2375
+ };
2376
+ /**
2377
+ * Format: uuid
2378
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2379
+ */
2380
+ modelId?: string;
2381
+ /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
2382
+ evaluationQuery?: string;
2453
2383
  /** @description Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved. */
2454
2384
  selectors?: {
2455
- /** @description Optional selectors used to define relationships which should not be created / is restricted. */
2456
- deny?: {
2385
+ /** @description Selectors used to define relationships which are allowed. */
2386
+ allow: {
2457
2387
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
2458
2388
  from: {
2389
+ /**
2390
+ * Format: uuid
2391
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2392
+ */
2393
+ id?: string;
2459
2394
  kind?: string;
2460
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2395
+ /** @description Match configuration for selector */
2396
+ match?: {
2397
+ refs?: string[][];
2398
+ from?: {
2399
+ /**
2400
+ * Format: uuid
2401
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2402
+ */
2403
+ id?: string;
2404
+ kind: string;
2405
+ /** @description JSON ref to value from where patch should be applied. */
2406
+ mutatorRef?: string[][];
2407
+ mutatedRef?: string[][];
2408
+ }[];
2409
+ to?: {
2410
+ /**
2411
+ * Format: uuid
2412
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2413
+ */
2414
+ id?: string;
2415
+ kind: string;
2416
+ /** @description JSON ref to value from where patch should be applied. */
2417
+ mutatorRef?: string[][];
2418
+ mutatedRef?: string[][];
2419
+ }[];
2420
+ };
2421
+ /** @description Match strategy matrix for the selector */
2422
+ match_strategy_matrix?: string[][];
2423
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
2461
2424
  model?: {
2462
2425
  /**
2463
2426
  * Format: uuid
@@ -2485,39 +2448,7 @@ interface paths {
2485
2448
  kind: string;
2486
2449
  };
2487
2450
  };
2488
- /**
2489
- * Format: uuid
2490
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2491
- */
2492
- id?: string;
2493
- match?: string[][] | {
2494
- from?: ({
2495
- kind?: string;
2496
- /**
2497
- * Format: uuid
2498
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2499
- */
2500
- id?: string;
2501
- } & ({
2502
- /** @description JSON ref to value from where patch should be applied. */
2503
- mutatorRef?: string[][];
2504
- } | {
2505
- mutatedRef?: string[][];
2506
- }))[];
2507
- to?: ({
2508
- kind?: string;
2509
- /**
2510
- * Format: uuid
2511
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2512
- */
2513
- id?: string;
2514
- } & ({
2515
- /** @description JSON ref to value from where patch should be applied. */
2516
- mutatorRef?: string[][];
2517
- } | {
2518
- mutatedRef?: string[][];
2519
- }))[];
2520
- };
2451
+ /** @description Patch configuration for the selector */
2521
2452
  patch?: {
2522
2453
  /**
2523
2454
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -2525,26 +2456,57 @@ interface paths {
2525
2456
  * add: Inserts a value into an array or adds a member to an object.
2526
2457
  * replace: Replaces a value.
2527
2458
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
2528
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
2459
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
2529
2460
  * remove: Removes a value.
2530
2461
  * copy: Copies a value from one location to another.
2531
2462
  * move: Moves a value from one location to another.
2532
2463
  * test: Tests that a value at the target location is equal to a specified value.
2533
- * @default copy
2464
+ *
2534
2465
  * @enum {string}
2535
2466
  */
2536
2467
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
2537
- } & ({
2538
2468
  /** @description JSON ref to value from where patch should be applied. */
2539
2469
  mutatorRef?: string[][];
2540
- } | {
2541
2470
  mutatedRef?: string[][];
2542
- });
2471
+ };
2543
2472
  }[];
2544
2473
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
2545
2474
  to: {
2475
+ /**
2476
+ * Format: uuid
2477
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2478
+ */
2479
+ id?: string;
2546
2480
  kind?: string;
2547
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2481
+ /** @description Match configuration for selector */
2482
+ match?: {
2483
+ refs?: string[][];
2484
+ from?: {
2485
+ /**
2486
+ * Format: uuid
2487
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2488
+ */
2489
+ id?: string;
2490
+ kind: string;
2491
+ /** @description JSON ref to value from where patch should be applied. */
2492
+ mutatorRef?: string[][];
2493
+ mutatedRef?: string[][];
2494
+ }[];
2495
+ to?: {
2496
+ /**
2497
+ * Format: uuid
2498
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2499
+ */
2500
+ id?: string;
2501
+ kind: string;
2502
+ /** @description JSON ref to value from where patch should be applied. */
2503
+ mutatorRef?: string[][];
2504
+ mutatedRef?: string[][];
2505
+ }[];
2506
+ };
2507
+ /** @description Match strategy matrix for the selector */
2508
+ match_strategy_matrix?: string[][];
2509
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
2548
2510
  model?: {
2549
2511
  /**
2550
2512
  * Format: uuid
@@ -2572,39 +2534,7 @@ interface paths {
2572
2534
  kind: string;
2573
2535
  };
2574
2536
  };
2575
- /**
2576
- * Format: uuid
2577
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2578
- */
2579
- id?: string;
2580
- match?: string[][] | {
2581
- from?: ({
2582
- kind?: string;
2583
- /**
2584
- * Format: uuid
2585
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2586
- */
2587
- id?: string;
2588
- } & ({
2589
- /** @description JSON ref to value from where patch should be applied. */
2590
- mutatorRef?: string[][];
2591
- } | {
2592
- mutatedRef?: string[][];
2593
- }))[];
2594
- to?: ({
2595
- kind?: string;
2596
- /**
2597
- * Format: uuid
2598
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2599
- */
2600
- id?: string;
2601
- } & ({
2602
- /** @description JSON ref to value from where patch should be applied. */
2603
- mutatorRef?: string[][];
2604
- } | {
2605
- mutatedRef?: string[][];
2606
- }))[];
2607
- };
2537
+ /** @description Patch configuration for the selector */
2608
2538
  patch?: {
2609
2539
  /**
2610
2540
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -2612,31 +2542,60 @@ interface paths {
2612
2542
  * add: Inserts a value into an array or adds a member to an object.
2613
2543
  * replace: Replaces a value.
2614
2544
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
2615
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
2545
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
2616
2546
  * remove: Removes a value.
2617
2547
  * copy: Copies a value from one location to another.
2618
2548
  * move: Moves a value from one location to another.
2619
2549
  * test: Tests that a value at the target location is equal to a specified value.
2620
- * @default copy
2550
+ *
2621
2551
  * @enum {string}
2622
2552
  */
2623
2553
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
2624
- } & ({
2625
2554
  /** @description JSON ref to value from where patch should be applied. */
2626
2555
  mutatorRef?: string[][];
2627
- } | {
2628
2556
  mutatedRef?: string[][];
2629
- });
2557
+ };
2630
2558
  }[];
2631
2559
  };
2632
- /** @description Selectors used to define relationships which are allowed. */
2633
- allow: {
2560
+ /** @description Optional selectors used to define relationships which should not be created / is restricted. */
2561
+ deny?: {
2634
2562
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
2635
2563
  from: {
2564
+ /**
2565
+ * Format: uuid
2566
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2567
+ */
2568
+ id?: string;
2636
2569
  kind?: string;
2637
- /** @description Strategy criterion for determing how to match the values at mutator/mutated paths */
2570
+ /** @description Match configuration for selector */
2571
+ match?: {
2572
+ refs?: string[][];
2573
+ from?: {
2574
+ /**
2575
+ * Format: uuid
2576
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2577
+ */
2578
+ id?: string;
2579
+ kind: string;
2580
+ /** @description JSON ref to value from where patch should be applied. */
2581
+ mutatorRef?: string[][];
2582
+ mutatedRef?: string[][];
2583
+ }[];
2584
+ to?: {
2585
+ /**
2586
+ * Format: uuid
2587
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2588
+ */
2589
+ id?: string;
2590
+ kind: string;
2591
+ /** @description JSON ref to value from where patch should be applied. */
2592
+ mutatorRef?: string[][];
2593
+ mutatedRef?: string[][];
2594
+ }[];
2595
+ };
2596
+ /** @description Match strategy matrix for the selector */
2638
2597
  match_strategy_matrix?: string[][];
2639
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2598
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
2640
2599
  model?: {
2641
2600
  /**
2642
2601
  * Format: uuid
@@ -2664,39 +2623,7 @@ interface paths {
2664
2623
  kind: string;
2665
2624
  };
2666
2625
  };
2667
- /**
2668
- * Format: uuid
2669
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2670
- */
2671
- id?: string;
2672
- match?: string[][] | {
2673
- from?: ({
2674
- kind?: string;
2675
- /**
2676
- * Format: uuid
2677
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2678
- */
2679
- id?: string;
2680
- } & ({
2681
- /** @description JSON ref to value from where patch should be applied. */
2682
- mutatorRef?: string[][];
2683
- } | {
2684
- mutatedRef?: string[][];
2685
- }))[];
2686
- to?: ({
2687
- kind?: string;
2688
- /**
2689
- * Format: uuid
2690
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2691
- */
2692
- id?: string;
2693
- } & ({
2694
- /** @description JSON ref to value from where patch should be applied. */
2695
- mutatorRef?: string[][];
2696
- } | {
2697
- mutatedRef?: string[][];
2698
- }))[];
2699
- };
2626
+ /** @description Patch configuration for the selector */
2700
2627
  patch?: {
2701
2628
  /**
2702
2629
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -2704,26 +2631,57 @@ interface paths {
2704
2631
  * add: Inserts a value into an array or adds a member to an object.
2705
2632
  * replace: Replaces a value.
2706
2633
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
2707
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
2634
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
2708
2635
  * remove: Removes a value.
2709
2636
  * copy: Copies a value from one location to another.
2710
2637
  * move: Moves a value from one location to another.
2711
2638
  * test: Tests that a value at the target location is equal to a specified value.
2712
- * @default copy
2639
+ *
2713
2640
  * @enum {string}
2714
2641
  */
2715
2642
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
2716
- } & ({
2717
2643
  /** @description JSON ref to value from where patch should be applied. */
2718
2644
  mutatorRef?: string[][];
2719
- } | {
2720
2645
  mutatedRef?: string[][];
2721
- });
2646
+ };
2722
2647
  }[];
2723
2648
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
2724
2649
  to: {
2650
+ /**
2651
+ * Format: uuid
2652
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2653
+ */
2654
+ id?: string;
2725
2655
  kind?: string;
2726
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2656
+ /** @description Match configuration for selector */
2657
+ match?: {
2658
+ refs?: string[][];
2659
+ from?: {
2660
+ /**
2661
+ * Format: uuid
2662
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2663
+ */
2664
+ id?: string;
2665
+ kind: string;
2666
+ /** @description JSON ref to value from where patch should be applied. */
2667
+ mutatorRef?: string[][];
2668
+ mutatedRef?: string[][];
2669
+ }[];
2670
+ to?: {
2671
+ /**
2672
+ * Format: uuid
2673
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2674
+ */
2675
+ id?: string;
2676
+ kind: string;
2677
+ /** @description JSON ref to value from where patch should be applied. */
2678
+ mutatorRef?: string[][];
2679
+ mutatedRef?: string[][];
2680
+ }[];
2681
+ };
2682
+ /** @description Match strategy matrix for the selector */
2683
+ match_strategy_matrix?: string[][];
2684
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
2727
2685
  model?: {
2728
2686
  /**
2729
2687
  * Format: uuid
@@ -2751,39 +2709,7 @@ interface paths {
2751
2709
  kind: string;
2752
2710
  };
2753
2711
  };
2754
- /**
2755
- * Format: uuid
2756
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2757
- */
2758
- id?: string;
2759
- match?: string[][] | {
2760
- from?: ({
2761
- kind?: string;
2762
- /**
2763
- * Format: uuid
2764
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2765
- */
2766
- id?: string;
2767
- } & ({
2768
- /** @description JSON ref to value from where patch should be applied. */
2769
- mutatorRef?: string[][];
2770
- } | {
2771
- mutatedRef?: string[][];
2772
- }))[];
2773
- to?: ({
2774
- kind?: string;
2775
- /**
2776
- * Format: uuid
2777
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
2778
- */
2779
- id?: string;
2780
- } & ({
2781
- /** @description JSON ref to value from where patch should be applied. */
2782
- mutatorRef?: string[][];
2783
- } | {
2784
- mutatedRef?: string[][];
2785
- }))[];
2786
- };
2712
+ /** @description Patch configuration for the selector */
2787
2713
  patch?: {
2788
2714
  /**
2789
2715
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -2791,34 +2717,22 @@ interface paths {
2791
2717
  * add: Inserts a value into an array or adds a member to an object.
2792
2718
  * replace: Replaces a value.
2793
2719
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
2794
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
2720
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
2795
2721
  * remove: Removes a value.
2796
2722
  * copy: Copies a value from one location to another.
2797
2723
  * move: Moves a value from one location to another.
2798
2724
  * test: Tests that a value at the target location is equal to a specified value.
2799
- * @default copy
2725
+ *
2800
2726
  * @enum {string}
2801
2727
  */
2802
2728
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
2803
- } & ({
2804
2729
  /** @description JSON ref to value from where patch should be applied. */
2805
2730
  mutatorRef?: string[][];
2806
- } | {
2807
2731
  mutatedRef?: string[][];
2808
- });
2732
+ };
2809
2733
  }[];
2810
2734
  };
2811
2735
  }[];
2812
- /**
2813
- * Format: date-time
2814
- * @description Timestamp when the resource was created.
2815
- */
2816
- created_at?: string;
2817
- /**
2818
- * Format: date-time
2819
- * @description Timestamp when the resource was updated.
2820
- */
2821
- updated_at?: string;
2822
2736
  }[];
2823
2737
  };
2824
2738
  options?: {
@@ -3620,12 +3534,11 @@ interface components {
3620
3534
  relationships: {
3621
3535
  /**
3622
3536
  * Format: uuid
3623
- * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
3537
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3624
3538
  */
3625
- id?: string;
3539
+ id: string;
3626
3540
  /**
3627
3541
  * @description Specifies the version of the schema used for the relationship definition.
3628
- * @default relationships.meshery.io/v1alpha3
3629
3542
  * @example [
3630
3543
  * "v1",
3631
3544
  * "v1alpha1",
@@ -3636,34 +3549,6 @@ interface components {
3636
3549
  schemaVersion: string;
3637
3550
  /** @description A valid semantic version string between 5 and 256 characters. The pattern allows for a major.minor.patch version followed by an optional pre-release tag like '-alpha' or '-beta.2' and an optional build metadata tag like '+build.1. */
3638
3551
  version: string;
3639
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3640
- model: {
3641
- /**
3642
- * Format: uuid
3643
- * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3644
- */
3645
- id: string;
3646
- /**
3647
- * @description The unique name for the model within the scope of a registrant.
3648
- * @default untitled-model
3649
- */
3650
- name: string;
3651
- /** @description Version of the model definition. */
3652
- version: string;
3653
- /**
3654
- * @description Human-readable name for the model.
3655
- * @default Untitled Model
3656
- */
3657
- displayName: string;
3658
- /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
3659
- model: {
3660
- /** @description Version of the model as defined by the registrant. */
3661
- version: string;
3662
- };
3663
- registrant: {
3664
- kind: string;
3665
- };
3666
- };
3667
3552
  /**
3668
3553
  * @description Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.
3669
3554
  * @enum {string}
@@ -3675,12 +3560,9 @@ interface components {
3675
3560
  subType: string;
3676
3561
  /**
3677
3562
  * @description Status of the relationship.
3678
- * @default enabled
3679
3563
  * @enum {string}
3680
3564
  */
3681
- status?: "pending" | "approved" | "ignored" | "enabled" | "deleted";
3682
- /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
3683
- evaluationQuery?: string;
3565
+ status?: "enabled" | "ignored" | "deleted" | "approved" | "pending";
3684
3566
  /** @description Capabilities associated with the relationship. */
3685
3567
  capabilities?: {
3686
3568
  /**
@@ -3698,15 +3580,15 @@ interface components {
3698
3580
  /** @description Name of the capability in human-readible format. */
3699
3581
  displayName: string;
3700
3582
  /** @description A written representation of the purpose and characteristics of the capability. */
3701
- description?: string;
3583
+ description: string;
3702
3584
  /** @description Top-level categorization of the capability */
3703
3585
  kind: string;
3704
3586
  /** @description Classification of capabilities. Used to group capabilities similar in nature. */
3705
3587
  type: string;
3706
3588
  /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
3707
- subType?: string;
3589
+ subType: string;
3708
3590
  /** @description Key that backs the capability. */
3709
- key?: string;
3591
+ key: string;
3710
3592
  /** @description State of the entity in which the capability is applicable. */
3711
3593
  entityState: ("declaration" | "instance")[];
3712
3594
  /**
@@ -3724,12 +3606,8 @@ interface components {
3724
3606
  metadata?: {
3725
3607
  /** @description Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management. */
3726
3608
  description?: string;
3727
- /**
3728
- * @description Indicates whether the relationship should be treated as a logical representation only
3729
- * @default false
3730
- */
3731
- isAnnotation?: boolean;
3732
- styles?: Partial<{
3609
+ /** @description Visualization styles for a relationship */
3610
+ styles?: {
3733
3611
  /** @description Primary color of the component used for UI representation. */
3734
3612
  primaryColor: string;
3735
3613
  /** @description Secondary color of the entity used for UI representation. */
@@ -3740,9 +3618,12 @@ interface components {
3740
3618
  svgColor: string;
3741
3619
  /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
3742
3620
  svgComplete?: string;
3743
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
3621
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
3744
3622
  color?: string;
3745
- /** @description The opacity of the label text, including its outline. */
3623
+ /**
3624
+ * Format: float
3625
+ * @description The opacity of the label text, including its outline.
3626
+ */
3746
3627
  "text-opacity"?: number;
3747
3628
  /** @description A comma-separated list of font names to use on the label text. */
3748
3629
  "font-family"?: string;
@@ -3757,115 +3638,154 @@ interface components {
3757
3638
  * @enum {string}
3758
3639
  */
3759
3640
  "text-transform"?: "none" | "uppercase" | "lowercase";
3760
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
3641
+ /**
3642
+ * Format: float
3643
+ * @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
3644
+ */
3761
3645
  opacity?: number;
3762
3646
  /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
3763
3647
  "z-index"?: number;
3764
- /** @description The text to display for an elements label. Can give a path, e.g. data(id) will label with the elements id */
3648
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
3765
3649
  label?: string;
3766
- } & {
3767
3650
  /** @description The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc . */
3768
3651
  "edge-animation"?: string;
3769
3652
  /**
3770
3653
  * @description The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.
3771
- * @default straight
3772
3654
  * @enum {string}
3773
3655
  */
3774
- "curve-style"?: "straight" | "haystack" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
3775
- /** @description The colour of the edges line. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
3656
+ "curve-style"?: "haystack" | "straight" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
3657
+ /** @description The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g. */
3776
3658
  "line-color"?: string;
3777
3659
  /**
3778
- * @description The style of the edges line.
3660
+ * @description The style of the edge's line.
3779
3661
  * @enum {string}
3780
3662
  */
3781
3663
  "line-style"?: "solid" | "dotted" | "dashed";
3782
3664
  /**
3783
- * @description The cap style of the edges line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
3784
- * @default butt
3665
+ * @description The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
3785
3666
  * @enum {string}
3786
3667
  */
3787
3668
  "line-cap"?: "butt" | "round" | "square";
3788
3669
  /**
3789
- * @description The opacity of the edge’s line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
3790
- * @default 1
3670
+ * Format: float
3671
+ * @description The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
3791
3672
  */
3792
3673
  "line-opacity"?: number;
3793
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
3674
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
3794
3675
  "target-arrow-color"?: string;
3795
3676
  /**
3796
- * @description The shape of the edges source arrow
3677
+ * @description The shape of the edge's source arrow
3797
3678
  * @enum {string}
3798
3679
  */
3799
3680
  "target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
3800
3681
  /**
3801
- * @description The fill state of the edges source arrow
3682
+ * @description The fill state of the edge's source arrow
3802
3683
  * @enum {string}
3803
3684
  */
3804
3685
  "target-arrow-fill"?: "filled" | "hollow";
3805
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
3686
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
3806
3687
  "mid-target-arrow-color"?: string;
3807
3688
  /**
3808
- * @description The shape of the edges source arrow
3689
+ * @description The shape of the edge's source arrow
3809
3690
  * @enum {string}
3810
3691
  */
3811
3692
  "mid-target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
3812
3693
  /**
3813
- * @description The fill state of the edges source arrow
3694
+ * @description The fill state of the edge's source arrow
3814
3695
  * @enum {string}
3815
3696
  */
3816
3697
  "mid-target-arrow-fill"?: "filled" | "hollow";
3817
- /** @description Scaling for the arrow size. */
3698
+ /**
3699
+ * Format: float
3700
+ * @description Scaling for the arrow size.
3701
+ */
3818
3702
  "arrow-scale"?: number;
3819
- /** @description The text to display for an edges source label. Can give a path, e.g. data(id) will label with the elements id */
3703
+ /** @description The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id */
3820
3704
  "source-label"?: string;
3821
- /** @description The text to display for an edges target label. Can give a path, e.g. data(id) will label with the elements id */
3705
+ /** @description The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id */
3822
3706
  "target-label"?: string;
3823
- }> & Partial<{
3824
- /** @description Primary color of the component used for UI representation. */
3825
- primaryColor: string;
3826
- /** @description Secondary color of the entity used for UI representation. */
3827
- secondaryColor?: string;
3828
- /** @description White SVG of the entity used for UI representation on dark background. */
3829
- svgWhite: string;
3830
- /** @description Colored SVG of the entity used for UI representation on light background. */
3831
- svgColor: string;
3832
- /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
3833
- svgComplete?: string;
3834
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
3835
- color?: string;
3836
- /** @description The opacity of the label text, including its outline. */
3837
- "text-opacity"?: number;
3838
- /** @description A comma-separated list of font names to use on the label text. */
3839
- "font-family"?: string;
3840
- /** @description The size of the label text. */
3841
- "font-size"?: string;
3842
- /** @description A CSS font style to be applied to the label text. */
3843
- "font-style"?: string;
3844
- /** @description A CSS font weight to be applied to the label text. */
3845
- "font-weight"?: string;
3846
- /**
3847
- * @description A transformation to apply to the label text
3848
- * @enum {string}
3849
- */
3850
- "text-transform"?: "none" | "uppercase" | "lowercase";
3851
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
3852
- opacity?: number;
3853
- /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
3854
- "z-index"?: number;
3855
- /** @description The text to display for an element’s label. Can give a path, e.g. data(id) will label with the elements id */
3856
- label?: string;
3857
- }>;
3707
+ };
3708
+ /** @description Indicates whether the relationship should be treated as a logical representation only */
3709
+ isAnnotation?: boolean;
3858
3710
  } & {
3859
3711
  [key: string]: unknown;
3860
3712
  };
3713
+ /** @description Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3714
+ model: {
3715
+ /**
3716
+ * Format: uuid
3717
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3718
+ */
3719
+ id: string;
3720
+ /**
3721
+ * @description The unique name for the model within the scope of a registrant.
3722
+ * @default untitled-model
3723
+ */
3724
+ name: string;
3725
+ /** @description Version of the model definition. */
3726
+ version: string;
3727
+ /**
3728
+ * @description Human-readable name for the model.
3729
+ * @default Untitled Model
3730
+ */
3731
+ displayName: string;
3732
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
3733
+ model: {
3734
+ /** @description Version of the model as defined by the registrant. */
3735
+ version: string;
3736
+ };
3737
+ registrant: {
3738
+ kind: string;
3739
+ };
3740
+ };
3741
+ /**
3742
+ * Format: uuid
3743
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3744
+ */
3745
+ modelId?: string;
3746
+ /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
3747
+ evaluationQuery?: string;
3861
3748
  /** @description Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved. */
3862
3749
  selectors?: {
3863
- /** @description Optional selectors used to define relationships which should not be created / is restricted. */
3864
- deny?: {
3750
+ /** @description Selectors used to define relationships which are allowed. */
3751
+ allow: {
3865
3752
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
3866
3753
  from: {
3754
+ /**
3755
+ * Format: uuid
3756
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3757
+ */
3758
+ id?: string;
3867
3759
  kind?: string;
3868
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3760
+ /** @description Match configuration for selector */
3761
+ match?: {
3762
+ refs?: string[][];
3763
+ from?: {
3764
+ /**
3765
+ * Format: uuid
3766
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3767
+ */
3768
+ id?: string;
3769
+ kind: string;
3770
+ /** @description JSON ref to value from where patch should be applied. */
3771
+ mutatorRef?: string[][];
3772
+ mutatedRef?: string[][];
3773
+ }[];
3774
+ to?: {
3775
+ /**
3776
+ * Format: uuid
3777
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3778
+ */
3779
+ id?: string;
3780
+ kind: string;
3781
+ /** @description JSON ref to value from where patch should be applied. */
3782
+ mutatorRef?: string[][];
3783
+ mutatedRef?: string[][];
3784
+ }[];
3785
+ };
3786
+ /** @description Match strategy matrix for the selector */
3787
+ match_strategy_matrix?: string[][];
3788
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
3869
3789
  model?: {
3870
3790
  /**
3871
3791
  * Format: uuid
@@ -3893,39 +3813,7 @@ interface components {
3893
3813
  kind: string;
3894
3814
  };
3895
3815
  };
3896
- /**
3897
- * Format: uuid
3898
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
3899
- */
3900
- id?: string;
3901
- match?: string[][] | {
3902
- from?: ({
3903
- kind?: string;
3904
- /**
3905
- * Format: uuid
3906
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
3907
- */
3908
- id?: string;
3909
- } & ({
3910
- /** @description JSON ref to value from where patch should be applied. */
3911
- mutatorRef?: string[][];
3912
- } | {
3913
- mutatedRef?: string[][];
3914
- }))[];
3915
- to?: ({
3916
- kind?: string;
3917
- /**
3918
- * Format: uuid
3919
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
3920
- */
3921
- id?: string;
3922
- } & ({
3923
- /** @description JSON ref to value from where patch should be applied. */
3924
- mutatorRef?: string[][];
3925
- } | {
3926
- mutatedRef?: string[][];
3927
- }))[];
3928
- };
3816
+ /** @description Patch configuration for the selector */
3929
3817
  patch?: {
3930
3818
  /**
3931
3819
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -3933,26 +3821,57 @@ interface components {
3933
3821
  * add: Inserts a value into an array or adds a member to an object.
3934
3822
  * replace: Replaces a value.
3935
3823
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
3936
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
3824
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
3937
3825
  * remove: Removes a value.
3938
3826
  * copy: Copies a value from one location to another.
3939
3827
  * move: Moves a value from one location to another.
3940
3828
  * test: Tests that a value at the target location is equal to a specified value.
3941
- * @default copy
3829
+ *
3942
3830
  * @enum {string}
3943
3831
  */
3944
3832
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
3945
- } & ({
3946
3833
  /** @description JSON ref to value from where patch should be applied. */
3947
3834
  mutatorRef?: string[][];
3948
- } | {
3949
3835
  mutatedRef?: string[][];
3950
- });
3836
+ };
3951
3837
  }[];
3952
3838
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
3953
3839
  to: {
3840
+ /**
3841
+ * Format: uuid
3842
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3843
+ */
3844
+ id?: string;
3954
3845
  kind?: string;
3955
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3846
+ /** @description Match configuration for selector */
3847
+ match?: {
3848
+ refs?: string[][];
3849
+ from?: {
3850
+ /**
3851
+ * Format: uuid
3852
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3853
+ */
3854
+ id?: string;
3855
+ kind: string;
3856
+ /** @description JSON ref to value from where patch should be applied. */
3857
+ mutatorRef?: string[][];
3858
+ mutatedRef?: string[][];
3859
+ }[];
3860
+ to?: {
3861
+ /**
3862
+ * Format: uuid
3863
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3864
+ */
3865
+ id?: string;
3866
+ kind: string;
3867
+ /** @description JSON ref to value from where patch should be applied. */
3868
+ mutatorRef?: string[][];
3869
+ mutatedRef?: string[][];
3870
+ }[];
3871
+ };
3872
+ /** @description Match strategy matrix for the selector */
3873
+ match_strategy_matrix?: string[][];
3874
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
3956
3875
  model?: {
3957
3876
  /**
3958
3877
  * Format: uuid
@@ -3980,39 +3899,7 @@ interface components {
3980
3899
  kind: string;
3981
3900
  };
3982
3901
  };
3983
- /**
3984
- * Format: uuid
3985
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
3986
- */
3987
- id?: string;
3988
- match?: string[][] | {
3989
- from?: ({
3990
- kind?: string;
3991
- /**
3992
- * Format: uuid
3993
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
3994
- */
3995
- id?: string;
3996
- } & ({
3997
- /** @description JSON ref to value from where patch should be applied. */
3998
- mutatorRef?: string[][];
3999
- } | {
4000
- mutatedRef?: string[][];
4001
- }))[];
4002
- to?: ({
4003
- kind?: string;
4004
- /**
4005
- * Format: uuid
4006
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
4007
- */
4008
- id?: string;
4009
- } & ({
4010
- /** @description JSON ref to value from where patch should be applied. */
4011
- mutatorRef?: string[][];
4012
- } | {
4013
- mutatedRef?: string[][];
4014
- }))[];
4015
- };
3902
+ /** @description Patch configuration for the selector */
4016
3903
  patch?: {
4017
3904
  /**
4018
3905
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -4020,31 +3907,60 @@ interface components {
4020
3907
  * add: Inserts a value into an array or adds a member to an object.
4021
3908
  * replace: Replaces a value.
4022
3909
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
4023
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
3910
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
4024
3911
  * remove: Removes a value.
4025
3912
  * copy: Copies a value from one location to another.
4026
3913
  * move: Moves a value from one location to another.
4027
3914
  * test: Tests that a value at the target location is equal to a specified value.
4028
- * @default copy
3915
+ *
4029
3916
  * @enum {string}
4030
3917
  */
4031
3918
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
4032
- } & ({
4033
3919
  /** @description JSON ref to value from where patch should be applied. */
4034
3920
  mutatorRef?: string[][];
4035
- } | {
4036
3921
  mutatedRef?: string[][];
4037
- });
3922
+ };
4038
3923
  }[];
4039
3924
  };
4040
- /** @description Selectors used to define relationships which are allowed. */
4041
- allow: {
3925
+ /** @description Optional selectors used to define relationships which should not be created / is restricted. */
3926
+ deny?: {
4042
3927
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
4043
3928
  from: {
3929
+ /**
3930
+ * Format: uuid
3931
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3932
+ */
3933
+ id?: string;
4044
3934
  kind?: string;
4045
- /** @description Strategy criterion for determing how to match the values at mutator/mutated paths */
3935
+ /** @description Match configuration for selector */
3936
+ match?: {
3937
+ refs?: string[][];
3938
+ from?: {
3939
+ /**
3940
+ * Format: uuid
3941
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3942
+ */
3943
+ id?: string;
3944
+ kind: string;
3945
+ /** @description JSON ref to value from where patch should be applied. */
3946
+ mutatorRef?: string[][];
3947
+ mutatedRef?: string[][];
3948
+ }[];
3949
+ to?: {
3950
+ /**
3951
+ * Format: uuid
3952
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3953
+ */
3954
+ id?: string;
3955
+ kind: string;
3956
+ /** @description JSON ref to value from where patch should be applied. */
3957
+ mutatorRef?: string[][];
3958
+ mutatedRef?: string[][];
3959
+ }[];
3960
+ };
3961
+ /** @description Match strategy matrix for the selector */
4046
3962
  match_strategy_matrix?: string[][];
4047
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3963
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
4048
3964
  model?: {
4049
3965
  /**
4050
3966
  * Format: uuid
@@ -4072,39 +3988,7 @@ interface components {
4072
3988
  kind: string;
4073
3989
  };
4074
3990
  };
4075
- /**
4076
- * Format: uuid
4077
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
4078
- */
4079
- id?: string;
4080
- match?: string[][] | {
4081
- from?: ({
4082
- kind?: string;
4083
- /**
4084
- * Format: uuid
4085
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
4086
- */
4087
- id?: string;
4088
- } & ({
4089
- /** @description JSON ref to value from where patch should be applied. */
4090
- mutatorRef?: string[][];
4091
- } | {
4092
- mutatedRef?: string[][];
4093
- }))[];
4094
- to?: ({
4095
- kind?: string;
4096
- /**
4097
- * Format: uuid
4098
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
4099
- */
4100
- id?: string;
4101
- } & ({
4102
- /** @description JSON ref to value from where patch should be applied. */
4103
- mutatorRef?: string[][];
4104
- } | {
4105
- mutatedRef?: string[][];
4106
- }))[];
4107
- };
3991
+ /** @description Patch configuration for the selector */
4108
3992
  patch?: {
4109
3993
  /**
4110
3994
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -4112,26 +3996,57 @@ interface components {
4112
3996
  * add: Inserts a value into an array or adds a member to an object.
4113
3997
  * replace: Replaces a value.
4114
3998
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
4115
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
3999
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
4116
4000
  * remove: Removes a value.
4117
4001
  * copy: Copies a value from one location to another.
4118
4002
  * move: Moves a value from one location to another.
4119
4003
  * test: Tests that a value at the target location is equal to a specified value.
4120
- * @default copy
4004
+ *
4121
4005
  * @enum {string}
4122
4006
  */
4123
4007
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
4124
- } & ({
4125
4008
  /** @description JSON ref to value from where patch should be applied. */
4126
4009
  mutatorRef?: string[][];
4127
- } | {
4128
4010
  mutatedRef?: string[][];
4129
- });
4011
+ };
4130
4012
  }[];
4131
4013
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
4132
4014
  to: {
4015
+ /**
4016
+ * Format: uuid
4017
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
4018
+ */
4019
+ id?: string;
4133
4020
  kind?: string;
4134
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
4021
+ /** @description Match configuration for selector */
4022
+ match?: {
4023
+ refs?: string[][];
4024
+ from?: {
4025
+ /**
4026
+ * Format: uuid
4027
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
4028
+ */
4029
+ id?: string;
4030
+ kind: string;
4031
+ /** @description JSON ref to value from where patch should be applied. */
4032
+ mutatorRef?: string[][];
4033
+ mutatedRef?: string[][];
4034
+ }[];
4035
+ to?: {
4036
+ /**
4037
+ * Format: uuid
4038
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
4039
+ */
4040
+ id?: string;
4041
+ kind: string;
4042
+ /** @description JSON ref to value from where patch should be applied. */
4043
+ mutatorRef?: string[][];
4044
+ mutatedRef?: string[][];
4045
+ }[];
4046
+ };
4047
+ /** @description Match strategy matrix for the selector */
4048
+ match_strategy_matrix?: string[][];
4049
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
4135
4050
  model?: {
4136
4051
  /**
4137
4052
  * Format: uuid
@@ -4159,39 +4074,7 @@ interface components {
4159
4074
  kind: string;
4160
4075
  };
4161
4076
  };
4162
- /**
4163
- * Format: uuid
4164
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
4165
- */
4166
- id?: string;
4167
- match?: string[][] | {
4168
- from?: ({
4169
- kind?: string;
4170
- /**
4171
- * Format: uuid
4172
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
4173
- */
4174
- id?: string;
4175
- } & ({
4176
- /** @description JSON ref to value from where patch should be applied. */
4177
- mutatorRef?: string[][];
4178
- } | {
4179
- mutatedRef?: string[][];
4180
- }))[];
4181
- to?: ({
4182
- kind?: string;
4183
- /**
4184
- * Format: uuid
4185
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
4186
- */
4187
- id?: string;
4188
- } & ({
4189
- /** @description JSON ref to value from where patch should be applied. */
4190
- mutatorRef?: string[][];
4191
- } | {
4192
- mutatedRef?: string[][];
4193
- }))[];
4194
- };
4077
+ /** @description Patch configuration for the selector */
4195
4078
  patch?: {
4196
4079
  /**
4197
4080
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -4199,34 +4082,22 @@ interface components {
4199
4082
  * add: Inserts a value into an array or adds a member to an object.
4200
4083
  * replace: Replaces a value.
4201
4084
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
4202
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
4085
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
4203
4086
  * remove: Removes a value.
4204
4087
  * copy: Copies a value from one location to another.
4205
4088
  * move: Moves a value from one location to another.
4206
4089
  * test: Tests that a value at the target location is equal to a specified value.
4207
- * @default copy
4090
+ *
4208
4091
  * @enum {string}
4209
4092
  */
4210
4093
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
4211
- } & ({
4212
4094
  /** @description JSON ref to value from where patch should be applied. */
4213
4095
  mutatorRef?: string[][];
4214
- } | {
4215
4096
  mutatedRef?: string[][];
4216
- });
4097
+ };
4217
4098
  }[];
4218
4099
  };
4219
4100
  }[];
4220
- /**
4221
- * Format: date-time
4222
- * @description Timestamp when the resource was created.
4223
- */
4224
- created_at?: string;
4225
- /**
4226
- * Format: date-time
4227
- * @description Timestamp when the resource was updated.
4228
- */
4229
- updated_at?: string;
4230
4101
  }[];
4231
4102
  };
4232
4103
  options?: {
@@ -5024,12 +4895,11 @@ interface components {
5024
4895
  relationships: {
5025
4896
  /**
5026
4897
  * Format: uuid
5027
- * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
4898
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5028
4899
  */
5029
- id?: string;
4900
+ id: string;
5030
4901
  /**
5031
4902
  * @description Specifies the version of the schema used for the relationship definition.
5032
- * @default relationships.meshery.io/v1alpha3
5033
4903
  * @example [
5034
4904
  * "v1",
5035
4905
  * "v1alpha1",
@@ -5040,34 +4910,6 @@ interface components {
5040
4910
  schemaVersion: string;
5041
4911
  /** @description A valid semantic version string between 5 and 256 characters. The pattern allows for a major.minor.patch version followed by an optional pre-release tag like '-alpha' or '-beta.2' and an optional build metadata tag like '+build.1. */
5042
4912
  version: string;
5043
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
5044
- model: {
5045
- /**
5046
- * Format: uuid
5047
- * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5048
- */
5049
- id: string;
5050
- /**
5051
- * @description The unique name for the model within the scope of a registrant.
5052
- * @default untitled-model
5053
- */
5054
- name: string;
5055
- /** @description Version of the model definition. */
5056
- version: string;
5057
- /**
5058
- * @description Human-readable name for the model.
5059
- * @default Untitled Model
5060
- */
5061
- displayName: string;
5062
- /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
5063
- model: {
5064
- /** @description Version of the model as defined by the registrant. */
5065
- version: string;
5066
- };
5067
- registrant: {
5068
- kind: string;
5069
- };
5070
- };
5071
4913
  /**
5072
4914
  * @description Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.
5073
4915
  * @enum {string}
@@ -5079,12 +4921,9 @@ interface components {
5079
4921
  subType: string;
5080
4922
  /**
5081
4923
  * @description Status of the relationship.
5082
- * @default enabled
5083
4924
  * @enum {string}
5084
4925
  */
5085
- status?: "pending" | "approved" | "ignored" | "enabled" | "deleted";
5086
- /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
5087
- evaluationQuery?: string;
4926
+ status?: "enabled" | "ignored" | "deleted" | "approved" | "pending";
5088
4927
  /** @description Capabilities associated with the relationship. */
5089
4928
  capabilities?: {
5090
4929
  /**
@@ -5102,15 +4941,15 @@ interface components {
5102
4941
  /** @description Name of the capability in human-readible format. */
5103
4942
  displayName: string;
5104
4943
  /** @description A written representation of the purpose and characteristics of the capability. */
5105
- description?: string;
4944
+ description: string;
5106
4945
  /** @description Top-level categorization of the capability */
5107
4946
  kind: string;
5108
4947
  /** @description Classification of capabilities. Used to group capabilities similar in nature. */
5109
4948
  type: string;
5110
4949
  /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
5111
- subType?: string;
4950
+ subType: string;
5112
4951
  /** @description Key that backs the capability. */
5113
- key?: string;
4952
+ key: string;
5114
4953
  /** @description State of the entity in which the capability is applicable. */
5115
4954
  entityState: ("declaration" | "instance")[];
5116
4955
  /**
@@ -5128,12 +4967,8 @@ interface components {
5128
4967
  metadata?: {
5129
4968
  /** @description Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management. */
5130
4969
  description?: string;
5131
- /**
5132
- * @description Indicates whether the relationship should be treated as a logical representation only
5133
- * @default false
5134
- */
5135
- isAnnotation?: boolean;
5136
- styles?: Partial<{
4970
+ /** @description Visualization styles for a relationship */
4971
+ styles?: {
5137
4972
  /** @description Primary color of the component used for UI representation. */
5138
4973
  primaryColor: string;
5139
4974
  /** @description Secondary color of the entity used for UI representation. */
@@ -5144,9 +4979,12 @@ interface components {
5144
4979
  svgColor: string;
5145
4980
  /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
5146
4981
  svgComplete?: string;
5147
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
4982
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
5148
4983
  color?: string;
5149
- /** @description The opacity of the label text, including its outline. */
4984
+ /**
4985
+ * Format: float
4986
+ * @description The opacity of the label text, including its outline.
4987
+ */
5150
4988
  "text-opacity"?: number;
5151
4989
  /** @description A comma-separated list of font names to use on the label text. */
5152
4990
  "font-family"?: string;
@@ -5161,115 +4999,154 @@ interface components {
5161
4999
  * @enum {string}
5162
5000
  */
5163
5001
  "text-transform"?: "none" | "uppercase" | "lowercase";
5164
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
5002
+ /**
5003
+ * Format: float
5004
+ * @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
5005
+ */
5165
5006
  opacity?: number;
5166
5007
  /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
5167
5008
  "z-index"?: number;
5168
- /** @description The text to display for an elements label. Can give a path, e.g. data(id) will label with the elements id */
5009
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
5169
5010
  label?: string;
5170
- } & {
5171
5011
  /** @description The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc . */
5172
5012
  "edge-animation"?: string;
5173
5013
  /**
5174
5014
  * @description The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.
5175
- * @default straight
5176
5015
  * @enum {string}
5177
5016
  */
5178
- "curve-style"?: "straight" | "haystack" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
5179
- /** @description The colour of the edges line. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
5017
+ "curve-style"?: "haystack" | "straight" | "bezier" | "unbundled-bezier" | "segments" | "taxi";
5018
+ /** @description The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g. */
5180
5019
  "line-color"?: string;
5181
5020
  /**
5182
- * @description The style of the edges line.
5021
+ * @description The style of the edge's line.
5183
5022
  * @enum {string}
5184
5023
  */
5185
5024
  "line-style"?: "solid" | "dotted" | "dashed";
5186
5025
  /**
5187
- * @description The cap style of the edges line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
5188
- * @default butt
5026
+ * @description The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
5189
5027
  * @enum {string}
5190
5028
  */
5191
5029
  "line-cap"?: "butt" | "round" | "square";
5192
5030
  /**
5193
- * @description The opacity of the edge’s line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
5194
- * @default 1
5031
+ * Format: float
5032
+ * @description The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
5195
5033
  */
5196
5034
  "line-opacity"?: number;
5197
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
5035
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
5198
5036
  "target-arrow-color"?: string;
5199
5037
  /**
5200
- * @description The shape of the edges source arrow
5038
+ * @description The shape of the edge's source arrow
5201
5039
  * @enum {string}
5202
5040
  */
5203
5041
  "target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
5204
5042
  /**
5205
- * @description The fill state of the edges source arrow
5043
+ * @description The fill state of the edge's source arrow
5206
5044
  * @enum {string}
5207
5045
  */
5208
5046
  "target-arrow-fill"?: "filled" | "hollow";
5209
- /** @description The colour of the edges source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
5047
+ /** @description The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. */
5210
5048
  "mid-target-arrow-color"?: string;
5211
5049
  /**
5212
- * @description The shape of the edges source arrow
5050
+ * @description The shape of the edge's source arrow
5213
5051
  * @enum {string}
5214
5052
  */
5215
5053
  "mid-target-arrow-shape"?: "triangle" | "triangle-tee" | "circle-triangle" | "triangle-cross" | "triangle-backcurve" | "vee" | "tee" | "square" | "circle" | "diamond" | "chevron" | "none";
5216
5054
  /**
5217
- * @description The fill state of the edges source arrow
5055
+ * @description The fill state of the edge's source arrow
5218
5056
  * @enum {string}
5219
5057
  */
5220
5058
  "mid-target-arrow-fill"?: "filled" | "hollow";
5221
- /** @description Scaling for the arrow size. */
5059
+ /**
5060
+ * Format: float
5061
+ * @description Scaling for the arrow size.
5062
+ */
5222
5063
  "arrow-scale"?: number;
5223
- /** @description The text to display for an edges source label. Can give a path, e.g. data(id) will label with the elements id */
5064
+ /** @description The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id */
5224
5065
  "source-label"?: string;
5225
- /** @description The text to display for an edges target label. Can give a path, e.g. data(id) will label with the elements id */
5066
+ /** @description The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id */
5226
5067
  "target-label"?: string;
5227
- }> & Partial<{
5228
- /** @description Primary color of the component used for UI representation. */
5229
- primaryColor: string;
5230
- /** @description Secondary color of the entity used for UI representation. */
5231
- secondaryColor?: string;
5232
- /** @description White SVG of the entity used for UI representation on dark background. */
5233
- svgWhite: string;
5234
- /** @description Colored SVG of the entity used for UI representation on light background. */
5235
- svgColor: string;
5236
- /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
5237
- svgComplete?: string;
5238
- /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)). */
5239
- color?: string;
5240
- /** @description The opacity of the label text, including its outline. */
5241
- "text-opacity"?: number;
5242
- /** @description A comma-separated list of font names to use on the label text. */
5243
- "font-family"?: string;
5244
- /** @description The size of the label text. */
5245
- "font-size"?: string;
5246
- /** @description A CSS font style to be applied to the label text. */
5247
- "font-style"?: string;
5248
- /** @description A CSS font weight to be applied to the label text. */
5249
- "font-weight"?: string;
5250
- /**
5251
- * @description A transformation to apply to the label text
5252
- * @enum {string}
5253
- */
5254
- "text-transform"?: "none" | "uppercase" | "lowercase";
5255
- /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility */
5256
- opacity?: number;
5257
- /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
5258
- "z-index"?: number;
5259
- /** @description The text to display for an element’s label. Can give a path, e.g. data(id) will label with the elements id */
5260
- label?: string;
5261
- }>;
5068
+ };
5069
+ /** @description Indicates whether the relationship should be treated as a logical representation only */
5070
+ isAnnotation?: boolean;
5262
5071
  } & {
5263
5072
  [key: string]: unknown;
5264
5073
  };
5074
+ /** @description Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
5075
+ model: {
5076
+ /**
5077
+ * Format: uuid
5078
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5079
+ */
5080
+ id: string;
5081
+ /**
5082
+ * @description The unique name for the model within the scope of a registrant.
5083
+ * @default untitled-model
5084
+ */
5085
+ name: string;
5086
+ /** @description Version of the model definition. */
5087
+ version: string;
5088
+ /**
5089
+ * @description Human-readable name for the model.
5090
+ * @default Untitled Model
5091
+ */
5092
+ displayName: string;
5093
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
5094
+ model: {
5095
+ /** @description Version of the model as defined by the registrant. */
5096
+ version: string;
5097
+ };
5098
+ registrant: {
5099
+ kind: string;
5100
+ };
5101
+ };
5102
+ /**
5103
+ * Format: uuid
5104
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5105
+ */
5106
+ modelId?: string;
5107
+ /** @description Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. */
5108
+ evaluationQuery?: string;
5265
5109
  /** @description Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved. */
5266
5110
  selectors?: {
5267
- /** @description Optional selectors used to define relationships which should not be created / is restricted. */
5268
- deny?: {
5111
+ /** @description Selectors used to define relationships which are allowed. */
5112
+ allow: {
5269
5113
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
5270
5114
  from: {
5115
+ /**
5116
+ * Format: uuid
5117
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5118
+ */
5119
+ id?: string;
5271
5120
  kind?: string;
5272
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
5121
+ /** @description Match configuration for selector */
5122
+ match?: {
5123
+ refs?: string[][];
5124
+ from?: {
5125
+ /**
5126
+ * Format: uuid
5127
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5128
+ */
5129
+ id?: string;
5130
+ kind: string;
5131
+ /** @description JSON ref to value from where patch should be applied. */
5132
+ mutatorRef?: string[][];
5133
+ mutatedRef?: string[][];
5134
+ }[];
5135
+ to?: {
5136
+ /**
5137
+ * Format: uuid
5138
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5139
+ */
5140
+ id?: string;
5141
+ kind: string;
5142
+ /** @description JSON ref to value from where patch should be applied. */
5143
+ mutatorRef?: string[][];
5144
+ mutatedRef?: string[][];
5145
+ }[];
5146
+ };
5147
+ /** @description Match strategy matrix for the selector */
5148
+ match_strategy_matrix?: string[][];
5149
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
5273
5150
  model?: {
5274
5151
  /**
5275
5152
  * Format: uuid
@@ -5297,39 +5174,7 @@ interface components {
5297
5174
  kind: string;
5298
5175
  };
5299
5176
  };
5300
- /**
5301
- * Format: uuid
5302
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5303
- */
5304
- id?: string;
5305
- match?: string[][] | {
5306
- from?: ({
5307
- kind?: string;
5308
- /**
5309
- * Format: uuid
5310
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5311
- */
5312
- id?: string;
5313
- } & ({
5314
- /** @description JSON ref to value from where patch should be applied. */
5315
- mutatorRef?: string[][];
5316
- } | {
5317
- mutatedRef?: string[][];
5318
- }))[];
5319
- to?: ({
5320
- kind?: string;
5321
- /**
5322
- * Format: uuid
5323
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5324
- */
5325
- id?: string;
5326
- } & ({
5327
- /** @description JSON ref to value from where patch should be applied. */
5328
- mutatorRef?: string[][];
5329
- } | {
5330
- mutatedRef?: string[][];
5331
- }))[];
5332
- };
5177
+ /** @description Patch configuration for the selector */
5333
5178
  patch?: {
5334
5179
  /**
5335
5180
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -5337,26 +5182,57 @@ interface components {
5337
5182
  * add: Inserts a value into an array or adds a member to an object.
5338
5183
  * replace: Replaces a value.
5339
5184
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
5340
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
5185
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
5341
5186
  * remove: Removes a value.
5342
5187
  * copy: Copies a value from one location to another.
5343
5188
  * move: Moves a value from one location to another.
5344
5189
  * test: Tests that a value at the target location is equal to a specified value.
5345
- * @default copy
5190
+ *
5346
5191
  * @enum {string}
5347
5192
  */
5348
5193
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
5349
- } & ({
5350
5194
  /** @description JSON ref to value from where patch should be applied. */
5351
5195
  mutatorRef?: string[][];
5352
- } | {
5353
5196
  mutatedRef?: string[][];
5354
- });
5197
+ };
5355
5198
  }[];
5356
5199
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
5357
5200
  to: {
5201
+ /**
5202
+ * Format: uuid
5203
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5204
+ */
5205
+ id?: string;
5358
5206
  kind?: string;
5359
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
5207
+ /** @description Match configuration for selector */
5208
+ match?: {
5209
+ refs?: string[][];
5210
+ from?: {
5211
+ /**
5212
+ * Format: uuid
5213
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5214
+ */
5215
+ id?: string;
5216
+ kind: string;
5217
+ /** @description JSON ref to value from where patch should be applied. */
5218
+ mutatorRef?: string[][];
5219
+ mutatedRef?: string[][];
5220
+ }[];
5221
+ to?: {
5222
+ /**
5223
+ * Format: uuid
5224
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5225
+ */
5226
+ id?: string;
5227
+ kind: string;
5228
+ /** @description JSON ref to value from where patch should be applied. */
5229
+ mutatorRef?: string[][];
5230
+ mutatedRef?: string[][];
5231
+ }[];
5232
+ };
5233
+ /** @description Match strategy matrix for the selector */
5234
+ match_strategy_matrix?: string[][];
5235
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
5360
5236
  model?: {
5361
5237
  /**
5362
5238
  * Format: uuid
@@ -5384,39 +5260,7 @@ interface components {
5384
5260
  kind: string;
5385
5261
  };
5386
5262
  };
5387
- /**
5388
- * Format: uuid
5389
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5390
- */
5391
- id?: string;
5392
- match?: string[][] | {
5393
- from?: ({
5394
- kind?: string;
5395
- /**
5396
- * Format: uuid
5397
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5398
- */
5399
- id?: string;
5400
- } & ({
5401
- /** @description JSON ref to value from where patch should be applied. */
5402
- mutatorRef?: string[][];
5403
- } | {
5404
- mutatedRef?: string[][];
5405
- }))[];
5406
- to?: ({
5407
- kind?: string;
5408
- /**
5409
- * Format: uuid
5410
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5411
- */
5412
- id?: string;
5413
- } & ({
5414
- /** @description JSON ref to value from where patch should be applied. */
5415
- mutatorRef?: string[][];
5416
- } | {
5417
- mutatedRef?: string[][];
5418
- }))[];
5419
- };
5263
+ /** @description Patch configuration for the selector */
5420
5264
  patch?: {
5421
5265
  /**
5422
5266
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -5424,31 +5268,60 @@ interface components {
5424
5268
  * add: Inserts a value into an array or adds a member to an object.
5425
5269
  * replace: Replaces a value.
5426
5270
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
5427
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
5271
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
5428
5272
  * remove: Removes a value.
5429
5273
  * copy: Copies a value from one location to another.
5430
5274
  * move: Moves a value from one location to another.
5431
5275
  * test: Tests that a value at the target location is equal to a specified value.
5432
- * @default copy
5276
+ *
5433
5277
  * @enum {string}
5434
5278
  */
5435
5279
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
5436
- } & ({
5437
5280
  /** @description JSON ref to value from where patch should be applied. */
5438
5281
  mutatorRef?: string[][];
5439
- } | {
5440
5282
  mutatedRef?: string[][];
5441
- });
5283
+ };
5442
5284
  }[];
5443
5285
  };
5444
- /** @description Selectors used to define relationships which are allowed. */
5445
- allow: {
5286
+ /** @description Optional selectors used to define relationships which should not be created / is restricted. */
5287
+ deny?: {
5446
5288
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
5447
5289
  from: {
5290
+ /**
5291
+ * Format: uuid
5292
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5293
+ */
5294
+ id?: string;
5448
5295
  kind?: string;
5449
- /** @description Strategy criterion for determing how to match the values at mutator/mutated paths */
5296
+ /** @description Match configuration for selector */
5297
+ match?: {
5298
+ refs?: string[][];
5299
+ from?: {
5300
+ /**
5301
+ * Format: uuid
5302
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5303
+ */
5304
+ id?: string;
5305
+ kind: string;
5306
+ /** @description JSON ref to value from where patch should be applied. */
5307
+ mutatorRef?: string[][];
5308
+ mutatedRef?: string[][];
5309
+ }[];
5310
+ to?: {
5311
+ /**
5312
+ * Format: uuid
5313
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5314
+ */
5315
+ id?: string;
5316
+ kind: string;
5317
+ /** @description JSON ref to value from where patch should be applied. */
5318
+ mutatorRef?: string[][];
5319
+ mutatedRef?: string[][];
5320
+ }[];
5321
+ };
5322
+ /** @description Match strategy matrix for the selector */
5450
5323
  match_strategy_matrix?: string[][];
5451
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
5324
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
5452
5325
  model?: {
5453
5326
  /**
5454
5327
  * Format: uuid
@@ -5476,39 +5349,7 @@ interface components {
5476
5349
  kind: string;
5477
5350
  };
5478
5351
  };
5479
- /**
5480
- * Format: uuid
5481
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5482
- */
5483
- id?: string;
5484
- match?: string[][] | {
5485
- from?: ({
5486
- kind?: string;
5487
- /**
5488
- * Format: uuid
5489
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5490
- */
5491
- id?: string;
5492
- } & ({
5493
- /** @description JSON ref to value from where patch should be applied. */
5494
- mutatorRef?: string[][];
5495
- } | {
5496
- mutatedRef?: string[][];
5497
- }))[];
5498
- to?: ({
5499
- kind?: string;
5500
- /**
5501
- * Format: uuid
5502
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5503
- */
5504
- id?: string;
5505
- } & ({
5506
- /** @description JSON ref to value from where patch should be applied. */
5507
- mutatorRef?: string[][];
5508
- } | {
5509
- mutatedRef?: string[][];
5510
- }))[];
5511
- };
5352
+ /** @description Patch configuration for the selector */
5512
5353
  patch?: {
5513
5354
  /**
5514
5355
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -5516,26 +5357,57 @@ interface components {
5516
5357
  * add: Inserts a value into an array or adds a member to an object.
5517
5358
  * replace: Replaces a value.
5518
5359
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
5519
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
5360
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
5520
5361
  * remove: Removes a value.
5521
5362
  * copy: Copies a value from one location to another.
5522
5363
  * move: Moves a value from one location to another.
5523
5364
  * test: Tests that a value at the target location is equal to a specified value.
5524
- * @default copy
5365
+ *
5525
5366
  * @enum {string}
5526
5367
  */
5527
5368
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
5528
- } & ({
5529
5369
  /** @description JSON ref to value from where patch should be applied. */
5530
5370
  mutatorRef?: string[][];
5531
- } | {
5532
5371
  mutatedRef?: string[][];
5533
- });
5372
+ };
5534
5373
  }[];
5535
5374
  /** @description Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. */
5536
5375
  to: {
5376
+ /**
5377
+ * Format: uuid
5378
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5379
+ */
5380
+ id?: string;
5537
5381
  kind?: string;
5538
- /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
5382
+ /** @description Match configuration for selector */
5383
+ match?: {
5384
+ refs?: string[][];
5385
+ from?: {
5386
+ /**
5387
+ * Format: uuid
5388
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5389
+ */
5390
+ id?: string;
5391
+ kind: string;
5392
+ /** @description JSON ref to value from where patch should be applied. */
5393
+ mutatorRef?: string[][];
5394
+ mutatedRef?: string[][];
5395
+ }[];
5396
+ to?: {
5397
+ /**
5398
+ * Format: uuid
5399
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
5400
+ */
5401
+ id?: string;
5402
+ kind: string;
5403
+ /** @description JSON ref to value from where patch should be applied. */
5404
+ mutatorRef?: string[][];
5405
+ mutatedRef?: string[][];
5406
+ }[];
5407
+ };
5408
+ /** @description Match strategy matrix for the selector */
5409
+ match_strategy_matrix?: string[][];
5410
+ /** @description Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models */
5539
5411
  model?: {
5540
5412
  /**
5541
5413
  * Format: uuid
@@ -5563,39 +5435,7 @@ interface components {
5563
5435
  kind: string;
5564
5436
  };
5565
5437
  };
5566
- /**
5567
- * Format: uuid
5568
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5569
- */
5570
- id?: string;
5571
- match?: string[][] | {
5572
- from?: ({
5573
- kind?: string;
5574
- /**
5575
- * Format: uuid
5576
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5577
- */
5578
- id?: string;
5579
- } & ({
5580
- /** @description JSON ref to value from where patch should be applied. */
5581
- mutatorRef?: string[][];
5582
- } | {
5583
- mutatedRef?: string[][];
5584
- }))[];
5585
- to?: ({
5586
- kind?: string;
5587
- /**
5588
- * Format: uuid
5589
- * @description A Universally Unique Identifier used to uniquely identify entites in Meshery. The UUID core defintion is used across different schemas.
5590
- */
5591
- id?: string;
5592
- } & ({
5593
- /** @description JSON ref to value from where patch should be applied. */
5594
- mutatorRef?: string[][];
5595
- } | {
5596
- mutatedRef?: string[][];
5597
- }))[];
5598
- };
5438
+ /** @description Patch configuration for the selector */
5599
5439
  patch?: {
5600
5440
  /**
5601
5441
  * @description patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
@@ -5603,34 +5443,22 @@ interface components {
5603
5443
  * add: Inserts a value into an array or adds a member to an object.
5604
5444
  * replace: Replaces a value.
5605
5445
  * merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
5606
- * strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
5446
+ * strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
5607
5447
  * remove: Removes a value.
5608
5448
  * copy: Copies a value from one location to another.
5609
5449
  * move: Moves a value from one location to another.
5610
5450
  * test: Tests that a value at the target location is equal to a specified value.
5611
- * @default copy
5451
+ *
5612
5452
  * @enum {string}
5613
5453
  */
5614
5454
  patchStrategy?: "merge" | "strategic" | "add" | "remove" | "copy" | "move" | "test";
5615
- } & ({
5616
5455
  /** @description JSON ref to value from where patch should be applied. */
5617
5456
  mutatorRef?: string[][];
5618
- } | {
5619
5457
  mutatedRef?: string[][];
5620
- });
5458
+ };
5621
5459
  }[];
5622
5460
  };
5623
5461
  }[];
5624
- /**
5625
- * Format: date-time
5626
- * @description Timestamp when the resource was created.
5627
- */
5628
- created_at?: string;
5629
- /**
5630
- * Format: date-time
5631
- * @description Timestamp when the resource was updated.
5632
- */
5633
- updated_at?: string;
5634
5462
  }[];
5635
5463
  };
5636
5464
  /**