aws-sdk-lambdaweb 1.2.0 → 1.3.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.
@@ -474,15 +474,630 @@ module Aws::LambdaWeb
474
474
 
475
475
  # @!group API Operations
476
476
 
477
+ # Creates a web function with an initial revision and endpoint. To
478
+ # create a web function, you provide the function name, revision
479
+ # configuration (code and service settings), and endpoint configuration.
480
+ #
481
+ # To use this operation, you must have the `CreateWebFunction`
482
+ # permission on the web function. You don't need separate permissions
483
+ # for the initial revision or endpoint.
484
+ #
485
+ # @option params [required, String] :function_name
486
+ # The name of the web function. The name can contain letters, numbers,
487
+ # hyphens (-), and underscores (\_), and can't begin or end with a
488
+ # hyphen or an underscore. The name is limited to 64 characters in
489
+ # length.
490
+ #
491
+ # @option params [Types::RevisionConfig] :revision_config
492
+ # The configuration for the initial revision of the web function,
493
+ # including code and service settings.
494
+ #
495
+ # @option params [Types::EndpointConfig] :endpoint_config
496
+ # The configuration for the initial endpoint of the web function.
497
+ #
498
+ # @option params [Hash<String,String>] :tags
499
+ # A map of tag keys and values to apply to the web function.
500
+ #
501
+ # @return [Types::CreateWebFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
502
+ #
503
+ # * {Types::CreateWebFunctionResponse#function_name #function_name} => String
504
+ # * {Types::CreateWebFunctionResponse#function_arn #function_arn} => String
505
+ # * {Types::CreateWebFunctionResponse#state #state} => String
506
+ # * {Types::CreateWebFunctionResponse#state_reason #state_reason} => String
507
+ # * {Types::CreateWebFunctionResponse#created_at #created_at} => Time
508
+ # * {Types::CreateWebFunctionResponse#updated_at #updated_at} => Time
509
+ # * {Types::CreateWebFunctionResponse#revision #revision} => Types::FunctionRevisionSummary
510
+ # * {Types::CreateWebFunctionResponse#endpoint #endpoint} => Types::FunctionEndpointSummary
511
+ # * {Types::CreateWebFunctionResponse#tags #tags} => Hash&lt;String,String&gt;
512
+ #
513
+ # @example Request syntax with placeholder values
514
+ #
515
+ # resp = client.create_web_function({
516
+ # function_name: "FunctionName", # required
517
+ # revision_config: {
518
+ # description: "Description",
519
+ # kms_key_arn: "KmsKeyArn",
520
+ # build_config: { # required
521
+ # code_config: { # required
522
+ # s3_object: { # required
523
+ # bucket: "S3ObjectBucketString", # required
524
+ # key: "S3ObjectKeyString", # required
525
+ # version_id: "S3ObjectVersionIdString",
526
+ # },
527
+ # },
528
+ # runtime_config: { # required
529
+ # runtime: "RuntimeConfigRuntimeString", # required
530
+ # },
531
+ # },
532
+ # service_config: { # required
533
+ # execution_role_arn: "RoleArn", # required
534
+ # timeout_seconds: 1,
535
+ # egress_network_connector_arn: "ServiceConfigEgressNetworkConnectorArnString",
536
+ # max_concurrency_per_environment: 1,
537
+ # environment_variables: {
538
+ # "EnvironmentVariablesKeyString" => "EnvironmentVariablesValueString",
539
+ # },
540
+ # telemetry_config: {
541
+ # logging_config: {
542
+ # log_group: "LoggingConfigLogGroupString",
543
+ # application_log_level: "TRACE", # accepts TRACE, DEBUG, INFO, WARN, ERROR, FATAL
544
+ # system_log_level: "DEBUG", # accepts DEBUG, INFO, WARN
545
+ # },
546
+ # },
547
+ # },
548
+ # },
549
+ # endpoint_config: {
550
+ # endpoint_name: "EndpointName", # required
551
+ # description: "Description",
552
+ # endpoint_type: "HomeRegion", # required, accepts HomeRegion, MultiRegion, PerRegion
553
+ # auth_type: "ApplicationManaged", # required, accepts ApplicationManaged, IamAuth
554
+ # auto_deployment_mode: "LatestRevision", # accepts LatestRevision, Disabled
555
+ # regions: ["Region"],
556
+ # scaling_config: {
557
+ # max_environments: 1,
558
+ # },
559
+ # throttle_config: {
560
+ # rate_limit: 1,
561
+ # },
562
+ # },
563
+ # tags: {
564
+ # "TagKey" => "TagsValueString",
565
+ # },
566
+ # })
567
+ #
568
+ # @example Response structure
569
+ #
570
+ # resp.function_name #=> String
571
+ # resp.function_arn #=> String
572
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
573
+ # resp.state_reason #=> String
574
+ # resp.created_at #=> Time
575
+ # resp.updated_at #=> Time
576
+ # resp.revision.revision_arn #=> String
577
+ # resp.revision.revision_id #=> String
578
+ # resp.revision.description #=> String
579
+ # resp.revision.state #=> String, one of "Pending", "Active", "Failed"
580
+ # resp.revision.state_reason #=> String
581
+ # resp.revision.created_at #=> Time
582
+ # resp.endpoint.endpoint_arn #=> String
583
+ # resp.endpoint.endpoint_name #=> String
584
+ # resp.endpoint.description #=> String
585
+ # resp.endpoint.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
586
+ # resp.endpoint.domain_name #=> String
587
+ # resp.endpoint.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
588
+ # resp.endpoint.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
589
+ # resp.endpoint.revision_weights #=> Array
590
+ # resp.endpoint.revision_weights[0].revision_id #=> String
591
+ # resp.endpoint.revision_weights[0].weight #=> Integer
592
+ # resp.endpoint.regions #=> Array
593
+ # resp.endpoint.regions[0] #=> String
594
+ # resp.endpoint.scaling_config.max_environments #=> Integer
595
+ # resp.endpoint.throttle_config.rate_limit #=> Integer
596
+ # resp.endpoint.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
597
+ # resp.endpoint.state_reason #=> String
598
+ # resp.endpoint.update_status #=> String, one of "InProgress", "Successful", "Failed"
599
+ # resp.endpoint.update_status_reason #=> String
600
+ # resp.endpoint.created_at #=> Time
601
+ # resp.endpoint.updated_at #=> Time
602
+ # resp.tags #=> Hash
603
+ # resp.tags["TagKey"] #=> String
604
+ #
605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/CreateWebFunction AWS API Documentation
606
+ #
607
+ # @overload create_web_function(params = {})
608
+ # @param [Hash] params ({})
609
+ def create_web_function(params = {}, options = {})
610
+ req = build_request(:create_web_function, params)
611
+ req.send_request(options)
612
+ end
613
+
614
+ # Creates an endpoint for a web function. An endpoint exposes the web
615
+ # function over HTTPS and routes traffic to one or more revisions.
616
+ #
617
+ # To use this operation, you must have the `CreateWebFunctionEndpoint`
618
+ # permission on the web function, not on the endpoint being created.
619
+ #
620
+ # @option params [required, String] :function_name
621
+ # The web function to create the endpoint for.
622
+ #
623
+ # You can specify either of the following:
624
+ #
625
+ # * The function name, for example `my-function`.
626
+ #
627
+ # * The function ARN.
628
+ #
629
+ # The length constraint applies only to the full ARN. If you specify
630
+ # only the function name, it is limited to 64 characters in length.
631
+ #
632
+ # @option params [required, String] :endpoint_name
633
+ # The name of the endpoint to create. The name can contain letters,
634
+ # numbers, hyphens (-), and underscores (\_), and can't begin or end
635
+ # with a hyphen or an underscore. The name is limited to 64 characters
636
+ # in length.
637
+ #
638
+ # @option params [String] :description
639
+ # A description of the endpoint.
640
+ #
641
+ # @option params [required, String] :endpoint_type
642
+ # The type of endpoint to create. Determines how traffic is served and
643
+ # routed across Regions.
644
+ #
645
+ # Valid values:
646
+ #
647
+ # * `HomeRegion` – Serves traffic from the Region where you created the
648
+ # web function.
649
+ #
650
+ # * `MultiRegion` – Replicates across the Regions that you choose and
651
+ # routes each request to the nearest one.
652
+ #
653
+ # * `PerRegion` – Creates a separate endpoint in each Region that you
654
+ # choose.
655
+ #
656
+ # @option params [required, String] :auth_type
657
+ # The authorization type for the endpoint.
658
+ #
659
+ # Valid values:
660
+ #
661
+ # * `ApplicationManaged` – Your application handles authorization.
662
+ #
663
+ # * `IamAuth` – Lambda uses IAM to authorize requests, which must be
664
+ # signed with Signature Version 4 (SigV4).
665
+ #
666
+ # @option params [String] :auto_deployment_mode
667
+ # The auto-deployment mode for the endpoint. Controls whether the
668
+ # endpoint automatically serves the newest revision. If you don't
669
+ # specify a value, the default is `Disabled`, and this default is
670
+ # returned in the response.
671
+ #
672
+ # Valid values:
673
+ #
674
+ # * `LatestRevision` – The endpoint automatically serves the newest
675
+ # revision.
676
+ #
677
+ # * `Disabled` – Revision routing stays fixed until you change it.
678
+ #
679
+ # @option params [Array<Types::RevisionWeight>] :revision_weights
680
+ # A list of revision weights that determine how traffic is distributed
681
+ # across revisions. You can specify up to two revisions for canary or
682
+ # blue-green deployments.
683
+ #
684
+ # @option params [Array<String>] :regions
685
+ # The list of Regions for the endpoint. Required when the endpoint type
686
+ # is `MultiRegion` or `PerRegion`: specify at least one Region other
687
+ # than the Region where you create the endpoint (the home Region). The
688
+ # home Region is added automatically if you don't include it;
689
+ # specifying only the home Region isn't allowed. When the endpoint type
690
+ # is `HomeRegion`, omit this field or specify only the home Region.
691
+ #
692
+ # @option params [Types::ScalingConfig] :scaling_config
693
+ # The scaling configuration for the endpoint. There is no default value.
694
+ # If you don't specify a scaling configuration, it is absent from the
695
+ # response.
696
+ #
697
+ # @option params [Types::ThrottleConfig] :throttle_config
698
+ # The throttling configuration for the endpoint. There is no default
699
+ # value. If you don't specify a throttling configuration, it is absent
700
+ # from the response.
701
+ #
702
+ # @return [Types::CreateWebFunctionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
703
+ #
704
+ # * {Types::CreateWebFunctionEndpointResponse#function_arn #function_arn} => String
705
+ # * {Types::CreateWebFunctionEndpointResponse#endpoint_arn #endpoint_arn} => String
706
+ # * {Types::CreateWebFunctionEndpointResponse#endpoint_name #endpoint_name} => String
707
+ # * {Types::CreateWebFunctionEndpointResponse#description #description} => String
708
+ # * {Types::CreateWebFunctionEndpointResponse#endpoint_type #endpoint_type} => String
709
+ # * {Types::CreateWebFunctionEndpointResponse#domain_name #domain_name} => String
710
+ # * {Types::CreateWebFunctionEndpointResponse#auth_type #auth_type} => String
711
+ # * {Types::CreateWebFunctionEndpointResponse#auto_deployment_mode #auto_deployment_mode} => String
712
+ # * {Types::CreateWebFunctionEndpointResponse#revision_weights #revision_weights} => Array&lt;Types::RevisionWeight&gt;
713
+ # * {Types::CreateWebFunctionEndpointResponse#regions #regions} => Array&lt;String&gt;
714
+ # * {Types::CreateWebFunctionEndpointResponse#scaling_config #scaling_config} => Types::ScalingConfig
715
+ # * {Types::CreateWebFunctionEndpointResponse#throttle_config #throttle_config} => Types::ThrottleConfig
716
+ # * {Types::CreateWebFunctionEndpointResponse#state #state} => String
717
+ # * {Types::CreateWebFunctionEndpointResponse#state_reason #state_reason} => String
718
+ # * {Types::CreateWebFunctionEndpointResponse#update_status #update_status} => String
719
+ # * {Types::CreateWebFunctionEndpointResponse#update_status_reason #update_status_reason} => String
720
+ # * {Types::CreateWebFunctionEndpointResponse#regional_endpoints #regional_endpoints} => Hash&lt;String,Types::RegionalEndpoint&gt;
721
+ # * {Types::CreateWebFunctionEndpointResponse#created_at #created_at} => Time
722
+ # * {Types::CreateWebFunctionEndpointResponse#updated_at #updated_at} => Time
723
+ #
724
+ # @example Request syntax with placeholder values
725
+ #
726
+ # resp = client.create_web_function_endpoint({
727
+ # function_name: "FunctionName", # required
728
+ # endpoint_name: "EndpointName", # required
729
+ # description: "Description",
730
+ # endpoint_type: "HomeRegion", # required, accepts HomeRegion, MultiRegion, PerRegion
731
+ # auth_type: "ApplicationManaged", # required, accepts ApplicationManaged, IamAuth
732
+ # auto_deployment_mode: "LatestRevision", # accepts LatestRevision, Disabled
733
+ # revision_weights: [
734
+ # {
735
+ # revision_id: "RevisionId", # required
736
+ # weight: 1, # required
737
+ # },
738
+ # ],
739
+ # regions: ["Region"],
740
+ # scaling_config: {
741
+ # max_environments: 1,
742
+ # },
743
+ # throttle_config: {
744
+ # rate_limit: 1,
745
+ # },
746
+ # })
747
+ #
748
+ # @example Response structure
749
+ #
750
+ # resp.function_arn #=> String
751
+ # resp.endpoint_arn #=> String
752
+ # resp.endpoint_name #=> String
753
+ # resp.description #=> String
754
+ # resp.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
755
+ # resp.domain_name #=> String
756
+ # resp.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
757
+ # resp.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
758
+ # resp.revision_weights #=> Array
759
+ # resp.revision_weights[0].revision_id #=> String
760
+ # resp.revision_weights[0].weight #=> Integer
761
+ # resp.regions #=> Array
762
+ # resp.regions[0] #=> String
763
+ # resp.scaling_config.max_environments #=> Integer
764
+ # resp.throttle_config.rate_limit #=> Integer
765
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
766
+ # resp.state_reason #=> String
767
+ # resp.update_status #=> String, one of "InProgress", "Successful", "Failed"
768
+ # resp.update_status_reason #=> String
769
+ # resp.regional_endpoints #=> Hash
770
+ # resp.regional_endpoints["Region"].domain_name #=> String
771
+ # resp.regional_endpoints["Region"].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
772
+ # resp.regional_endpoints["Region"].revision_weights #=> Array
773
+ # resp.regional_endpoints["Region"].revision_weights[0].revision_id #=> String
774
+ # resp.regional_endpoints["Region"].revision_weights[0].weight #=> Integer
775
+ # resp.regional_endpoints["Region"].scaling_config.max_environments #=> Integer
776
+ # resp.regional_endpoints["Region"].throttle_config.rate_limit #=> Integer
777
+ # resp.regional_endpoints["Region"].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
778
+ # resp.regional_endpoints["Region"].state_reason #=> String
779
+ # resp.regional_endpoints["Region"].update_status #=> String, one of "InProgress", "Successful", "Failed"
780
+ # resp.regional_endpoints["Region"].update_status_reason #=> String
781
+ # resp.created_at #=> Time
782
+ # resp.updated_at #=> Time
783
+ #
784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/CreateWebFunctionEndpoint AWS API Documentation
785
+ #
786
+ # @overload create_web_function_endpoint(params = {})
787
+ # @param [Hash] params ({})
788
+ def create_web_function_endpoint(params = {}, options = {})
789
+ req = build_request(:create_web_function_endpoint, params)
790
+ req.send_request(options)
791
+ end
792
+
793
+ # Creates an immutable revision for a web function. A revision
794
+ # represents a specific version of the function code and configuration.
795
+ #
796
+ # To use this operation, you must have the `CreateWebFunctionRevision`
797
+ # permission on the web function, not on the revision being created.
798
+ #
799
+ # @option params [required, String] :function_name
800
+ # The web function.
801
+ #
802
+ # You can specify either of the following:
803
+ #
804
+ # * The function name, for example `my-function`.
805
+ #
806
+ # * The function ARN.
807
+ #
808
+ # The length constraint applies only to the full ARN. If you specify
809
+ # only the function name, it is limited to 64 characters in length.
810
+ #
811
+ # @option params [String] :description
812
+ # A description of the revision.
813
+ #
814
+ # @option params [String] :kms_key_arn
815
+ # The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS
816
+ # KMS) key used to encrypt the revision's code and environment
817
+ # variables.
818
+ #
819
+ # @option params [required, Types::BuildConfig] :build_config
820
+ # The build configuration for the revision, including code location and
821
+ # runtime settings.
822
+ #
823
+ # @option params [required, Types::ServiceConfig] :service_config
824
+ # The service configuration for the revision, including execution role,
825
+ # timeout, and concurrency settings.
826
+ #
827
+ # @return [Types::CreateWebFunctionRevisionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
828
+ #
829
+ # * {Types::CreateWebFunctionRevisionResponse#function_arn #function_arn} => String
830
+ # * {Types::CreateWebFunctionRevisionResponse#revision_arn #revision_arn} => String
831
+ # * {Types::CreateWebFunctionRevisionResponse#revision_id #revision_id} => String
832
+ # * {Types::CreateWebFunctionRevisionResponse#description #description} => String
833
+ # * {Types::CreateWebFunctionRevisionResponse#kms_key_arn #kms_key_arn} => String
834
+ # * {Types::CreateWebFunctionRevisionResponse#build_config #build_config} => Types::BuildConfig
835
+ # * {Types::CreateWebFunctionRevisionResponse#service_config #service_config} => Types::ServiceConfig
836
+ # * {Types::CreateWebFunctionRevisionResponse#state #state} => String
837
+ # * {Types::CreateWebFunctionRevisionResponse#state_reason #state_reason} => String
838
+ # * {Types::CreateWebFunctionRevisionResponse#errors #errors} => Array&lt;Types::RevisionError&gt;
839
+ # * {Types::CreateWebFunctionRevisionResponse#created_at #created_at} => Time
840
+ #
841
+ # @example Request syntax with placeholder values
842
+ #
843
+ # resp = client.create_web_function_revision({
844
+ # function_name: "FunctionName", # required
845
+ # description: "Description",
846
+ # kms_key_arn: "KmsKeyArn",
847
+ # build_config: { # required
848
+ # code_config: { # required
849
+ # s3_object: { # required
850
+ # bucket: "S3ObjectBucketString", # required
851
+ # key: "S3ObjectKeyString", # required
852
+ # version_id: "S3ObjectVersionIdString",
853
+ # },
854
+ # },
855
+ # runtime_config: { # required
856
+ # runtime: "RuntimeConfigRuntimeString", # required
857
+ # },
858
+ # },
859
+ # service_config: { # required
860
+ # execution_role_arn: "RoleArn", # required
861
+ # timeout_seconds: 1,
862
+ # egress_network_connector_arn: "ServiceConfigEgressNetworkConnectorArnString",
863
+ # max_concurrency_per_environment: 1,
864
+ # environment_variables: {
865
+ # "EnvironmentVariablesKeyString" => "EnvironmentVariablesValueString",
866
+ # },
867
+ # telemetry_config: {
868
+ # logging_config: {
869
+ # log_group: "LoggingConfigLogGroupString",
870
+ # application_log_level: "TRACE", # accepts TRACE, DEBUG, INFO, WARN, ERROR, FATAL
871
+ # system_log_level: "DEBUG", # accepts DEBUG, INFO, WARN
872
+ # },
873
+ # },
874
+ # },
875
+ # })
876
+ #
877
+ # @example Response structure
878
+ #
879
+ # resp.function_arn #=> String
880
+ # resp.revision_arn #=> String
881
+ # resp.revision_id #=> String
882
+ # resp.description #=> String
883
+ # resp.kms_key_arn #=> String
884
+ # resp.build_config.code_config.s3_object.bucket #=> String
885
+ # resp.build_config.code_config.s3_object.key #=> String
886
+ # resp.build_config.code_config.s3_object.version_id #=> String
887
+ # resp.build_config.runtime_config.runtime #=> String
888
+ # resp.service_config.execution_role_arn #=> String
889
+ # resp.service_config.timeout_seconds #=> Integer
890
+ # resp.service_config.egress_network_connector_arn #=> String
891
+ # resp.service_config.max_concurrency_per_environment #=> Integer
892
+ # resp.service_config.environment_variables #=> Hash
893
+ # resp.service_config.environment_variables["EnvironmentVariablesKeyString"] #=> String
894
+ # resp.service_config.telemetry_config.logging_config.log_group #=> String
895
+ # resp.service_config.telemetry_config.logging_config.application_log_level #=> String, one of "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"
896
+ # resp.service_config.telemetry_config.logging_config.system_log_level #=> String, one of "DEBUG", "INFO", "WARN"
897
+ # resp.state #=> String, one of "Pending", "Active", "Failed"
898
+ # resp.state_reason #=> String
899
+ # resp.errors #=> Array
900
+ # resp.errors[0].attribute #=> String
901
+ # resp.errors[0].error_code #=> String
902
+ # resp.errors[0].error_message #=> String
903
+ # resp.created_at #=> Time
904
+ #
905
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/CreateWebFunctionRevision AWS API Documentation
906
+ #
907
+ # @overload create_web_function_revision(params = {})
908
+ # @param [Hash] params ({})
909
+ def create_web_function_revision(params = {}, options = {})
910
+ req = build_request(:create_web_function_revision, params)
911
+ req.send_request(options)
912
+ end
913
+
914
+ # Removes the resource-based policy from a web function.
915
+ #
916
+ # @option params [required, String] :resource_arn
917
+ # The Amazon Resource Name (ARN) of the web function.
918
+ #
919
+ # @option params [String] :revision_id
920
+ # The revision ID of the policy. Use this to prevent deleting a policy
921
+ # that has been updated since you last retrieved it. If you don't
922
+ # specify a value, the policy is deleted regardless of its current
923
+ # revision.
924
+ #
925
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
926
+ #
927
+ # @example Request syntax with placeholder values
928
+ #
929
+ # resp = client.delete_resource_policy({
930
+ # resource_arn: "ResourceArn", # required
931
+ # revision_id: "PolicyRevisionId",
932
+ # })
933
+ #
934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteResourcePolicy AWS API Documentation
935
+ #
936
+ # @overload delete_resource_policy(params = {})
937
+ # @param [Hash] params ({})
938
+ def delete_resource_policy(params = {}, options = {})
939
+ req = build_request(:delete_resource_policy, params)
940
+ req.send_request(options)
941
+ end
942
+
943
+ # Deletes a web function and all of its associated revisions and
944
+ # endpoints.
945
+ #
946
+ # To use this operation, you must have the `DeleteWebFunction`
947
+ # permission on the web function. You don't need the
948
+ # `DeleteWebFunctionRevision` or `DeleteWebFunctionEndpoint` permission.
949
+ #
950
+ # @option params [required, String] :function_name
951
+ # The web function to delete.
952
+ #
953
+ # You can specify either of the following:
954
+ #
955
+ # * The function name, for example `my-function`.
956
+ #
957
+ # * The function ARN.
958
+ #
959
+ # The length constraint applies only to the full ARN. If you specify
960
+ # only the function name, it is limited to 64 characters in length.
961
+ #
962
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
963
+ #
964
+ # @example Request syntax with placeholder values
965
+ #
966
+ # resp = client.delete_web_function({
967
+ # function_name: "FunctionName", # required
968
+ # })
969
+ #
970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteWebFunction AWS API Documentation
971
+ #
972
+ # @overload delete_web_function(params = {})
973
+ # @param [Hash] params ({})
974
+ def delete_web_function(params = {}, options = {})
975
+ req = build_request(:delete_web_function, params)
976
+ req.send_request(options)
977
+ end
978
+
979
+ # Deletes a web function endpoint.
980
+ #
981
+ # @option params [required, String] :function_name
982
+ # The web function.
983
+ #
984
+ # You can specify either of the following:
985
+ #
986
+ # * The function name, for example `my-function`.
987
+ #
988
+ # * The function ARN.
989
+ #
990
+ # The length constraint applies only to the full ARN. If you specify
991
+ # only the function name, it is limited to 64 characters in length.
992
+ #
993
+ # @option params [required, String] :endpoint_name
994
+ # The endpoint to delete.
995
+ #
996
+ # You can specify either of the following:
997
+ #
998
+ # * The endpoint name, for example `my-endpoint`.
999
+ #
1000
+ # * The endpoint ARN.
1001
+ #
1002
+ # The length constraint applies only to the full ARN. If you specify
1003
+ # only the endpoint name, it is limited to 64 characters in length.
1004
+ #
1005
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1006
+ #
1007
+ # @example Request syntax with placeholder values
1008
+ #
1009
+ # resp = client.delete_web_function_endpoint({
1010
+ # function_name: "FunctionName", # required
1011
+ # endpoint_name: "EndpointName", # required
1012
+ # })
1013
+ #
1014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteWebFunctionEndpoint AWS API Documentation
1015
+ #
1016
+ # @overload delete_web_function_endpoint(params = {})
1017
+ # @param [Hash] params ({})
1018
+ def delete_web_function_endpoint(params = {}, options = {})
1019
+ req = build_request(:delete_web_function_endpoint, params)
1020
+ req.send_request(options)
1021
+ end
1022
+
1023
+ # Deletes a web function revision. You cannot delete a revision that is
1024
+ # currently serving traffic on an endpoint.
1025
+ #
1026
+ # @option params [required, String] :function_name
1027
+ # The web function.
1028
+ #
1029
+ # You can specify either of the following:
1030
+ #
1031
+ # * The function name, for example `my-function`.
1032
+ #
1033
+ # * The function ARN.
1034
+ #
1035
+ # The length constraint applies only to the full ARN. If you specify
1036
+ # only the function name, it is limited to 64 characters in length.
1037
+ #
1038
+ # @option params [required, String] :revision_id
1039
+ # The revision to delete.
1040
+ #
1041
+ # You can specify either of the following:
1042
+ #
1043
+ # * The revision identifier.
1044
+ #
1045
+ # * The revision ARN.
1046
+ #
1047
+ # The length constraint applies only to the full ARN.
1048
+ #
1049
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1050
+ #
1051
+ # @example Request syntax with placeholder values
1052
+ #
1053
+ # resp = client.delete_web_function_revision({
1054
+ # function_name: "FunctionName", # required
1055
+ # revision_id: "RevisionId", # required
1056
+ # })
1057
+ #
1058
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteWebFunctionRevision AWS API Documentation
1059
+ #
1060
+ # @overload delete_web_function_revision(params = {})
1061
+ # @param [Hash] params ({})
1062
+ def delete_web_function_revision(params = {}, options = {})
1063
+ req = build_request(:delete_web_function_revision, params)
1064
+ req.send_request(options)
1065
+ end
1066
+
1067
+ # Retrieves the resource-based policy attached to a web function.
1068
+ #
1069
+ # @option params [required, String] :resource_arn
1070
+ # The Amazon Resource Name (ARN) of the web function.
1071
+ #
1072
+ # @return [Types::GetResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1073
+ #
1074
+ # * {Types::GetResourcePolicyResponse#policy #policy} => String
1075
+ # * {Types::GetResourcePolicyResponse#revision_id #revision_id} => String
1076
+ #
1077
+ # @example Request syntax with placeholder values
1078
+ #
1079
+ # resp = client.get_resource_policy({
1080
+ # resource_arn: "ResourceArn", # required
1081
+ # })
1082
+ #
1083
+ # @example Response structure
1084
+ #
1085
+ # resp.policy #=> String
1086
+ # resp.revision_id #=> String
1087
+ #
1088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetResourcePolicy AWS API Documentation
1089
+ #
1090
+ # @overload get_resource_policy(params = {})
1091
+ # @param [Hash] params ({})
1092
+ def get_resource_policy(params = {}, options = {})
1093
+ req = build_request(:get_resource_policy, params)
1094
+ req.send_request(options)
1095
+ end
1096
+
477
1097
  # Retrieves details about your AWS Lambda Web Functions account settings
