aws-sdk-states 1.54.0 → 1.55.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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