aws-sdk-states 1.54.0 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -484,6 +484,9 @@ module Aws::States
484
484
  # JSON-based, structured language. For more information, see [Amazon
485
485
  # States Language][1] in the Step Functions User Guide.
486
486
  #
487
+ # If you set the `publish` parameter of this API action to `true`, it
488
+ # publishes version `1` as the first revision of the state machine.
489
+ #
487
490
  # <note markdown="1"> This operation is eventually consistent. The results are best effort
488
491
  # and may not reflect very recent updates and changes.
489
492
  #
@@ -492,11 +495,13 @@ module Aws::States
492
495
  # <note markdown="1"> `CreateStateMachine` is an idempotent API. Subsequent requests won’t
493
496
  # create a duplicate resource if it was already created.
494
497
  # `CreateStateMachine`'s idempotency check is based on the state
495
- # machine `name`, `definition`, `type`, `LoggingConfiguration` and
496
- # `TracingConfiguration`. If a following request has a different
497
- # `roleArn` or `tags`, Step Functions will ignore these differences and
498
- # treat it as an idempotent request of the previous. In this case,
499
- # `roleArn` and `tags` will not be updated, even if they are different.
498
+ # machine `name`, `definition`, `type`, `LoggingConfiguration`, and
499
+ # `TracingConfiguration`. The check is also based on the `publish` and
500
+ # `versionDescription` parameters. If a following request has a
501
+ # different `roleArn` or `tags`, Step Functions will ignore these
502
+ # differences and treat it as an idempotent request of the previous. In
503
+ # this case, `roleArn` and `tags` will not be updated, even if they are
504
+ # different.
500
505
  #
501
506
  # </note>
502
507
  #
@@ -570,10 +575,21 @@ module Aws::States
570
575
  # @option params [Types::TracingConfiguration] :tracing_configuration
571
576
  # Selects whether X-Ray tracing is enabled.
572
577
  #
578
+ # @option params [Boolean] :publish
579
+ # Set to `true` to publish the first version of the state machine during
580
+ # creation. The default is `false`.
581
+ #
582
+ # @option params [String] :version_description
583
+ # Sets description about the state machine version. You can only set the
584
+ # description if the `publish` parameter is set to `true`. Otherwise, if
585
+ # you set `versionDescription`, but `publish` to `false`, this API
586
+ # action throws `ValidationException`.
587
+ #
573
588
  # @return [Types::CreateStateMachineOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
574
589
  #
575
590
  # * {Types::CreateStateMachineOutput#state_machine_arn #state_machine_arn} => String
576
591
  # * {Types::CreateStateMachineOutput#creation_date #creation_date} => Time
592
+ # * {Types::CreateStateMachineOutput#state_machine_version_arn #state_machine_version_arn} => String
577
593
  #
578
594
  # @example Request syntax with placeholder values
579
595
  #
@@ -602,12 +618,15 @@ module Aws::States
602
618
  # tracing_configuration: {
603
619
  # enabled: false,
604
620
  # },
621
+ # publish: false,
622
+ # version_description: "VersionDescription",
605
623
  # })
606
624
  #
607
625
  # @example Response structure
608
626
  #
609
627
  # resp.state_machine_arn #=> String
610
628
  # resp.creation_date #=> Time
629
+ # resp.state_machine_version_arn #=> String
611
630
  #
612
631
  # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateStateMachine AWS API Documentation
613
632
  #
@@ -618,6 +637,94 @@ module Aws::States
618
637
  req.send_request(options)
619
638
  end
620
639
 
640
+ # Creates an [alias][1] for a state machine that points to one or two
641
+ # [versions][2] of the same state machine. You can set your application
642
+ # to call StartExecution with an alias and update the version the alias
643
+ # uses without changing the client's code.
644
+ #
645
+ # You can also map an alias to split StartExecution requests between two
646
+ # versions of a state machine. To do this, add a second `RoutingConfig`
647
+ # object in the `routingConfiguration` parameter. You must also specify
648
+ # the percentage of execution run requests each version should receive
649
+ # in both `RoutingConfig` objects. Step Functions randomly chooses which
650
+ # version runs a given execution based on the percentage you specify.
651
+ #
652
+ # To create an alias that points to a single version, specify a single
653
+ # `RoutingConfig` object with a `weight` set to 100.
654
+ #
655
+ # You can create up to 100 aliases for each state machine. You must
656
+ # delete unused aliases using the DeleteStateMachineAlias API action.
657
+ #
658
+ # `CreateStateMachineAlias` is an idempotent API. Step Functions bases
659
+ # the idempotency check on the `stateMachineArn`, `description`, `name`,
660
+ # and `routingConfiguration` parameters. Requests that contain the same
661
+ # values for these parameters return a successful idempotent response
662
+ # without creating a duplicate resource.
663
+ #
664
+ # **Related operations:**
665
+ #
666
+ # * DescribeStateMachineAlias
667
+ #
668
+ # * ListStateMachineAliases
669
+ #
670
+ # * UpdateStateMachineAlias
671
+ #
672
+ # * DeleteStateMachineAlias
673
+ #
674
+ #
675
+ #
676
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
677
+ # [2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
678
+ #
679
+ # @option params [String] :description
680
+ # A description for the state machine alias.
681
+ #
682
+ # @option params [required, String] :name
683
+ # The name of the state machine alias.
684
+ #
685
+ # To avoid conflict with version ARNs, don't use an integer in the name
686
+ # of the alias.
687
+ #
688
+ # @option params [required, Array<Types::RoutingConfigurationListItem>] :routing_configuration
689
+ # The routing configuration of a state machine alias. The routing
690
+ # configuration shifts execution traffic between two state machine
691
+ # versions. `routingConfiguration` contains an array of `RoutingConfig`
692
+ # objects that specify up to two state machine versions. Step Functions
693
+ # then randomly choses which version to run an execution with based on
694
+ # the weight assigned to each `RoutingConfig`.
695
+ #
696
+ # @return [Types::CreateStateMachineAliasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
697
+ #
698
+ # * {Types::CreateStateMachineAliasOutput#state_machine_alias_arn #state_machine_alias_arn} => String
699
+ # * {Types::CreateStateMachineAliasOutput#creation_date #creation_date} => Time
700
+ #
701
+ # @example Request syntax with placeholder values
702
+ #
703
+ # resp = client.create_state_machine_alias({
704
+ # description: "AliasDescription",
705
+ # name: "CharacterRestrictedName", # required
706
+ # routing_configuration: [ # required
707
+ # {
708
+ # state_machine_version_arn: "Arn", # required
709
+ # weight: 1, # required
710
+ # },
711
+ # ],
712
+ # })
713
+ #
714
+ # @example Response structure
715
+ #
716
+ # resp.state_machine_alias_arn #=> String
717
+ # resp.creation_date #=> Time
718
+ #
719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateStateMachineAlias AWS API Documentation
720
+ #
721
+ # @overload create_state_machine_alias(params = {})
722
+ # @param [Hash] params ({})
723
+ def create_state_machine_alias(params = {}, options = {})
724
+ req = build_request(:create_state_machine_alias, params)
725
+ req.send_request(options)
726
+ end
727
+
621
728
  # Deletes an activity.