478
1098
  # for the current AWS Region, including the quotas that apply to web
479
1099
  # functions and your current usage.
480
1100
  #
481
- # <note markdown="1"> This API is experimental and for internal AWS use only. It is not yet
482
- # available to external customers.
483
- #
484
- # </note>
485
- #
486
1101
  # @return [Types::GetWebAccountSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
487
1102
  #
488
1103
  # * {Types::GetWebAccountSettingsResponse#account_quotas #account_quotas} => Types::AccountQuotas
@@ -505,6 +1120,750 @@ module Aws::LambdaWeb
505
1120
  req.send_request(options)
506
1121
  end
507
1122
 
1123
+ # Retrieves details about a web function, including its current state
1124
+ # and configuration.
1125
+ #
1126
+ # @option params [required, String] :function_name
1127
+ # The web function to retrieve.
1128
+ #
1129
+ # You can specify either of the following:
1130
+ #
1131
+ # * The function name, for example `my-function`.
1132
+ #
1133
+ # * The function ARN.
1134
+ #
1135
+ # The length constraint applies only to the full ARN. If you specify
1136
+ # only the function name, it is limited to 64 characters in length.
1137
+ #
1138
+ # @return [Types::GetWebFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1139
+ #
1140
+ # * {Types::GetWebFunctionResponse#function_name #function_name} => String
1141
+ # * {Types::GetWebFunctionResponse#function_arn #function_arn} => String
1142
+ # * {Types::GetWebFunctionResponse#state #state} => String
1143
+ # * {Types::GetWebFunctionResponse#state_reason #state_reason} => String
1144
+ # * {Types::GetWebFunctionResponse#created_at #created_at} => Time
1145
+ # * {Types::GetWebFunctionResponse#updated_at #updated_at} => Time
1146
+ #
1147
+ # @example Request syntax with placeholder values
1148
+ #
1149
+ # resp = client.get_web_function({
1150
+ # function_name: "FunctionName", # required
1151
+ # })
1152
+ #
1153
+ # @example Response structure
1154
+ #
1155
+ # resp.function_name #=> String
1156
+ # resp.function_arn #=> String
1157
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1158
+ # resp.state_reason #=> String
1159
+ # resp.created_at #=> Time
1160
+ # resp.updated_at #=> Time
1161
+ #
1162
+ #
1163
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1164
+ #
1165
+ # * web_function_active
1166
+ # * web_function_deleted
1167
+ #
1168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetWebFunction AWS API Documentation
1169
+ #
1170
+ # @overload get_web_function(params = {})
1171
+ # @param [Hash] params ({})
1172
+ def get_web_function(params = {}, options = {})
1173
+ req = build_request(:get_web_function, params)
1174
+ req.send_request(options)
1175
+ end
1176
+
1177
+ # Retrieves details about a web function endpoint, including its current
1178
+ # state, configuration, and domain name.
1179
+ #
1180
+ # @option params [required, String] :function_name
1181
+ # The web function.
1182
+ #
1183
+ # You can specify either of the following:
1184
+ #
1185
+ # * The function name, for example `my-function`.
1186
+ #
1187
+ # * The function ARN.
1188
+ #
1189
+ # The length constraint applies only to the full ARN. If you specify
1190
+ # only the function name, it is limited to 64 characters in length.
1191
+ #
1192
+ # @option params [required, String] :endpoint_name
1193
+ # The endpoint to retrieve.
1194
+ #
1195
+ # You can specify either of the following:
1196
+ #
1197
+ # * The endpoint name, for example `my-endpoint`.
1198
+ #
1199
+ # * The endpoint ARN.
1200
+ #
1201
+ # The length constraint applies only to the full ARN. If you specify
1202
+ # only the endpoint name, it is limited to 64 characters in length.
1203
+ #
1204
+ # @return [Types::GetWebFunctionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1205
+ #
1206
+ # * {Types::GetWebFunctionEndpointResponse#function_arn #function_arn} => String
1207
+ # * {Types::GetWebFunctionEndpointResponse#endpoint_arn #endpoint_arn} => String
1208
+ # * {Types::GetWebFunctionEndpointResponse#endpoint_name #endpoint_name} => String
1209
+ # * {Types::GetWebFunctionEndpointResponse#description #description} => String
1210
+ # * {Types::GetWebFunctionEndpointResponse#endpoint_type #endpoint_type} => String
1211
+ # * {Types::GetWebFunctionEndpointResponse#domain_name #domain_name} => String
1212
+ # * {Types::GetWebFunctionEndpointResponse#auth_type #auth_type} => String
1213
+ # * {Types::GetWebFunctionEndpointResponse#auto_deployment_mode #auto_deployment_mode} => String
1214
+ # * {Types::GetWebFunctionEndpointResponse#revision_weights #revision_weights} => Array&lt;Types::RevisionWeight&gt;
1215
+ # * {Types::GetWebFunctionEndpointResponse#regions #regions} => Array&lt;String&gt;
1216
+ # * {Types::GetWebFunctionEndpointResponse#scaling_config #scaling_config} => Types::ScalingConfig
1217
+ # * {Types::GetWebFunctionEndpointResponse#throttle_config #throttle_config} => Types::ThrottleConfig
1218
+ # * {Types::GetWebFunctionEndpointResponse#state #state} => String
1219
+ # * {Types::GetWebFunctionEndpointResponse#state_reason #state_reason} => String
1220
+ # * {Types::GetWebFunctionEndpointResponse#update_status #update_status} => String
1221
+ # * {Types::GetWebFunctionEndpointResponse#update_status_reason #update_status_reason} => String
1222
+ # * {Types::GetWebFunctionEndpointResponse#regional_endpoints #regional_endpoints} => Hash&lt;String,Types::RegionalEndpoint&gt;
1223
+ # * {Types::GetWebFunctionEndpointResponse#created_at #created_at} => Time
1224
+ # * {Types::GetWebFunctionEndpointResponse#updated_at #updated_at} => Time
1225
+ #
1226
+ # @example Request syntax with placeholder values
1227
+ #
1228
+ # resp = client.get_web_function_endpoint({
1229
+ # function_name: "FunctionName", # required
1230
+ # endpoint_name: "EndpointName", # required
1231
+ # })
1232
+ #
1233
+ # @example Response structure
1234
+ #
1235
+ # resp.function_arn #=> String
1236
+ # resp.endpoint_arn #=> String
1237
+ # resp.endpoint_name #=> String
1238
+ # resp.description #=> String
1239
+ # resp.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
1240
+ # resp.domain_name #=> String
1241
+ # resp.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1242
+ # resp.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
1243
+ # resp.revision_weights #=> Array
1244
+ # resp.revision_weights[0].revision_id #=> String
1245
+ # resp.revision_weights[0].weight #=> Integer
1246
+ # resp.regions #=> Array
1247
+ # resp.regions[0] #=> String
1248
+ # resp.scaling_config.max_environments #=> Integer
1249
+ # resp.throttle_config.rate_limit #=> Integer
1250
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1251
+ # resp.state_reason #=> String
1252
+ # resp.update_status #=> String, one of "InProgress", "Successful", "Failed"
1253
+ # resp.update_status_reason #=> String
1254
+ # resp.regional_endpoints #=> Hash
1255
+ # resp.regional_endpoints["Region"].domain_name #=> String
1256
+ # resp.regional_endpoints["Region"].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1257
+ # resp.regional_endpoints["Region"].revision_weights #=> Array
1258
+ # resp.regional_endpoints["Region"].revision_weights[0].revision_id #=> String
1259
+ # resp.regional_endpoints["Region"].revision_weights[0].weight #=> Integer
1260
+ # resp.regional_endpoints["Region"].scaling_config.max_environments #=> Integer
1261
+ # resp.regional_endpoints["Region"].throttle_config.rate_limit #=> Integer
1262
+ # resp.regional_endpoints["Region"].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1263
+ # resp.regional_endpoints["Region"].state_reason #=> String
1264
+ # resp.regional_endpoints["Region"].update_status #=> String, one of "InProgress", "Successful", "Failed"
1265
+ # resp.regional_endpoints["Region"].update_status_reason #=> String
1266
+ # resp.created_at #=> Time
1267
+ # resp.updated_at #=> Time
1268
+ #
1269
+ #
1270
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1271
+ #
1272
+ # * web_function_endpoint_active
1273
+ # * web_function_endpoint_deleted
1274
+ # * web_function_endpoint_updated
1275
+ #
1276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetWebFunctionEndpoint AWS API Documentation
1277
+ #
1278
+ # @overload get_web_function_endpoint(params = {})
1279
+ # @param [Hash] params ({})
1280
+ def get_web_function_endpoint(params = {}, options = {})
1281
+ req = build_request(:get_web_function_endpoint, params)
1282
+ req.send_request(options)
1283
+ end
1284
+
1285
+ # Retrieves details about a web function revision, including its state
1286
+ # and configuration.
1287
+ #
1288
+ # @option params [required, String] :function_name
1289
+ # The web function.
1290
+ #
1291
+ # You can specify either of the following:
1292
+ #
1293
+ # * The function name, for example `my-function`.
1294
+ #
1295
+ # * The function ARN.
1296
+ #
1297
+ # The length constraint applies only to the full ARN. If you specify
1298
+ # only the function name, it is limited to 64 characters in length.
1299
+ #
1300
+ # @option params [required, String] :revision_id
1301
+ # The revision to retrieve.
1302
+ #
1303
+ # You can specify either of the following:
1304
+ #
1305
+ # * The revision identifier.
1306
+ #
1307
+ # * The revision ARN.
1308
+ #
1309
+ # The length constraint applies only to the full ARN.
1310
+ #
1311
+ # @return [Types::GetWebFunctionRevisionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1312
+ #
1313
+ # * {Types::GetWebFunctionRevisionResponse#function_arn #function_arn} => String
1314
+ # * {Types::GetWebFunctionRevisionResponse#revision_arn #revision_arn} => String
1315
+ # * {Types::GetWebFunctionRevisionResponse#revision_id #revision_id} => String
1316
+ # * {Types::GetWebFunctionRevisionResponse#description #description} => String
1317
+ # * {Types::GetWebFunctionRevisionResponse#kms_key_arn #kms_key_arn} => String
1318
+ # * {Types::GetWebFunctionRevisionResponse#build_config #build_config} => Types::BuildConfig
1319
+ # * {Types::GetWebFunctionRevisionResponse#service_config #service_config} => Types::ServiceConfig
1320
+ # * {Types::GetWebFunctionRevisionResponse#state #state} => String
1321
+ # * {Types::GetWebFunctionRevisionResponse#state_reason #state_reason} => String
1322
+ # * {Types::GetWebFunctionRevisionResponse#errors #errors} => Array&lt;Types::RevisionError&gt;
1323
+ # * {Types::GetWebFunctionRevisionResponse#created_at #created_at} => Time
1324
+ #
1325
+ # @example Request syntax with placeholder values
1326
+ #
1327
+ # resp = client.get_web_function_revision({
1328
+ # function_name: "FunctionName", # required
1329
+ # revision_id: "RevisionId", # required
1330
+ # })
1331
+ #
1332
+ # @example Response structure
1333
+ #
1334
+ # resp.function_arn #=> String
1335
+ # resp.revision_arn #=> String
1336
+ # resp.revision_id #=> String
1337
+ # resp.description #=> String
1338
+ # resp.kms_key_arn #=> String
1339
+ # resp.build_config.code_config.s3_object.bucket #=> String
1340
+ # resp.build_config.code_config.s3_object.key #=> String
1341
+ # resp.build_config.code_config.s3_object.version_id #=> String
1342
+ # resp.build_config.runtime_config.runtime #=> String
1343
+ # resp.service_config.execution_role_arn #=> String
1344
+ # resp.service_config.timeout_seconds #=> Integer
1345
+ # resp.service_config.egress_network_connector_arn #=> String
1346
+ # resp.service_config.max_concurrency_per_environment #=> Integer
1347
+ # resp.service_config.environment_variables #=> Hash
1348
+ # resp.service_config.environment_variables["EnvironmentVariablesKeyString"] #=> String
1349
+ # resp.service_config.telemetry_config.logging_config.log_group #=> String
1350
+ # resp.service_config.telemetry_config.logging_config.application_log_level #=> String, one of "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"
1351
+ # resp.service_config.telemetry_config.logging_config.system_log_level #=> String, one of "DEBUG", "INFO", "WARN"
1352
+ # resp.state #=> String, one of "Pending", "Active", "Failed"
1353
+ # resp.state_reason #=> String
1354
+ # resp.errors #=> Array
1355
+ # resp.errors[0].attribute #=> String
1356
+ # resp.errors[0].error_code #=> String
1357
+ # resp.errors[0].error_message #=> String
1358
+ # resp.created_at #=> Time
1359
+ #
1360
+ #
1361
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1362
+ #
1363
+ # * web_function_revision_active
1364
+ #
1365
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetWebFunctionRevision AWS API Documentation
1366
+ #
1367
+ # @overload get_web_function_revision(params = {})
1368
+ # @param [Hash] params ({})
1369
+ def get_web_function_revision(params = {}, options = {})
1370
+ req = build_request(:get_web_function_revision, params)
1371
+ req.send_request(options)
1372
+ end
1373
+
1374
+ # Returns a list of tags applied to a web function.
1375
+ #
1376
+ # @option params [required, String] :resource
1377
+ # The Amazon Resource Name (ARN) of the web function.
1378
+ #
1379
+ # @return [Types::ListTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1380
+ #
1381
+ # * {Types::ListTagsResponse#tags #tags} => Hash&lt;String,String&gt;
1382
+ #
1383
+ # @example Request syntax with placeholder values
1384
+ #
1385
+ # resp = client.list_tags({
1386
+ # resource: "ResourceArn", # required
1387
+ # })
1388
+ #
1389
+ # @example Response structure
1390
+ #
1391
+ # resp.tags #=> Hash
1392
+ # resp.tags["TagKey"] #=> String
1393
+ #
1394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListTags AWS API Documentation
1395
+ #
1396
+ # @overload list_tags(params = {})
1397
+ # @param [Hash] params ({})
1398
+ def list_tags(params = {}, options = {})
1399
+ req = build_request(:list_tags, params)
1400
+ req.send_request(options)
1401
+ end
1402
+
1403
+ # Lists endpoints for a web function. Use pagination to ensure that the
1404
+ # operation returns quickly and successfully.
1405
+ #
1406
+ # @option params [required, String] :function_name
1407
+ # The web function.
1408
+ #
1409
+ # You can specify either of the following:
1410
+ #
1411
+ # * The function name, for example `my-function`.
1412
+ #
1413
+ # * The function ARN.
1414
+ #
1415
+ # The length constraint applies only to the full ARN. If you specify
1416
+ # only the function name, it is limited to 64 characters in length.
1417
+ #
1418
+ # @option params [Array<Types::Filter>] :filters
1419
+ # A list of filters to apply to the results. Supported filter names:
1420
+ # `authType`, `autoDeploymentMode`, `endpointType`, `state`, and
1421
+ # `updateStatus`. If you don't specify a filter, the operation returns
1422
+ # all endpoints for the web function.
1423
+ #
1424
+ # @option params [Integer] :max_results
1425
+ # The maximum number of results to return in a single call. Minimum
1426
+ # value of 1, maximum value of 50. Default is 50.
1427
+ #
1428
+ # @option params [String] :next_token
1429
+ # The pagination token that's returned by a previous request to
1430
+ # retrieve the next page of results.
1431
+ #
1432
+ # @return [Types::ListWebFunctionEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1433
+ #
1434
+ # * {Types::ListWebFunctionEndpointsResponse#endpoints #endpoints} => Array&lt;Types::FunctionEndpointSummary&gt;
1435
+ # * {Types::ListWebFunctionEndpointsResponse#next_token #next_token} => String
1436
+ #
1437
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1438
+ #
1439
+ # @example Request syntax with placeholder values
1440
+ #
1441
+ # resp = client.list_web_function_endpoints({
1442
+ # function_name: "FunctionName", # required
1443
+ # filters: [
1444
+ # {
1445
+ # name: "FilterNameString", # required
1446
+ # values: ["FilterValueListMemberString"], # required
1447
+ # },
1448
+ # ],
1449
+ # max_results: 1,
1450
+ # next_token: "NextToken",
1451
+ # })
1452
+ #
1453
+ # @example Response structure
1454
+ #
1455
+ # resp.endpoints #=> Array
1456
+ # resp.endpoints[0].endpoint_arn #=> String
1457
+ # resp.endpoints[0].endpoint_name #=> String
1458
+ # resp.endpoints[0].description #=> String
1459
+ # resp.endpoints[0].endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
1460
+ # resp.endpoints[0].domain_name #=> String
1461
+ # resp.endpoints[0].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1462
+ # resp.endpoints[0].auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
1463
+ # resp.endpoints[0].revision_weights #=> Array
1464
+ # resp.endpoints[0].revision_weights[0].revision_id #=> String
1465
+ # resp.endpoints[0].revision_weights[0].weight #=> Integer
1466
+ # resp.endpoints[0].regions #=> Array
1467
+ # resp.endpoints[0].regions[0] #=> String
1468
+ # resp.endpoints[0].scaling_config.max_environments #=> Integer
1469
+ # resp.endpoints[0].throttle_config.rate_limit #=> Integer
1470
+ # resp.endpoints[0].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1471
+ # resp.endpoints[0].state_reason #=> String
1472
+ # resp.endpoints[0].update_status #=> String, one of "InProgress", "Successful", "Failed"
1473
+ # resp.endpoints[0].update_status_reason #=> String
1474
+ # resp.endpoints[0].created_at #=> Time
1475
+ # resp.endpoints[0].updated_at #=> Time
1476
+ # resp.next_token #=> String
1477
+ #
1478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListWebFunctionEndpoints AWS API Documentation
1479
+ #
1480
+ # @overload list_web_function_endpoints(params = {})
1481
+ # @param [Hash] params ({})
1482
+ def list_web_function_endpoints(params = {}, options = {})
1483
+ req = build_request(:list_web_function_endpoints, params)
1484
+ req.send_request(options)
1485
+ end
1486
+
1487
+ # Lists revisions for a web function. Use pagination to ensure that the
1488
+ # operation returns quickly and successfully.
1489
+ #
1490
+ # @option params [required, String] :function_name
1491
+ # The web function.
1492
+ #
1493
+ # You can specify either of the following:
1494
+ #
1495
+ # * The function name, for example `my-function`.
1496
+ #
1497
+ # * The function ARN.
1498
+ #
1499
+ # The length constraint applies only to the full ARN. If you specify
1500
+ # only the function name, it is limited to 64 characters in length.
1501
+ #
1502
+ # @option params [Array<Types::Filter>] :filters
1503
+ # A list of filters to apply to the results. The only supported filter
1504
+ # name is `state`. If you don't specify a filter, the operation returns
1505
+ # all revisions for the web function.
1506
+ #
1507
+ # @option params [Integer] :max_results
1508
+ # The maximum number of results to return in a single call. Minimum
1509
+ # value of 1, maximum value of 50. Default is 50.
1510
+ #
1511
+ # @option params [String] :next_token
1512
+ # The pagination token that's returned by a previous request to
1513
+ # retrieve the next page of results.
1514
+ #
1515
+ # @return [Types::ListWebFunctionRevisionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1516
+ #
1517
+ # * {Types::ListWebFunctionRevisionsResponse#revisions #revisions} => Array&lt;Types::FunctionRevisionSummary&gt;
1518
+ # * {Types::ListWebFunctionRevisionsResponse#next_token #next_token} => String
1519
+ #
1520
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1521
+ #
1522
+ # @example Request syntax with placeholder values
1523
+ #
1524
+ # resp = client.list_web_function_revisions({
1525
+ # function_name: "FunctionName", # required
1526
+ # filters: [
1527
+ # {
1528
+ # name: "FilterNameString", # required
1529
+ # values: ["FilterValueListMemberString"], # required
1530
+ # },
1531
+ # ],
1532
+ # max_results: 1,
1533
+ # next_token: "NextToken",
1534
+ # })
1535
+ #
1536
+ # @example Response structure
1537
+ #
1538
+ # resp.revisions #=> Array
1539
+ # resp.revisions[0].revision_arn #=> String
1540
+ # resp.revisions[0].revision_id #=> String
1541
+ # resp.revisions[0].description #=> String
1542
+ # resp.revisions[0].state #=> String, one of "Pending", "Active", "Failed"
1543
+ # resp.revisions[0].state_reason #=> String
1544
+ # resp.revisions[0].created_at #=> Time
1545
+ # resp.next_token #=> String
1546
+ #
1547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListWebFunctionRevisions AWS API Documentation
1548
+ #
1549
+ # @overload list_web_function_revisions(params = {})
1550
+ # @param [Hash] params ({})
1551
+ def list_web_function_revisions(params = {}, options = {})
1552
+ req = build_request(:list_web_function_revisions, params)
1553
+ req.send_request(options)
1554
+ end
1555
+
1556
+ # Lists web functions in your account. Use pagination to ensure that the
1557
+ # operation returns quickly and successfully.
1558
+ #
1559
+ # @option params [Array<Types::Filter>] :filters
1560
+ # A list of filters to apply to the results. The only supported filter
1561
+ # name is `state`. If you don't specify a filter, the operation returns
1562
+ # all web functions.
1563
+ #
1564
+ # @option params [Integer] :max_results
1565
+ # The maximum number of results to return in a single call. Minimum
1566
+ # value of 1, maximum value of 50. Default is 50.
1567
+ #
1568
+ # @option params [String] :next_token
1569
+ # The pagination token that's returned by a previous request to
1570
+ # retrieve the next page of results.
1571
+ #
1572
+ # @return [Types::ListWebFunctionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1573
+ #
1574
+ # * {Types::ListWebFunctionsResponse#functions #functions} => Array&lt;Types::FunctionSummary&gt;
1575
+ # * {Types::ListWebFunctionsResponse#next_token #next_token} => String
1576
+ #
1577
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1578
+ #
1579
+ # @example Request syntax with placeholder values
1580
+ #
1581
+ # resp = client.list_web_functions({
1582
+ # filters: [
1583
+ # {
1584
+ # name: "FilterNameString", # required
1585
+ # values: ["FilterValueListMemberString"], # required
1586
+ # },
1587
+ # ],
1588
+ # max_results: 1,
1589
+ # next_token: "NextToken",
1590
+ # })
1591
+ #
1592
+ # @example Response structure
1593
+ #
1594
+ # resp.functions #=> Array
1595
+ # resp.functions[0].function_name #=> String
1596
+ # resp.functions[0].function_arn #=> String
1597
+ # resp.functions[0].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1598
+ # resp.functions[0].state_reason #=> String
1599
+ # resp.functions[0].created_at #=> Time
1600
+ # resp.functions[0].updated_at #=> Time
1601
+ # resp.next_token #=> String
1602
+ #
1603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListWebFunctions AWS API Documentation
1604
+ #
1605
+ # @overload list_web_functions(params = {})
1606
+ # @param [Hash] params ({})
1607
+ def list_web_functions(params = {}, options = {})
1608
+ req = build_request(:list_web_functions, params)
1609
+ req.send_request(options)
1610
+ end
1611
+
1612
+ # Adds or updates a resource-based policy on a web function. A
1613
+ # resource-based policy grants permissions to other AWS accounts or
1614
+ # services to perform actions on the web function.
1615
+ #
1616
+ # @option params [required, String] :resource_arn
1617
+ # The Amazon Resource Name (ARN) of the web function.
1618
+ #
1619
+ # @option params [required, String] :policy
1620
+ # The JSON-formatted resource-based policy to attach to the web
1621
+ # function.
1622
+ #
1623
+ # @option params [String] :revision_id
1624
+ # The revision ID of the existing policy. Use this to prevent conflicts
1625
+ # when updating a policy concurrently. If you don't specify a value,
1626
+ # the update proceeds without checking the current revision.
1627
+ #
1628
+ # @return [Types::PutResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1629
+ #
1630
+ # * {Types::PutResourcePolicyResponse#policy #policy} => String
1631
+ # * {Types::PutResourcePolicyResponse#revision_id #revision_id} => String
1632
+ #
1633
+ # @example Request syntax with placeholder values
1634
+ #
1635
+ # resp = client.put_resource_policy({
1636
+ # resource_arn: "ResourceArn", # required
1637
+ # policy: "ResourcePolicy", # required
1638
+ # revision_id: "PolicyRevisionId",
1639
+ # })
1640
+ #
1641
+ # @example Response structure
1642
+ #
1643
+ # resp.policy #=> String
1644
+ # resp.revision_id #=> String
1645
+ #
1646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/PutResourcePolicy AWS API Documentation
1647
+ #
1648
+ # @overload put_resource_policy(params = {})
1649
+ # @param [Hash] params ({})
1650
+ def put_resource_policy(params = {}, options = {})
1651
+ req = build_request(:put_resource_policy, params)
1652
+ req.send_request(options)
1653
+ end
1654
+
1655
+ # Adds tags to a web function. If a tag key already exists, the existing
1656
+ # value is overwritten with the new value.
1657
+ #
1658
+ # @option params [required, String] :resource
1659
+ # The Amazon Resource Name (ARN) of the web function.
1660
+ #
1661
+ # @option params [required, Hash<String,String>] :tags
1662
+ # A map of tag keys and values to add to the web function.
1663
+ #
1664
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1665
+ #
1666
+ # @example Request syntax with placeholder values
1667
+ #
1668
+ # resp = client.tag_resource({
1669
+ # resource: "ResourceArn", # required
1670
+ # tags: { # required
1671
+ # "TagKey" => "TagsValueString",
1672
+ # },
1673
+ # })
1674
+ #
1675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/TagResource AWS API Documentation
1676
+ #
1677
+ # @overload tag_resource(params = {})
1678
+ # @param [Hash] params ({})
1679
+ def tag_resource(params = {}, options = {})
1680
+ req = build_request(:tag_resource, params)
1681
+ req.send_request(options)
1682
+ end
1683
+
1684
+ # Removes tags from a web function.
1685
+ #
1686
+ # @option params [required, String] :resource
1687
+ # The Amazon Resource Name (ARN) of the web function.
1688
+ #
1689
+ # @option params [required, Array<String>] :tag_keys
1690
+ # A list of tag keys to remove from the web function.
1691
+ #
1692
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1693
+ #
1694
+ # @example Request syntax with placeholder values
1695
+ #
1696
+ # resp = client.untag_resource({
1697
+ # resource: "ResourceArn", # required
1698
+ # tag_keys: ["TagKey"], # required
1699
+ # })
1700
+ #
1701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/UntagResource AWS API Documentation
1702
+ #
1703
+ # @overload untag_resource(params = {})
1704
+ # @param [Hash] params ({})
1705
+ def untag_resource(params = {}, options = {})
1706
+ req = build_request(:untag_resource, params)
1707
+ req.send_request(options)
1708
+ end
1709
+
1710
+ # Updates the configuration of a web function endpoint. You can modify
1711
+ # the authorization type, auto-deployment mode, revision weights,
1712
+ # scaling, and throttling settings.
1713
+ #
1714
+ # @option params [required, String] :function_name
1715
+ # The web function.
1716
+ #
1717
+ # You can specify either of the following:
1718
+ #
1719
+ # * The function name, for example `my-function`.
1720
+ #
1721
+ # * The function ARN.
1722
+ #
1723
+ # The length constraint applies only to the full ARN. If you specify
1724
+ # only the function name, it is limited to 64 characters in length.
1725
+ #
1726
+ # @option params [required, String] :endpoint_name
1727
+ # The endpoint to update.
1728
+ #
1729
+ # You can specify either of the following:
1730
+ #
1731
+ # * The endpoint name, for example `my-endpoint`.
1732
+ #
1733
+ # * The endpoint ARN.
1734
+ #
1735
+ # The length constraint applies only to the full ARN. If you specify
1736
+ # only the endpoint name, it is limited to 64 characters in length.
1737
+ #
1738
+ # @option params [String] :description
1739
+ # A description of the endpoint. Omit this field to keep the current
1740
+ # description.
1741
+ #
1742
+ # @option params [String] :auth_type
1743
+ # The authorization type for the endpoint. Omit this field to keep the
1744
+ # current authorization type.
1745
+ #
1746
+ # Valid values:
1747
+ #
1748
+ # * `ApplicationManaged` – Your application handles authorization.
1749
+ #
1750
+ # * `IamAuth` – Lambda uses IAM to authorize requests, which must be
1751
+ # signed with Signature Version 4 (SigV4).
1752
+ #
1753
+ # @option params [String] :auto_deployment_mode
1754
+ # The auto-deployment mode for the endpoint. Omit this field to keep the
1755
+ # current auto-deployment mode.
1756
+ #
1757
+ # Valid values:
1758
+ #
1759
+ # * `LatestRevision` – The endpoint automatically serves the newest
1760
+ # revision.
1761
+ #
1762
+ # * `Disabled` – Revision routing stays fixed until you change it.
1763
+ #
1764
+ # @option params [Array<Types::RevisionWeight>] :revision_weights
1765
+ # A list of revision weights that determine how traffic is distributed
1766
+ # across revisions.
1767
+ #
1768
+ # @option params [Types::ScalingConfig] :scaling_config
1769
+ # The scaling configuration for the endpoint. Omit this field to keep
1770
+ # the current scaling configuration. To clear a previously set
1771
+ # `maxEnvironments` value, specify an empty object.
1772
+ #
1773
+ # @option params [Types::ThrottleConfig] :throttle_config
1774
+ # The throttling configuration for the endpoint. Omit this field to keep
1775
+ # the current throttling configuration. To clear a previously set
1776
+ # `rateLimit` value, specify an empty object.
1777
+ #
1778
+ # @return [Types::UpdateWebFunctionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1779
+ #
1780
+ # * {Types::UpdateWebFunctionEndpointResponse#function_arn #function_arn} => String
1781
+ # * {Types::UpdateWebFunctionEndpointResponse#endpoint_arn #endpoint_arn} => String
1782
+ # * {Types::UpdateWebFunctionEndpointResponse#endpoint_name #endpoint_name} => String
1783
+ # * {Types::UpdateWebFunctionEndpointResponse#description #description} => String
1784
+ # * {Types::UpdateWebFunctionEndpointResponse#endpoint_type #endpoint_type} => String
1785
+ # * {Types::UpdateWebFunctionEndpointResponse#domain_name #domain_name} => String
1786
+ # * {Types::UpdateWebFunctionEndpointResponse#auth_type #auth_type} => String
1787
+ # * {Types::UpdateWebFunctionEndpointResponse#auto_deployment_mode #auto_deployment_mode} => String
1788
+ # * {Types::UpdateWebFunctionEndpointResponse#revision_weights #revision_weights} => Array&lt;Types::RevisionWeight&gt;
1789
+ # * {Types::UpdateWebFunctionEndpointResponse#regions #regions} => Array&lt;String&gt;
1790
+ # * {Types::UpdateWebFunctionEndpointResponse#scaling_config #scaling_config} => Types::ScalingConfig
1791
+ # * {Types::UpdateWebFunctionEndpointResponse#throttle_config #throttle_config} => Types::ThrottleConfig
1792
+ # * {Types::UpdateWebFunctionEndpointResponse#state #state} => String
1793
+ # * {Types::UpdateWebFunctionEndpointResponse#state_reason #state_reason} => String
1794
+ # * {Types::UpdateWebFunctionEndpointResponse#update_status #update_status} => String
1795
+ # * {Types::UpdateWebFunctionEndpointResponse#update_status_reason #update_status_reason} => String
1796
+ # * {Types::UpdateWebFunctionEndpointResponse#regional_endpoints #regional_endpoints} => Hash&lt;String,Types::RegionalEndpoint&gt;
1797
+ # * {Types::UpdateWebFunctionEndpointResponse#created_at #created_at} => Time
1798
+ # * {Types::UpdateWebFunctionEndpointResponse#updated_at #updated_at} => Time
1799
+ #
1800
+ # @example Request syntax with placeholder values
1801
+ #
1802
+ # resp = client.update_web_function_endpoint({
1803
+ # function_name: "FunctionName", # required
1804
+ # endpoint_name: "EndpointName", # required
1805
+ # description: "Description",
1806
+ # auth_type: "ApplicationManaged", # accepts ApplicationManaged, IamAuth
1807
+ # auto_deployment_mode: "LatestRevision", # accepts LatestRevision, Disabled
1808
+ # revision_weights: [
1809
+ # {
1810
+ # revision_id: "RevisionId", # required
1811
+ # weight: 1, # required
1812
+ # },
1813
+ # ],
1814
+ # scaling_config: {
1815
+ # max_environments: 1,
1816
+ # },
1817
+ # throttle_config: {
1818
+ # rate_limit: 1,
1819
+ # },
1820
+ # })
1821
+ #
1822
+ # @example Response structure
1823
+ #
1824
+ # resp.function_arn #=> String
1825
+ # resp.endpoint_arn #=> String
1826
+ # resp.endpoint_name #=> String
1827
+ # resp.description #=> String
1828
+ # resp.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
1829
+ # resp.domain_name #=> String
1830
+ # resp.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1831
+ # resp.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
1832
+ # resp.revision_weights #=> Array
1833
+ # resp.revision_weights[0].revision_id #=> String
1834
+ # resp.revision_weights[0].weight #=> Integer
1835
+ # resp.regions #=> Array
1836
+ # resp.regions[0] #=> String
1837
+ # resp.scaling_config.max_environments #=> Integer
1838
+ # resp.throttle_config.rate_limit #=> Integer
1839
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1840
+ # resp.state_reason #=> String
1841
+ # resp.update_status #=> String, one of "InProgress", "Successful", "Failed"
1842
+ # resp.update_status_reason #=> String
1843
+ # resp.regional_endpoints #=> Hash
1844
+ # resp.regional_endpoints["Region"].domain_name #=> String
1845
+ # resp.regional_endpoints["Region"].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1846
+ # resp.regional_endpoints["Region"].revision_weights #=> Array
1847
+ # resp.regional_endpoints["Region"].revision_weights[0].revision_id #=> String
1848
+ # resp.regional_endpoints["Region"].revision_weights[0].weight #=> Integer
1849
+ # resp.regional_endpoints["Region"].scaling_config.max_environments #=> Integer
1850
+ # resp.regional_endpoints["Region"].throttle_config.rate_limit #=> Integer
1851
+ # resp.regional_endpoints["Region"].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1852
+ # resp.regional_endpoints["Region"].state_reason #=> String
1853
+ # resp.regional_endpoints["Region"].update_status #=> String, one of "InProgress", "Successful", "Failed"
1854
+ # resp.regional_endpoints["Region"].update_status_reason #=> String
1855
+ # resp.created_at #=> Time
1856
+ # resp.updated_at #=> Time
1857
+ #
1858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/UpdateWebFunctionEndpoint AWS API Documentation
1859
+ #
1860
+ # @overload update_web_function_endpoint(params = {})
1861
+ # @param [Hash] params ({})
1862
+ def update_web_function_endpoint(params = {}, options = {})
1863
+ req = build_request(:update_web_function_endpoint, params)
1864
+ req.send_request(options)
1865
+ end
1866
+
508
1867
  # @!endgroup
