Source code for sceptre.resolvers.split

from sceptre.resolvers import Resolver


[docs]class Split(Resolver): """This resolver will split a value on a given delimiter string. This is great when combining with the ``!select`` resolver. This function works the same as CloudFormation's ``!Split`` intrinsic function. Note: The return value of this resolver is a *list*, not a string. This will not work to set Stack configurations that expect strings, but it WILL work to set Stack configurations that expect lists. The argument for this resolver should be a list with two elements: (1) The delimiter to split on and (2) a string to split. Example: notifications: !split - ";" - !stack_output my/sns/topics.yaml::SemicolonDelimitedArns """
[docs] def resolve(self): error_message = ( "The argument to !split must be a two-element list, where the first element is the " "string to split on and the second element string to split." ) if ( not isinstance(self.argument, list) or len(self.argument) != 2 or not all(isinstance(a, str) for a in self.argument) ): self.raise_invalid_argument_error(error_message) split_on, split_string = self.argument return split_string.split(split_on)