622
729
  #
623
730
  # @option params [required, String] :activity_arn
@@ -644,22 +751,43 @@ module Aws::States
644
751
  # the state machine's status to `DELETING` and begins the deletion
645
752
  # process.
646
753
  #
647
- # If the given state machine Amazon Resource Name (ARN) is a qualified
648
- # state machine ARN, it will fail with ValidationException.
754
+ # A qualified state machine ARN can either refer to a *Distributed Map
755
+ # state* defined within a state machine, a version ARN, or an alias ARN.
649
756
  #
650
- # A qualified state machine ARN refers to a *Distributed Map state*
651
- # defined within a state machine. For example, the qualified state
652
- # machine ARN
653
- # `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel`
654
- # refers to a *Distributed Map state* with a label `mapStateLabel` in
655
- # the state machine named `stateMachineName`.
757
+ # The following are some examples of qualified and unqualified state
758
+ # machine ARNs:
759
+ #
760
+ # * The following qualified state machine ARN refers to a *Distributed
761
+ # Map state* with a label `mapStateLabel` in a state machine named
762
+ # `myStateMachine`.
763
+ #
764
+ # `arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel`
765
+ #
766
+ # <note markdown="1"> If you provide a qualified state machine ARN that refers to a
767
+ # *Distributed Map state*, the request fails with
768
+ # `ValidationException`.
769
+ #
770
+ # </note>
656
771
  #
657
- # <note markdown="1"> For `EXPRESS` state machines, the deletion will happen eventually
658
- # (usually less than a minute). Running executions may emit logs after
772
+ # * The following unqualified state machine ARN refers to a state
773
+ # machine named `myStateMachine`.
774
+ #
775
+ # `arn:partition:states:region:account-id:stateMachine:myStateMachine`
776
+ #
777
+ # This API action also deletes all [versions][1] and [aliases][2]
778
+ # associated with a state machine.
779
+ #
780
+ # <note markdown="1"> For `EXPRESS` state machines, the deletion happens eventually (usually
781
+ # in less than a minute). Running executions may emit logs after
659
782
  # `DeleteStateMachine` API is called.
660
783
  #
661
784
  # </note>
662
785
  #
786
+ #
787
+ #
788
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
789
+ # [2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
790
+ #
663
791
  # @option params [required, String] :state_machine_arn
664
792
  # The Amazon Resource Name (ARN) of the state machine to delete.
665
793
  #
@@ -680,6 +808,92 @@ module Aws::States
680
808
  req.send_request(options)
681
809
  end
682
810
 
811
+ # Deletes a state machine [alias][1].
812
+ #
813
+ # After you delete a state machine alias, you can't use it to start
814
+ # executions. When you delete a state machine alias, Step Functions
815
+ # doesn't delete the state machine versions that alias references.
816
+ #
817
+ # **Related operations:**
818
+ #
819
+ # * CreateStateMachineAlias
820
+ #
821
+ # * DescribeStateMachineAlias
822
+ #
823
+ # * ListStateMachineAliases
824
+ #
825
+ # * UpdateStateMachineAlias
826
+ #
827
+ #
828
+ #
829
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
830
+ #
831
+ # @option params [required, String] :state_machine_alias_arn
832
+ # The Amazon Resource Name (ARN) of the state machine alias to delete.
833
+ #
834
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
835
+ #
836
+ # @example Request syntax with placeholder values
837
+ #
838
+ # resp = client.delete_state_machine_alias({
839
+ # state_machine_alias_arn: "Arn", # required
840
+ # })
841
+ #
842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DeleteStateMachineAlias AWS API Documentation
843
+ #
844
+ # @overload delete_state_machine_alias(params = {})
845
+ # @param [Hash] params ({})
846
+ def delete_state_machine_alias(params = {}, options = {})
847
+ req = build_request(:delete_state_machine_alias, params)
848
+ req.send_request(options)
849
+ end
850
+
851
+ # Deletes a state machine [version][1]. After you delete a version, you
852
+ # can't call StartExecution using that version's ARN or use the
853
+ # version with a state machine [alias][2].
854
+ #
855
+ # <note markdown="1"> Deleting a state machine version won't terminate its in-progress
856
+ # executions.
857
+ #
858
+ # </note>
859
+ #
860
+ # <note markdown="1"> You can't delete a state machine version currently referenced by one
861
+ # or more aliases. Before you delete a version, you must either delete
862
+ # the aliases or update them to point to another state machine version.
863
+ #
864
+ # </note>
865
+ #
866
+ # **Related operations:**
867
+ #
868
+ # * PublishStateMachineVersion
869
+ #
870
+ # * ListStateMachineVersions
871
+ #
872
+ #
873
+ #
874
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
875
+ # [2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
876
+ #
877
+ # @option params [required, String] :state_machine_version_arn
878
+ # The Amazon Resource Name (ARN) of the state machine version to delete.
879
+ #
880
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
881
+ #
882
+ # @example Request syntax with placeholder values
883
+ #
884
+ # resp = client.delete_state_machine_version({
885
+ # state_machine_version_arn: "LongArn", # required
886
+ # })
887
+ #
888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DeleteStateMachineVersion AWS API Documentation
889
+ #
890
+ # @overload delete_state_machine_version(params = {})
891
+ # @param [Hash] params ({})
892
+ def delete_state_machine_version(params = {}, options = {})
893
+ req = build_request(:delete_state_machine_version, params)
894
+ req.send_request(options)
895
+ end
896
+
683
897
  # Describes an activity.
684
898
  #
685
899
  # <note markdown="1"> This operation is eventually consistent. The results are best effort
@@ -717,18 +931,22 @@ module Aws::States
717
931
  req.send_request(options)
718
932
  end
719
933
 
720
- # Provides all information about a state machine execution, such as the
934
+ # Provides information about a state machine execution, such as the
721
935
  # state machine associated with the execution, the execution input and
