Skip to content

Commit a72149d

Browse files
authored
Merge branch 'main' into gh-1093/main/invoke-mcp-config
2 parents 46f4cbf + 007090d commit a72149d

File tree

20 files changed

+1991
-46
lines changed

20 files changed

+1991
-46
lines changed

docs/reference/schemas/config/functions/overview.md

Lines changed: 158 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -567,24 +567,66 @@ resources:
567567

568568
The following sections include the available DSC configuration functions by purpose and input type.
569569

570-
### Array functions
570+
### Array and collection functions
571571

572-
The following list of functions operate on arrays:
572+
The following list of functions operate on arrays and collections:
573573

574+
- [array()][array] - Convert a value into an array containing that value.
574575
- [concat()][concat] - Combine multiple arrays of strings into a single array of strings.
576+
- [contains()][contains] - Check if an array contains a value or an object contains a key.
575577
- [createArray()][createArray] - Create an array of a given type from zero or more values of the
576578
same type.
577-
- [min()][min] - Return the smallest integer value from an array of integers.
579+
- [empty()][empty] - Check if a value (string, array, or object) is empty.
580+
- [first()][first] - Return the first element of an array or the first character of a string.
581+
- [indexOf()][indexOf] - Return the zero-based index of the first occurrence of a value in an array.
582+
- [intersection()][intersection] - Return a single array or object with the common elements from the parameters.
583+
- [items()][items] - Convert an object into an array of key-value pair objects.
584+
- [join()][join] - Combine array elements into a single string with a specified delimiter.
585+
- [last()][last] - Return the last element of an array or the last character of a string.
586+
- [lastIndexOf()][lastIndexOf] - Return the zero-based index of the last occurrence of a value in an array.
587+
- [length()][length] - Return the number of elements in an array, characters in a string, or top-level properties in an object.
578588
- [max()][max] - Return the largest integer value from an array of integers.
589+
- [min()][min] - Return the smallest integer value from an array of integers.
590+
- [range()][range] - Create an array of integers within a specified range.
591+
- [skip()][skip] - Return an array or string with elements skipped from the beginning.
592+
- [take()][take] - Return an array or string with the specified number of elements from the start.
593+
- [tryGet()][tryGet] - Safely retrieve a value from an array by index or an object by key without throwing an error.
594+
- [tryIndexFromEnd()][tryIndexFromEnd] - Safely retrieve a value from an array by counting backward from the end.
595+
- [union()][union] - Return a single array or object with all unique elements from the parameters.
596+
597+
### Comparison functions
598+
599+
The following list of functions compare values:
600+
601+
- [equals()][equals] - Check if two values are equal.
602+
- [greater()][greater] - Check if the first value is greater than the second value.
603+
- [greaterOrEquals()][greaterOrEquals] - Check if the first value is greater than or equal to the second value.
604+
- [less()][less] - Check if the first value is less than the second value.
605+
- [lessOrEquals()][lessOrEquals] - Check if the first value is less than or equal to the second value.
579606

580607
### Data functions
581608

582609
The following list of functions operate on data outside of a resource instance:
583610

611+
- [context()][context] - Return contextual information about the system and execution environment.
584612
- [envvar()][envvar] - Return the value of a specified environment variable.
585613
- [parameters()][parameters] - Return the value of a specified configuration parameter.
614+
- [secret()][secret] - Retrieve a secret value from a secure store.
586615
- [variables()][variables] - Return the value of a specified configuration variable.
587616

617+
### Logical functions
618+
619+
The following list of functions perform logical operations:
620+
621+
- [and()][and] - Return true if all boolean values are true.
622+
- [bool()][bool] - Convert a value to a boolean.
623+
- [false()][false] - Return the boolean value false.
624+
- [if()][if] - Return one of two values based on a boolean condition.
625+
- [not()][not] - Return the logical negation of a boolean value.
626+
- [null()][null] - Return a null value.
627+
- [or()][or] - Return true if any boolean value is true.
628+
- [true()][true] - Return the boolean value true.
629+
588630
### Mathematics functions
589631