509
1868
 
510
1869
  # @param params ({})
@@ -523,14 +1882,137 @@ module Aws::LambdaWeb
523
1882
  tracer: tracer
524
1883
  )
525
1884
  context[:gem_name] = 'aws-sdk-lambdaweb'
526
- context[:gem_version] = '1.2.0'
1885
+ context[:gem_version] = '1.3.0'
527
1886
  Seahorse::Client::Request.new(handlers, context)
528
1887
  end
529
1888
 
1889
+ # Polls an API operation until a resource enters a desired state.
1890
+ #
1891
+ # ## Basic Usage
1892
+ #
1893
+ # A waiter will call an API operation until:
1894
+ #
1895
+ # * It is successful
1896
+ # * It enters a terminal state
1897
+ # * It makes the maximum number of attempts
1898
+ #
1899
+ # In between attempts, the waiter will sleep.
1900
+ #
1901
+ # # polls in a loop, sleeping between attempts
1902
+ # client.wait_until(waiter_name, params)
1903
+ #
1904
+ # ## Configuration
1905
+ #
1906
+ # You can configure the maximum number of polling attempts, and the
1907
+ # delay (in seconds) between each polling attempt. You can pass
1908
+ # configuration as the final arguments hash.
1909
+ #
1910
+ # # poll for ~25 seconds
1911
+ # client.wait_until(waiter_name, params, {
1912
+ # max_attempts: 5,
1913
+ # delay: 5,
1914
+ # })
1915
+ #
1916
+ # ## Callbacks
1917
+ #
1918
+ # You can be notified before each polling attempt and before each
1919
+ # delay. If you throw `:success` or `:failure` from these callbacks,
1920
+ # it will terminate the waiter.
1921
+ #
1922
+ # started_at = Time.now
1923
+ # client.wait_until(waiter_name, params, {
1924
+ #
1925
+ # # disable max attempts
1926
+ # max_attempts: nil,
1927
+ #
1928
+ # # poll for 1 hour, instead of a number of attempts
1929
+ # before_wait: -> (attempts, response) do
1930
+ # throw :failure if Time.now - started_at > 3600
1931
+ # end
1932
+ # })
1933
+ #
1934
+ # ## Handling Errors
1935
+ #
1936
+ # When a waiter is unsuccessful, it will raise an error.
1937
+ # All of the failure errors extend from
1938
+ # {Aws::Waiters::Errors::WaiterFailed}.
1939
+ #
1940
+ # begin
1941
+ # client.wait_until(...)
1942
+ # rescue Aws::Waiters::Errors::WaiterFailed
1943
+ # # resource did not enter the desired state in time
1944
+ # end
1945
+ #
1946
+ # ## Valid Waiters
1947
+ #
1948
+ # The following table lists the valid waiter names, the operations they call,
1949
+ # and the default `:delay` and `:max_attempts` values.
1950
+ #
1951
+ # | waiter_name | params | :delay | :max_attempts |
1952
+ # | ----------------------------- | ---------------------------------- | -------- | ------------- |
1953
+ # | web_function_active | {Client#get_web_function} | 1 | 300 |
1954
+ # | web_function_deleted | {Client#get_web_function} | 1 | 300 |
1955
+ # | web_function_endpoint_active | {Client#get_web_function_endpoint} | 1 | 300 |
1956
+ # | web_function_endpoint_deleted | {Client#get_web_function_endpoint} | 1 | 300 |
1957
+ # | web_function_endpoint_updated | {Client#get_web_function_endpoint} | 1 | 300 |
1958
+ # | web_function_revision_active | {Client#get_web_function_revision} | 1 | 300 |
1959
+ #
1960
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
1961
+ # because the waiter has entered a state that it will not transition
1962
+ # out of, preventing success.
1963
+ #
1964
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
1965
+ # maximum number of attempts have been made, and the waiter is not
1966
+ # yet successful.
1967
+ #
1968
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
1969
+ # while polling for a resource that is not expected.
1970
+ #
1971
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
1972
+ # for an unknown state.
1973
+ #
1974
+ # @return [Boolean] Returns `true` if the waiter was successful.
1975
+ # @param [Symbol] waiter_name
1976
+ # @param [Hash] params ({})
1977
+ # @param [Hash] options ({})
1978
+ # @option options [Integer] :max_attempts
1979
+ # @option options [Integer] :delay
1980
+ # @option options [Proc] :before_attempt
1981
+ # @option options [Proc] :before_wait
1982
+ def wait_until(waiter_name, params = {}, options = {})
1983
+ w = waiter(waiter_name, options)
1984
+ yield(w.waiter) if block_given? # deprecated
1985
+ w.wait(params)
1986
+ end
1987
+
530
1988
  # @api private
531
1989
  # @deprecated
532
1990
  def waiter_names
533
- []
1991
+ waiters.keys
1992
+ end
1993
+
1994
+ private
1995
+
1996
+ # @param [Symbol] waiter_name
1997
+ # @param [Hash] options ({})
1998
+ def waiter(waiter_name, options = {})
1999
+ waiter_class = waiters[waiter_name]
2000
+ if waiter_class
2001
+ waiter_class.new(options.merge(client: self))
2002
+ else
2003
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
2004
+ end
2005
+ end
2006
+
2007
+ def waiters
2008
+ {
2009
+ web_function_active: Waiters::WebFunctionActive,
2010
+ web_function_deleted: Waiters::WebFunctionDeleted,
2011
+ web_function_endpoint_active: Waiters::WebFunctionEndpointActive,
2012
+ web_function_endpoint_deleted: Waiters::WebFunctionEndpointDeleted,
2013
+ web_function_endpoint_updated: Waiters::WebFunctionEndpointUpdated,
2014
+ web_function_revision_active: Waiters::WebFunctionRevisionActive
2015
+ }
534
2016
  end
535
2017
 
536
2018
  class << self