722
936
  # output, and relevant execution metadata. Use this API action to return
723
- # the Map Run ARN if the execution was dispatched by a Map Run.
937
+ # the Map Run Amazon Resource Name (ARN) if the execution was dispatched
938
+ # by a Map Run.
939
+ #
940
+ # If you specify a version or alias ARN when you call the StartExecution
941
+ # API action, `DescribeExecution` returns that ARN.
724
942
  #
725
943
  # <note markdown="1"> This operation is eventually consistent. The results are best effort
726
944
  # and may not reflect very recent updates and changes.
727
945
  #
728
946
  # </note>
729
947
  #
730
- # This API action is not supported by `EXPRESS` state machine executions
731
- # unless they were dispatched by a Map Run.
948
+ # Executions of an `EXPRESS` state machinearen't supported by
949
+ # `DescribeExecution` unless a Map Run dispatched them.
732
950
  #
733
951
  # @option params [required, String] :execution_arn
734
952
  # The Amazon Resource Name (ARN) of the execution to describe.
@@ -749,6 +967,8 @@ module Aws::States
749
967
  # * {Types::DescribeExecutionOutput#map_run_arn #map_run_arn} => String
750
968
  # * {Types::DescribeExecutionOutput#error #error} => String
751
969
  # * {Types::DescribeExecutionOutput#cause #cause} => String
970
+ # * {Types::DescribeExecutionOutput#state_machine_version_arn #state_machine_version_arn} => String
971
+ # * {Types::DescribeExecutionOutput#state_machine_alias_arn #state_machine_alias_arn} => String
752
972
  #
753
973
  # @example Request syntax with placeholder values
754
974
  #
@@ -772,6 +992,8 @@ module Aws::States
772
992
  # resp.map_run_arn #=> String
773
993
  # resp.error #=> String
774
994
  # resp.cause #=> String
995
+ # resp.state_machine_version_arn #=> String
996
+ # resp.state_machine_alias_arn #=> String
775
997
  #
776
998
  # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DescribeExecution AWS API Documentation
777
999
  #
@@ -849,16 +1071,44 @@ module Aws::States
849
1071
  end
850
1072
 
851
1073
  # Provides information about a state machine's definition, its IAM role
852
- # Amazon Resource Name (ARN), and configuration. If the state machine
853
- # ARN is a qualified state machine ARN, the response returned includes
854
- # the `Map` state's label.
1074
+ # Amazon Resource Name (ARN), and configuration.
855
1075
  #
856
- # A qualified state machine ARN refers to a *Distributed Map state*
857
- # defined within a state machine. For example, the qualified state
858
- # machine ARN
859
- # `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel`
860
- # refers to a *Distributed Map state* with a label `mapStateLabel` in
861
- # the state machine named `stateMachineName`.
1076
+ # A qualified state machine ARN can either refer to a *Distributed Map
1077
+ # state* defined within a state machine, a version ARN, or an alias ARN.
1078
+ #
1079
+ # The following are some examples of qualified and unqualified state
1080
+ # machine ARNs:
1081
+ #
1082
+ # * The following qualified state machine ARN refers to a *Distributed
1083
+ # Map state* with a label `mapStateLabel` in a state machine named
1084
+ # `myStateMachine`.
1085
+ #
1086
+ # `arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel`
1087
+ #
1088
+ # <note markdown="1"> If you provide a qualified state machine ARN that refers to a
1089
+ # *Distributed Map state*, the request fails with
1090
+ # `ValidationException`.
1091
+ #
1092
+ # </note>
1093
+ #
1094
+ # * The following qualified state machine ARN refers to an alias named
1095
+ # `PROD`.
1096
+ #
1097
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>`
1098
+ #
1099
+ # <note markdown="1"> If you provide a qualified state machine ARN that refers to a
1100
+ # version ARN or an alias ARN, the request starts execution for that
1101
+ # version or alias.
1102
+ #
1103
+ # </note>
1104
+ #
1105
+ # * The following unqualified state machine ARN refers to a state
1106
+ # machine named `myStateMachine`.
1107
+ #
1108
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>`
1109
+ #
1110
+ # This API action returns the details for a state machine version if the
1111
+ # `stateMachineArn` you specify is a state machine version ARN.
862
1112
  #
863
1113
  # <note markdown="1"> This operation is eventually consistent. The results are best effort
864
1114
  # and may not reflect very recent updates and changes.
@@ -866,7 +1116,13 @@ module Aws::States
866
1116
  # </note>
867
1117
  #
868
1118
  # @option params [required, String] :state_machine_arn
869
- # The Amazon Resource Name (ARN) of the state machine to describe.
1119
+ # The Amazon Resource Name (ARN) of the state machine for which you want
1120
+ # the information.
1121
+ #
1122
+ # If you specify a state machine version ARN, this API returns details
1123
+ # about that version. The version ARN is a combination of state machine
1124
+ # ARN and the version number separated by a colon (:). For example,
1125
+ # `stateMachineARN:1`.
870
1126
  #
871
1127
  # @return [Types::DescribeStateMachineOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
872
1128
  #
@@ -880,6 +1136,8 @@ module Aws::States
880
1136
  # * {Types::DescribeStateMachineOutput#logging_configuration #logging_configuration} => Types::LoggingConfiguration
881
1137
  # * {Types::DescribeStateMachineOutput#tracing_configuration #tracing_configuration} => Types::TracingConfiguration
882
1138
  # * {Types::DescribeStateMachineOutput#label #label} => String
1139
+ # * {Types::DescribeStateMachineOutput#revision_id #revision_id} => String
1140
+ # * {Types::DescribeStateMachineOutput#description #description} => String
883
1141
  #
884
1142
  # @example Request syntax with placeholder values
885
1143
  #
@@ -902,6 +1160,8 @@ module Aws::States
902
1160
  # resp.logging_configuration.destinations[0].cloud_watch_logs_log_group.log_group_arn #=> String
903
1161
  # resp.tracing_configuration.enabled #=> Boolean
904
1162
  # resp.label #=> String
1163
+ # resp.revision_id #=> String
1164
+ # resp.description #=> String
905
1165
  #
906
1166
  # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DescribeStateMachine AWS API Documentation
907
1167
  #
@@ -912,11 +1172,65 @@ module Aws::States
912
1172
  req.send_request(options)
913
1173
  end
914
1174
 