590632
The following list of functions operate on integer values or arrays of integer values:
@@ -599,6 +641,18 @@ The following list of functions operate on integer values or arrays of integer v
599641
- [mul()][mul] - Return the product from multiplying two integers.
600642
- [sub()][sub] - Return the difference from subtracting one integer from another.
601643

644+
### Object functions
645+
646+
The following list of functions operate on objects:
647+
648+
- [coalesce()][coalesce] - Return the first non-null value from the provided arguments.
649+
- [contains()][contains] - Check if an array contains a value or an object contains a key.
650+
- [createObject()][createObject] - Create an object from key-value pairs.
651+
- [empty()][empty] - Check if a value (string, array, or object) is empty.
652+
- [items()][items] - Convert an object into an array of key-value pair objects.
653+
- [json()][json] - Parse a JSON string and return the resulting value.
654+
- [tryGet()][tryGet] - Safely retrieve a value from an array by index or an object by key without throwing an error.
655+
602656
### Resource functions
603657

604658
The following list of functions operate on resource instances:
@@ -613,36 +667,120 @@ The following list of functions operate on resource instances:
613667
The following list of functions are for manipulating strings:
614668

615669
- [base64()][base64] - Return the base64 representation of a string.
670+
- [base64ToString()][base64ToString] - Decode a base64-encoded string and return the original string.
616671
- [concat()][concat] - Return a combined string where the input strings are concatenated in the
617672
order they're specified.
673+
- [contains()][contains] - Check if an array contains a value or an object contains a key.
674+
- [empty()][empty] - Check if a value (string, array, or object) is empty.
675+
- [endsWith()][endsWith] - Check if a string ends with a specified suffix.
676+
- [first()][first] - Return the first element of an array or the first character of a string.
677+
- [format()][format] - Create a formatted string from input values.
678+
- [join()][join] - Combine array elements into a single string with a specified delimiter.
679+
- [last()][last] - Return the last element of an array or the last character of a string.
680+
- [length()][length] - Return the number of elements in an array, characters in a string, or top-level properties in an object.
681+
- [skip()][skip] - Return an array or string with elements skipped from the beginning.
682+
- [startsWith()][startsWith] - Check if a string starts with a specified prefix.
683+
- [take()][take] - Return an array or string with the specified number of elements from the start.
684+
- [string()][string] - Convert a value to its string representation.
685+
- [substring()][substring] - Extract a portion of a string starting at a specified position.
686+
- [toLower()][toLower] - Convert a string to lowercase.
687+
- [toUpper()][toUpper] - Convert a string to uppercase.
688+
- [trim()][trim] - Remove leading and trailing whitespace from a string.
689+
- [uniqueString()][uniqueString] - Create a deterministic hash string based on provided values.
690+
- [uri()][uri] - Create an absolute URI by combining a base URI with a relative URI string.
691+
- [uriComponent()][uriComponent] - Encode a string for use as a URI component.
692+
- [uriComponentToString()][uriComponentToString] - Decode a URI-encoded string.
693+
694+
### System functions
695+
696+
The following list of functions provide system-level information:
697+
698+
- [path()][path] - Construct a file system path from one or more path segments.
699+
- [systemRoot()][systemRoot] - Return the system root directory path.
700+
- [utcNow()][utcNow] - Return the current UTC datetime in a specified format.
618701

619702
### Type functions
620703

621704
The following list of functions create or convert values of a given type:
622705

706+
- [array()][array] - Convert a value into an array containing that value.
707+
- [bool()][bool] - Convert a value to a boolean.
623708
- [createArray()][createArray] - Create an array of a given type from zero or more values of the
624709
same type.
710+
- [createObject()][createObject] - Create an object from key-value pairs.
625711
- [int()][int] - Convert a string or number with a fractional part into an integer.
712+
- [string()][string] - Convert a value to its string representation.
626713