1175
+ # Returns details about a state machine [alias][1].
1176
+ #
1177
+ # **Related operations:**
1178
+ #
1179
+ # * CreateStateMachineAlias
1180
+ #
1181
+ # * ListStateMachineAliases
1182
+ #
1183
+ # * UpdateStateMachineAlias
1184
+ #
1185
+ # * DeleteStateMachineAlias
1186
+ #
1187
+ #
1188
+ #
1189
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
1190
+ #
1191
+ # @option params [required, String] :state_machine_alias_arn
1192
+ # The Amazon Resource Name (ARN) of the state machine alias.
1193
+ #
1194
+ # @return [Types::DescribeStateMachineAliasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1195
+ #
1196
+ # * {Types::DescribeStateMachineAliasOutput#state_machine_alias_arn #state_machine_alias_arn} => String
1197
+ # * {Types::DescribeStateMachineAliasOutput#name #name} => String
1198
+ # * {Types::DescribeStateMachineAliasOutput#description #description} => String
1199
+ # * {Types::DescribeStateMachineAliasOutput#routing_configuration #routing_configuration} => Array&lt;Types::RoutingConfigurationListItem&gt;
1200
+ # * {Types::DescribeStateMachineAliasOutput#creation_date #creation_date} => Time
1201
+ # * {Types::DescribeStateMachineAliasOutput#update_date #update_date} => Time
1202
+ #
1203
+ # @example Request syntax with placeholder values
1204
+ #
1205
+ # resp = client.describe_state_machine_alias({
1206
+ # state_machine_alias_arn: "Arn", # required
1207
+ # })
1208
+ #
1209
+ # @example Response structure
1210
+ #
1211
+ # resp.state_machine_alias_arn #=> String
1212
+ # resp.name #=> String
1213
+ # resp.description #=> String
1214
+ # resp.routing_configuration #=> Array
1215
+ # resp.routing_configuration[0].state_machine_version_arn #=> String
1216
+ # resp.routing_configuration[0].weight #=> Integer
1217
+ # resp.creation_date #=> Time
1218
+ # resp.update_date #=> Time
1219
+ #
1220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DescribeStateMachineAlias AWS API Documentation
1221
+ #
1222
+ # @overload describe_state_machine_alias(params = {})
1223
+ # @param [Hash] params ({})
1224
+ def describe_state_machine_alias(params = {}, options = {})
1225
+ req = build_request(:describe_state_machine_alias, params)
1226
+ req.send_request(options)
1227
+ end
1228
+
915
1229
  # Provides information about a state machine's definition, its
916
- # execution role ARN, and configuration. If an execution was dispatched
917
- # by a Map Run, the Map Run is returned in the response. Additionally,
918
- # the state machine returned will be the state machine associated with
919
- # the Map Run.
1230
+ # execution role ARN, and configuration. If a Map Run dispatched the
1231
+ # execution, this action returns the Map Run Amazon Resource Name (ARN)
1232
+ # in the response. The state machine returned is the state machine
1233
+ # associated with the Map Run.
920
1234
  #
921
1235
  # <note markdown="1"> This operation is eventually consistent. The results are best effort
922
1236
  # and may not reflect very recent updates and changes.
@@ -940,6 +1254,7 @@ module Aws::States
940
1254
  # * {Types::DescribeStateMachineForExecutionOutput#tracing_configuration #tracing_configuration} => Types::TracingConfiguration
941
1255
  # * {Types::DescribeStateMachineForExecutionOutput#map_run_arn #map_run_arn} => String
942
1256
  # * {Types::DescribeStateMachineForExecutionOutput#label #label} => String
1257
+ # * {Types::DescribeStateMachineForExecutionOutput#revision_id #revision_id} => String
943
1258
  #
944
1259
  # @example Request syntax with placeholder values
945
1260
  #
@@ -961,6 +1276,7 @@ module Aws::States
961
1276
  # resp.tracing_configuration.enabled #=> Boolean
962
1277
  # resp.map_run_arn #=> String
963
1278
  # resp.label #=> String
1279
+ # resp.revision_id #=> String
964
1280
  #
965
1281
  # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DescribeStateMachineForExecution AWS API Documentation
966
1282
  #
@@ -1147,6 +1463,8 @@ module Aws::States
1147
1463
  # resp.events[0].execution_started_event_details.input #=> String
1148
1464
  # resp.events[0].execution_started_event_details.input_details.truncated #=> Boolean
1149
1465
  # resp.events[0].execution_started_event_details.role_arn #=> String
1466
+ # resp.events[0].execution_started_event_details.state_machine_alias_arn #=> String
1467
+ # resp.events[0].execution_started_event_details.state_machine_version_arn #=> String
1150
1468
  # resp.events[0].execution_succeeded_event_details.output #=> String
1151
1469
  # resp.events[0].execution_succeeded_event_details.output_details.truncated #=> Boolean
1152
1470
  # resp.events[0].execution_aborted_event_details.error #=> String
@@ -1263,6 +1581,10 @@ module Aws::States
1263
1581
  # Amazon Resource Name (ARN), or those related to a Map Run by
1264
1582
  # specifying a Map Run ARN.
1265
1583
  #
1584
+ # You can also provide a state machine [alias][1] ARN or [version][2]
1585
+ # ARN to list the executions associated with a specific alias or
1586
+ # version.
1587
+ #
1266
1588
  # Results are sorted by time, with the most recent execution first.
1267
1589
  #
1268
1590
  # If `nextToken` is returned, there are more results available. The
@@ -1279,6 +1601,11 @@ module Aws::States
1279
1601
  #
1280
1602
  # This API action is not supported by `EXPRESS` state machines.
1281
1603
  #
1604
+ #
1605
+ #
1606
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
1607
+ # [2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
1608
+ #
1282
1609
  # @option params [String] :state_machine_arn
1283
1610
  # The Amazon Resource Name (ARN) of the state machine whose executions
1284
1611
  # is listed.
@@ -1286,6 +1613,15 @@ module Aws::States
1286
1613
  # You can specify either a `mapRunArn` or a `stateMachineArn`, but not
1287
1614
  # both.
1288
1615
  #
1616
+ # You can also return a list of executions associated with a specific
1617
+ # [alias][1] or [version][2], by specifying an alias ARN or a version
1618
+ # ARN in the `stateMachineArn` parameter.
1619
+ #
1620
+ #
1621
+ #
1622
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
1623
+ # [2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
1624
+ #
1289
1625
  # @option params [String] :status_filter
1290
1626
  # If specified, only list the executions whose current execution status
1291
1627
  # matches the given filter.
@@ -1348,6 +1684,8 @@ module Aws::States
1348
1684
  # resp.executions[0].stop_date #=> Time
1349
1685
  # resp.executions[0].map_run_arn #=> String