627714
<!-- Link references -->
628715
[01]: https://yaml.org/spec/1.2.2/#folded-style
629716
[02]: https://yaml.org/spec/1.2.2/#literal-style
630717
[03]: https://yaml.org/spec/1.2.2/#block-chomping-indicator
631718
<!-- Function link references -->
632-
[add]: ./add.md
633-
[base64]: ./base64.md
634-
[concat]: ./concat.md
635-
[copyIndex]: ./copyIndex.md
636-
[createArray]: ./createArray.md
637-
[div]: ./div.md
638-
[envvar]: ./envvar.md
639-
[int]: ./int.md
640-
[max]: ./max.md
641-
[min]: ./min.md
642-
[mod]: ./mod.md
643-
[mul]: ./mul.md
644-
[parameters]: ./parameters.md
645-
[reference]: ./reference.md
646-
[resourceId]: ./resourceId.md
647-
[sub]: ./sub.md
648-
[variables]: ./variables.md
719+
[add]: ./add.md
720+
[and]: ./and.md
721+
[array]: ./array.md
722+
[base64]: ./base64.md
723+
[base64ToString]: ./base64ToString.md
724+
[bool]: ./bool.md
725+
[coalesce]: ./coalesce.md
726+
[concat]: ./concat.md
727+
[contains]: ./contains.md
728+
[context]: ./context.md
729+
[copyIndex]: ./copyIndex.md
730+
[createArray]: ./createArray.md
731+
[createObject]: ./createObject.md
732+
[div]: ./div.md
733+
[empty]: ./empty.md
734+
[endsWith]: ./endsWith.md
735+
[envvar]: ./envvar.md
736+
[equals]: ./equals.md
737+
[false]: ./false.md
738+
[first]: ./first.md
739+
[format]: ./format.md
740+
[greater]: ./greater.md
741+
[greaterOrEquals]: ./greaterOrEquals.md
742+
[if]: ./if.md
743+
[indexOf]: ./indexOf.md
744+
[int]: ./int.md
745+
[intersection]: ./intersection.md
746+
[items]: ./items.md
747+
[join]: ./join.md
748+
[json]: ./json.md
749+
[last]: ./last.md
750+
[lastIndexOf]: ./lastIndexOf.md
751+
[length]: ./length.md
752+
[less]: ./less.md
753+
[lessOrEquals]: ./lessOrEquals.md
754+
[max]: ./max.md
755+
[min]: ./min.md
756+
[mod]: ./mod.md
757+
[mul]: ./mul.md
758+
[not]: ./not.md
759+
[null]: ./null.md
760+
[or]: ./or.md
761+
[parameters]: ./parameters.md
762+
[path]: ./path.md
763+
[range]: ./range.md
764+
[reference]: ./reference.md
765+
[resourceId]: ./resourceId.md
766+
[secret]: ./secret.md
767+
[skip]: ./skip.md
768+
[startsWith]: ./startsWith.md
769+
[string]: ./string.md
770+
[take]: ./take.md
771+
[sub]: ./sub.md
772+
[substring]: ./substring.md
773+
[systemRoot]: ./systemRoot.md
774+
[toLower]: ./toLower.md
775+
[toUpper]: ./toUpper.md
776+
[trim]: ./trim.md
777+
[true]: ./true.md
778+
[tryGet]: ./tryGet.md
779+
[tryIndexFromEnd]: ./tryIndexFromEnd.md
780+
[union]: ./union.md
781+
[uniqueString]: ./uniqueString.md
782+
[uri]: ./uri.md
783+
[uriComponent]: ./uriComponent.md
784+
[uriComponentToString]: ./uriComponentToString.md
785+
[utcNow]: ./utcNow.md
786+
[variables]: ./variables.md

0 commit comments

Comments
 (0)