1350
1686
  # resp.executions[0].item_count #=> Integer
1687
+ # resp.executions[0].state_machine_version_arn #=> String
1688
+ # resp.executions[0].state_machine_alias_arn #=> String
1351
1689
  # resp.next_token #=> String
1352
1690
  #
1353
1691
  # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListExecutions AWS API Documentation
@@ -1417,6 +1755,157 @@ module Aws::States
1417
1755
  req.send_request(options)
1418
1756
  end
1419
1757
 
1758
+ # Lists [aliases][1] for a specified state machine ARN. Results are
1759
+ # sorted by time, with the most recently created aliases listed first.
1760
+ #
1761
+ # To list aliases that reference a state machine [version][2], you can
1762
+ # specify the version ARN in the `stateMachineArn` parameter.
1763
+ #
1764
+ # If `nextToken` is returned, there are more results available. The
1765
+ # value of `nextToken` is a unique pagination token for each page. Make
1766
+ # the call again using the returned token to retrieve the next page.
1767
+ # Keep all other arguments unchanged. Each pagination token expires
1768
+ # after 24 hours. Using an expired pagination token will return an *HTTP
1769
+ # 400 InvalidToken* error.
1770
+ #
1771
+ # **Related operations:**
1772
+ #
1773
+ # * CreateStateMachineAlias
1774
+ #
1775
+ # * DescribeStateMachineAlias
1776
+ #
1777
+ # * UpdateStateMachineAlias
1778
+ #
1779
+ # * DeleteStateMachineAlias
1780
+ #
1781
+ #
1782
+ #
1783
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
1784
+ # [2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
1785
+ #
1786
+ # @option params [required, String] :state_machine_arn
1787
+ # The Amazon Resource Name (ARN) of the state machine for which you want
1788
+ # to list aliases.
1789
+ #
1790
+ # If you specify a state machine version ARN, this API returns a list of
1791
+ # aliases for that version.
1792
+ #
1793
+ # @option params [String] :next_token
1794
+ # If `nextToken` is returned, there are more results available. The
1795
+ # value of `nextToken` is a unique pagination token for each page. Make
1796
+ # the call again using the returned token to retrieve the next page.
1797
+ # Keep all other arguments unchanged. Each pagination token expires
1798
+ # after 24 hours. Using an expired pagination token will return an *HTTP
1799
+ # 400 InvalidToken* error.
1800
+ #
1801
+ # @option params [Integer] :max_results
1802
+ # The maximum number of results that are returned per call. You can use
1803
+ # `nextToken` to obtain further pages of results. The default is 100 and
1804
+ # the maximum allowed page size is 1000. A value of 0 uses the default.
1805
+ #
1806
+ # This is only an upper limit. The actual number of results returned per
1807
+ # call might be fewer than the specified maximum.
1808
+ #
1809
+ # @return [Types::ListStateMachineAliasesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1810
+ #
1811
+ # * {Types::ListStateMachineAliasesOutput#state_machine_aliases #state_machine_aliases} => Array&lt;Types::StateMachineAliasListItem&gt;
1812
+ # * {Types::ListStateMachineAliasesOutput#next_token #next_token} => String
1813
+ #
1814
+ # @example Request syntax with placeholder values
1815
+ #
1816
+ # resp = client.list_state_machine_aliases({
1817
+ # state_machine_arn: "Arn", # required
1818
+ # next_token: "PageToken",
1819
+ # max_results: 1,
1820
+ # })
1821
+ #
1822
+ # @example Response structure
1823
+ #
1824
+ # resp.state_machine_aliases #=> Array
1825
+ # resp.state_machine_aliases[0].state_machine_alias_arn #=> String
1826
+ # resp.state_machine_aliases[0].creation_date #=> Time
1827
+ # resp.next_token #=> String
1828
+ #
1829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListStateMachineAliases AWS API Documentation
1830
+ #
1831
+ # @overload list_state_machine_aliases(params = {})
1832
+ # @param [Hash] params ({})
1833
+ def list_state_machine_aliases(params = {}, options = {})
1834
+ req = build_request(:list_state_machine_aliases, params)
1835
+ req.send_request(options)
1836
+ end
1837
+
1838
+ # Lists [versions][1] for the specified state machine Amazon Resource
1839
+ # Name (ARN).
1840
+ #
1841
+ # The results are sorted in descending order of the version creation
1842
+ # time.
1843
+ #
1844
+ # If `nextToken` is returned, there are more results available. The
1845
+ # value of `nextToken` is a unique pagination token for each page. Make
1846
+ # the call again using the returned token to retrieve the next page.
1847
+ # Keep all other arguments unchanged. Each pagination token expires
1848
+ # after 24 hours. Using an expired pagination token will return an *HTTP
1849
+ # 400 InvalidToken* error.
1850
+ #
1851
+ # **Related operations:**
1852
+ #
1853
+ # * PublishStateMachineVersion
1854
+ #
1855
+ # * DeleteStateMachineVersion
1856
+ #
1857
+ #
1858
+ #
1859
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
1860
+ #
1861
+ # @option params [required, String] :state_machine_arn
1862
+ # The Amazon Resource Name (ARN) of the state machine.
1863
+ #
1864
+ # @option params [String] :next_token
1865
+ # If `nextToken` is returned, there are more results available. The
1866
+ # value of `nextToken` is a unique pagination token for each page. Make
1867
+ # the call again using the returned token to retrieve the next page.
1868
+ # Keep all other arguments unchanged. Each pagination token expires
1869
+ # after 24 hours. Using an expired pagination token will return an *HTTP
1870
+ # 400 InvalidToken* error.
1871
+ #
1872
+ # @option params [Integer] :max_results
1873
+ # The maximum number of results that are returned per call. You can use
1874
+ # `nextToken` to obtain further pages of results. The default is 100 and
1875
+ # the maximum allowed page size is 1000. A value of 0 uses the default.
1876
+ #
1877
+ # This is only an upper limit. The actual number of results returned per
1878
+ # call might be fewer than the specified maximum.
1879
+ #
1880
+ # @return [Types::ListStateMachineVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1881
+ #
1882
+ # * {Types::ListStateMachineVersionsOutput#state_machine_versions #state_machine_versions} => Array&lt;Types::StateMachineVersionListItem&gt;
1883
+ # * {Types::ListStateMachineVersionsOutput#next_token #next_token} => String
1884
+ #
1885
+ # @example Request syntax with placeholder values
1886
+ #
1887
+ # resp = client.list_state_machine_versions({
1888
+ # state_machine_arn: "Arn", # required
1889
+ # next_token: "PageToken",
1890
+ # max_results: 1,
1891
+ # })
1892
+ #
1893
+ # @example Response structure
1894
+ #
1895
+ # resp.state_machine_versions #=> Array
1896
+ # resp.state_machine_versions[0].state_machine_version_arn #=> String
1897
+ # resp.state_machine_versions[0].creation_date #=> Time
1898
+ # resp.next_token #=> String
1899
+ #
1900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListStateMachineVersions AWS API Documentation
1901
+ #
1902
+ # @overload list_state_machine_versions(params = {})
1903
+ # @param [Hash] params ({})
1904
+ def list_state_machine_versions(params = {}, options = {})
1905
+ req = build_request(:list_state_machine_versions, params)
1906
+ req.send_request(options)
1907
+ end
1908
+
1420
1909
  # Lists the existing state machines.
1421
1910
  #
1422
1911
  # If `nextToken` is returned, there are more results available. The
@@ -1513,6 +2002,84 @@ module Aws::States
1513
2002
  req.send_request(options)
1514
2003
  end
1515
2004
 
2005
+ # Creates a [version][1] from the current revision of a state machine.
2006
+ # Use versions to create immutable snapshots of your state machine. You
2007
+ # can start executions from versions either directly or with an alias.
2008
+ # To create an alias, use CreateStateMachineAlias.
2009
+ #
2010
+ # You can publish up to 1000 versions for each state machine. You must
2011
+ # manually delete unused versions using the DeleteStateMachineVersion
2012
+ # API action.
2013
+ #
2014
+ # `PublishStateMachineVersion` is an idempotent API. It doesn't create
2015
+ # a duplicate state machine version if it already exists for the current
2016
+ # revision. Step Functions bases `PublishStateMachineVersion`'s
2017
+ # idempotency check on the `stateMachineArn`, `name`, and `revisionId`
2018
+ # parameters. Requests with the same parameters return a successful
2019
+ # idempotent response. If you don't specify a `revisionId`, Step
2020
+ # Functions checks for a previously published version of the state
2021
+ # machine's current revision.
2022
+ #
2023
+ # **Related operations:**
2024
+ #
2025
+ # * DeleteStateMachineVersion
2026
+ #
2027
+ # * ListStateMachineVersions
2028
+ #
2029
+ #
2030
+ #
2031
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
2032
+ #
2033
+ # @option params [required, String] :state_machine_arn
2034
+ # The Amazon Resource Name (ARN) of the state machine.
2035
+ #
2036
+ # @option params [String] :revision_id
2037
+ # Only publish the state machine version if the current state machine's
2038
+ # revision ID matches the specified ID.
2039
+ #
2040
+ # Use this option to avoid publishing a version if the state machine
2041
+ # changed since you last updated it. If the specified revision ID
2042
+ # doesn't match the state machine's current revision ID, the API
2043
+ # returns `ConflictException`.
2044
+ #
2045
+ # <note markdown="1"> To specify an initial revision ID for a state machine with no revision
2046
+ # ID assigned, specify the string `INITIAL` for the `revisionId`
2047
+ # parameter. For example, you can specify a `revisionID` of `INITIAL`
2048
+ # when you create a state machine using the CreateStateMachine API
2049
+ # action.
2050
+ #
2051
+ # </note>
2052
+ #
2053
+ # @option params [String] :description
2054
+ # An optional description of the state machine version.
2055
+ #
2056
+ # @return [Types::PublishStateMachineVersionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2057
+ #
2058
+ # * {Types::PublishStateMachineVersionOutput#creation_date #creation_date} => Time
2059
+ # * {Types::PublishStateMachineVersionOutput#state_machine_version_arn #state_machine_version_arn} => String
2060
+ #
2061
+ # @example Request syntax with placeholder values
2062
+ #
2063
+ # resp = client.publish_state_machine_version({
2064
+ # state_machine_arn: "Arn", # required
2065
+ # revision_id: "RevisionId",
2066
+ # description: "VersionDescription",
2067
+ # })
2068
+ #
2069
+ # @example Response structure
2070
+ #
2071
+ # resp.creation_date #=> Time
2072
+ # resp.state_machine_version_arn #=> String
2073
+ #
2074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/PublishStateMachineVersion AWS API Documentation
2075
+ #
2076
+ # @overload publish_state_machine_version(params = {})
2077
+ # @param [Hash] params ({})
2078
+ def publish_state_machine_version(params = {}, options = {})
2079
+ req = build_request(:publish_state_machine_version, params)
2080
+ req.send_request(options)
2081
+ end
2082
+
1516
2083
  # Used by activity workers and task states using the [callback][1]
1517
2084
  # pattern to report that the task identified by the `taskToken` failed.
1518
2085
  #
@@ -1645,36 +2212,107 @@ module Aws::States
1645
2212
  req.send_request(options)
1646
2213
  end
1647
2214
 
1648
- # Starts a state machine execution. If the given state machine Amazon
1649
- # Resource Name (ARN) is a qualified state machine ARN, it will fail
1650
- # with ValidationException.
2215
+ # Starts a state machine execution.
1651
2216
  #
1652
- # A qualified state machine ARN refers to a *Distributed Map state*
1653
- # defined within a state machine. For example, the qualified state
1654
- # machine ARN
1655
- # `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel`
1656
- # refers to a *Distributed Map state* with a label `mapStateLabel` in
1657
- # the state machine named `stateMachineName`.
2217
+ # A qualified state machine ARN can either refer to a *Distributed Map
2218
+ # state* defined within a state machine, a version ARN, or an alias ARN.
2219
+ #
2220
+ # The following are some examples of qualified and unqualified state
2221
+ # machine ARNs:
2222
+ #
2223
+ # * The following qualified state machine ARN refers to a *Distributed
2224
+ # Map state* with a label `mapStateLabel` in a state machine named
2225
+ # `myStateMachine`.
2226
+ #
2227
+ # `arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel`
2228
+ #
2229
+ # <note markdown="1"> If you provide a qualified state machine ARN that refers to a
2230
+ # *Distributed Map state*, the request fails with
2231
+ # `ValidationException`.
2232
+ #
2233
+ # </note>
2234
+ #
2235
+ # * The following qualified state machine ARN refers to an alias named
2236
+ # `PROD`.
2237
+ #
2238
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>`
2239
+ #
2240
+ # <note markdown="1"> If you provide a qualified state machine ARN that refers to a
2241
+ # version ARN or an alias ARN, the request starts execution for that
2242
+ # version or alias.
2243
+ #
2244
+ # </note>
2245
+ #
2246
+ # * The following unqualified state machine ARN refers to a state
2247
+ # machine named `myStateMachine`.
2248
+ #
2249
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>`
2250
+ #
2251
+ # If you start an execution with an unqualified state machine ARN, Step
2252
+ # Functions uses the latest revision of the state machine for the
2253
+ # execution.
2254
+ #
2255
+ # To start executions of a state machine [version][1], call
2256
+ # `StartExecution` and provide the version ARN or the ARN of an
2257
+ # [alias][2] that points to the version.
1658
2258
  #
1659
2259
  # <note markdown="1"> `StartExecution` is idempotent for `STANDARD` workflows. For a
1660
- # `STANDARD` workflow, if `StartExecution` is called with the same name
1661
- # and input as a running execution, the call will succeed and return the
2260
+ # `STANDARD` workflow, if you call `StartExecution` with the same name
2261
+ # and input as a running execution, the call succeeds and return the
1662
2262
  # same response as the original request. If the execution is closed or
1663
- # if the input is different, it will return a `400
1664
- # ExecutionAlreadyExists` error. Names can be reused after 90 days.
2263
+ # if the input is different, it returns a `400 ExecutionAlreadyExists`
2264
+ # error. You can reuse names after 90 days.
1665
2265
  #
1666
- # `StartExecution` is not idempotent for `EXPRESS` workflows.
2266
+ # `StartExecution` isn't idempotent for `EXPRESS` workflows.
1667
2267
  #
1668
2268
  # </note>
1669
2269
  #
2270
+ #
2271
+ #
2272
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
2273
+ # [2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
2274
+ #
1670
2275
  # @option params [required, String] :state_machine_arn
1671
2276
  # The Amazon Resource Name (ARN) of the state machine to execute.
1672
2277
  #
2278
+ # The `stateMachineArn` parameter accepts one of the following inputs:
2279
+ #
2280
+ # * **An unqualified state machine ARN** – Refers to a state machine ARN
2281
+ # that isn't qualified with a version or alias ARN. The following is
2282
+ # an example of an unqualified state machine ARN.
2283
+ #
2284
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>`
2285
+ #
2286
+ # Step Functions doesn't associate state machine executions that you
2287
+ # start with an unqualified ARN with a version. This is true even if
2288
+ # that version uses the same revision that the execution used.
2289
+ #
2290
+ # * **A state machine version ARN** – Refers to a version ARN, which is
2291
+ # a combination of state machine ARN and the version number separated
2292
+ # by a colon (:). The following is an example of the ARN for version
2293
+ # 10.
2294
+ #
2295
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10`
2296
+ #
2297
+ # Step Functions doesn't associate executions that you start with a
2298
+ # version ARN with any aliases that point to that version.
2299
+ #
2300
+ # * **A state machine alias ARN** – Refers to an alias ARN, which is a
2301
+ # combination of state machine ARN and the alias name separated by a
2302
+ # colon (:). The following is an example of the ARN for an alias named
2303
+ # `PROD`.
2304
+ #
2305
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>`
2306
+ #
2307
+ # Step Functions associates executions that you start with an alias
2308
+ # ARN with that alias and the state machine version used for that
2309
+ # execution.
2310
+ #
1673
2311
  # @option params [String] :name
1674
- # The name of the execution. This name must be unique for your Amazon
1675
- # Web Services account, region, and state machine for 90 days. For more
1676
- # information, see [ Limits Related to State Machine Executions][1] in
1677
- # the *Step Functions Developer Guide*.
2312
+ # Optional name of the execution. This name must be unique for your
2313
+ # Amazon Web Services account, Region, and state machine for 90 days.
2314
+ # For more information, see [ Limits Related to State Machine
2315
+ # Executions][1] in the *Step Functions Developer Guide*.
1678
2316
  #
1679
2317
  # A name must *not* contain:
1680
2318
  #
@@ -1987,9 +2625,6 @@ module Aws::States
1987
2625
  # least one of `definition` or `roleArn` or you will receive a
1988
2626
  # `MissingRequiredParameter` error.
1989
2627
  #
1990
- # If the given state machine Amazon Resource Name (ARN) is a qualified
1991
- # state machine ARN, it will fail with ValidationException.
1992
- #
1993
2628
  # A qualified state machine ARN refers to a *Distributed Map state*
1994
2629
  # defined within a state machine. For example, the qualified state
1995
2630
  # machine ARN
@@ -1997,13 +2632,60 @@ module Aws::States
1997
2632
  # refers to a *Distributed Map state* with a label `mapStateLabel` in
1998
2633
  # the state machine named `stateMachineName`.
1999
2634
  #
2000
- # <note markdown="1"> All `StartExecution` calls within a few seconds will use the updated
2001
- # `definition` and `roleArn`. Executions started immediately after
2002
- # calling `UpdateStateMachine` may use the previous state machine
2635
+ # A qualified state machine ARN can either refer to a *Distributed Map
2636
+ # state* defined within a state machine, a version ARN, or an alias ARN.
2637
+ #
2638
+ # The following are some examples of qualified and unqualified state
2639
+ # machine ARNs:
2640
+ #
2641
+ # * The following qualified state machine ARN refers to a *Distributed
2642
+ # Map state* with a label `mapStateLabel` in a state machine named
2643
+ # `myStateMachine`.
2644
+ #
2645
+ # `arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel`
2646
+ #
2647
+ # <note markdown="1"> If you provide a qualified state machine ARN that refers to a
2648
+ # *Distributed Map state*, the request fails with
2649
+ # `ValidationException`.
2650
+ #
2651
+ # </note>
2652
+ #
2653
+ # * The following qualified state machine ARN refers to an alias named
2654
+ # `PROD`.
2655
+ #
2656
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>`
2657
+ #
2658
+ # <note markdown="1"> If you provide a qualified state machine ARN that refers to a
2659
+ # version ARN or an alias ARN, the request starts execution for that
2660
+ # version or alias.
2661
+ #
2662
+ # </note>
2663
+ #
2664
+ # * The following unqualified state machine ARN refers to a state
2665
+ # machine named `myStateMachine`.
2666
+ #
2667
+ # `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>`
2668
+ #
2669
+ # After you update your state machine, you can set the `publish`
2670
+ # parameter to `true` in the same action to publish a new [version][1].
2671
+ # This way, you can opt-in to strict versioning of your state machine.
2672
+ #
2673
+ # <note markdown="1"> Step Functions assigns monotonically increasing integers for state
2674
+ # machine versions, starting at version number 1.
2675
+ #
2676
+ # </note>
2677
+ #
2678
+ # <note markdown="1"> All `StartExecution` calls within a few seconds use the updated
2679
+ # `definition` and `roleArn`. Executions started immediately after you
2680
+ # call `UpdateStateMachine` may use the previous state machine
2003
2681
  # `definition` and `roleArn`.
2004
2682
  #
2005
2683
  # </note>
2006
2684
  #
2685
+ #
2686
+ #
2687
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
2688
+ #
2007
2689
  # @option params [required, String] :state_machine_arn
2008
2690
  # The Amazon Resource Name (ARN) of the state machine.
2009
2691
  #
@@ -2019,15 +2701,28 @@ module Aws::States
2019
2701
  # The Amazon Resource Name (ARN) of the IAM role of the state machine.
2020
2702
  #
2021
2703
  # @option params [Types::LoggingConfiguration] :logging_configuration
2022
- # The `LoggingConfiguration` data type is used to set CloudWatch Logs
2704
+ # Use the `LoggingConfiguration` data type to set CloudWatch Logs
2023
2705
  # options.
2024
2706
  #
2025
2707
  # @option params [Types::TracingConfiguration] :tracing_configuration
2026
2708
  # Selects whether X-Ray tracing is enabled.
2027
2709
  #
2710
+ # @option params [Boolean] :publish
2711
+ # Specifies whether the state machine version is published. The default
2712
+ # is `false`. To publish a version after updating the state machine, set
2713
+ # `publish` to `true`.
2714
+ #
2715
+ # @option params [String] :version_description
2716
+ # An optional description of the state machine version to publish.
2717
+ #
2718
+ # You can only specify the `versionDescription` parameter if you've set
2719
+ # `publish` to `true`.
2720
+ #
2028
2721
  # @return [Types::UpdateStateMachineOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2029
2722
  #
2030
2723
  # * {Types::UpdateStateMachineOutput#update_date #update_date} => Time
2724
+ # * {Types::UpdateStateMachineOutput#revision_id #revision_id} => String
2725
+ # * {Types::UpdateStateMachineOutput#state_machine_version_arn #state_machine_version_arn} => String
2031
2726
  #
2032
2727
  # @example Request syntax with placeholder values
2033
2728
  #
@@ -2049,11 +2744,15 @@ module Aws::States
2049
2744
  # tracing_configuration: {
2050
2745
  # enabled: false,
2051
2746
  # },
2747
+ # publish: false,
2748
+ # version_description: "VersionDescription",
2052
2749
  # })
2053
2750
  #
2054
2751
  # @example Response structure
2055
2752
  #
2056
2753
  # resp.update_date #=> Time
2754
+ # resp.revision_id #=> String
2755
+ # resp.state_machine_version_arn #=> String
2057
2756
  #
2058
2757
  # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/UpdateStateMachine AWS API Documentation
2059
2758
  #
@@ -2064,6 +2763,82 @@ module Aws::States
2064
2763
  req.send_request(options)
2065
2764
  end
2066
2765
 
2766
+ # Updates the configuration of an existing state machine [alias][1] by
2767
+ # modifying its `description` or `routingConfiguration`.
2768
+ #
2769
+ # You must specify at least one of the `description` or
2770
+ # `routingConfiguration` parameters to update a state machine alias.
2771
+ #
2772
+ # <note markdown="1"> `UpdateStateMachineAlias` is an idempotent API. Step Functions bases
2773
+ # the idempotency check on the `stateMachineAliasArn`, `description`,
2774
+ # and `routingConfiguration` parameters. Requests with the same
2775
+ # parameters return an idempotent response.
2776
+ #
2777
+ # </note>
2778
+ #
2779
+ # <note markdown="1"> This operation is eventually consistent. All StartExecution requests
2780
+ # made within a few seconds use the latest alias configuration.
2781
+ # Executions started immediately after calling `UpdateStateMachineAlias`
2782
+ # may use the previous routing configuration.
2783
+ #
2784
+ # </note>
2785
+ #
2786
+ # **Related operations:**
2787
+ #
2788
+ # * CreateStateMachineAlias
2789
+ #
2790
+ # * DescribeStateMachineAlias
2791
+ #
2792
+ # * ListStateMachineAliases
2793
+ #
2794
+ # * DeleteStateMachineAlias
2795
+ #
2796
+ #
2797
+ #
2798
+ # [1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
2799
+ #
2800
+ # @option params [required, String] :state_machine_alias_arn
2801
+ # The Amazon Resource Name (ARN) of the state machine alias.
2802
+ #
2803
+ # @option params [String] :description
2804
+ # A description of the state machine alias.
2805
+ #
2806
+ # @option params [Array<Types::RoutingConfigurationListItem>] :routing_configuration
2807
+ # The routing configuration of the state machine alias.
2808
+ #
2809
+ # An array of `RoutingConfig` objects that specifies up to two state
2810
+ # machine versions that the alias starts executions for.
2811
+ #
2812
+ # @return [Types::UpdateStateMachineAliasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2813
+ #
2814
+ # * {Types::UpdateStateMachineAliasOutput#update_date #update_date} => Time
2815
+ #
2816
+ # @example Request syntax with placeholder values
2817
+ #
2818
+ # resp = client.update_state_machine_alias({
2819
+ # state_machine_alias_arn: "Arn", # required
2820
+ # description: "AliasDescription",
2821
+ # routing_configuration: [
2822
+ # {
2823
+ # state_machine_version_arn: "Arn", # required
2824
+ # weight: 1, # required
2825
+ # },
2826
+ # ],
2827
+ # })
2828
+ #
2829
+ # @example Response structure
2830
+ #
2831
+ # resp.update_date #=> Time
2832
+ #
2833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/UpdateStateMachineAlias AWS API Documentation
2834
+ #
2835
+ # @overload update_state_machine_alias(params = {})
2836
+ # @param [Hash] params ({})
2837
+ def update_state_machine_alias(params = {}, options = {})
2838
+ req = build_request(:update_state_machine_alias, params)
2839
+ req.send_request(options)
2840
+ end
2841
+
2067
2842
  # @!endgroup
2068
2843
 
2069
2844
  # @param params ({})
@@ -2077,7 +2852,7 @@ module Aws::States
2077
2852
  params: params,
2078
2853
  config: config)
2079
2854
  context[:gem_name] = 'aws-sdk-states'
2080
- context[:gem_version] = '1.54.0'
2855
+ context[:gem_version] = '1.55.0'
2081
2856
  Seahorse::Client::Request.new(handlers, context)
2082
2857
  end
2083
2858