aws-sdk-freetier 1.22.0 → 1.23.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ecec7cc37ee0c8711729bd4b68c5f590cdcbb574eb3b630252cad76413e548f9
4
- data.tar.gz: 83b50befccba40741853e9c4d9dab7ebf49564ebedb5af7825958769f08e2b02
3
+ metadata.gz: 631abd9ba658600b825370f739912c0b941dcdfca5e854ac5e4b902451f7a11d
4
+ data.tar.gz: b09ad59a45e1ab8e1be997141001ecf0b65ef5ab05e5b1bf70b19a4c44e20159
5
5
  SHA512:
6
- metadata.gz: eb1cf8d6d1c64e1a6c0d6284db6812925fe5100ebcb1788b0cd2d416e6147d79f1c9ac74ac890282f51654abe73822cc0b7439b9646c5fd65f1f0968c97b8677
7
- data.tar.gz: cfcd3317bd45b9963d3049aa0250985bbb6e09b7726014be80a4e92f6a9fd28d4557e409e1bd7676335ff5f431b7ceb234b1b632a3e9fc4c9373141a9cbd4bc2
6
+ metadata.gz: 26486f0349bdc63ea2dc2ed811b1130a55d0d7b759dcaa796a04d16e746b0a310329f2ba50a929f896e5be1ffe2e781688528ff507365313ef2a8ab159908bd3
7
+ data.tar.gz: ead7a583f26025e4884bc22471ba1d69e888994970355ee85abef9ff454d6e5c9beb51e50c7975f6e35de36f630961255a4e881f23b8710f2d6c17ee81e0e0ab
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.23.0 (2025-07-09)
5
+ ------------------
6
+
7
+ * Feature - This release introduces four new APIs: GetAccountPlanState and UpgradeAccountPlan for AWS account plan management; ListAccountActivities and GetAccountActivity that provide activity tracking capabilities.
8
+
4
9
  1.22.0 (2025-06-02)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.22.0
1
+ 1.23.0
@@ -476,6 +476,152 @@ module Aws::FreeTier
476
476
 
477
477
  # @!group API Operations
478
478
 
479
+ # Returns a specific activity record that is available to the customer.
480
+ #
481
+ # @option params [required, String] :activity_id
482
+ # A unique identifier that identifies the activity.
483
+ #
484
+ # @option params [String] :language_code
485
+ # The language code used to return translated title and description
486
+ # fields.
487
+ #
488
+ # @return [Types::GetAccountActivityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
489
+ #
490
+ # * {Types::GetAccountActivityResponse#activity_id #activity_id} => String
491
+ # * {Types::GetAccountActivityResponse#title #title} => String
492
+ # * {Types::GetAccountActivityResponse#description #description} => String
493
+ # * {Types::GetAccountActivityResponse#status #status} => String
494
+ # * {Types::GetAccountActivityResponse#instructions_url #instructions_url} => String
495
+ # * {Types::GetAccountActivityResponse#reward #reward} => Types::ActivityReward
496
+ # * {Types::GetAccountActivityResponse#estimated_time_to_complete_in_minutes #estimated_time_to_complete_in_minutes} => Integer
497
+ # * {Types::GetAccountActivityResponse#expires_at #expires_at} => Time
498
+ # * {Types::GetAccountActivityResponse#started_at #started_at} => Time
499
+ # * {Types::GetAccountActivityResponse#completed_at #completed_at} => Time
500
+ #
501
+ #
502
+ # @example Example: Fetching an Account activity by id
503
+ #
504
+ # resp = client.get_account_activity({
505
+ # activity_id: "d622f48bf4014286a2686ab10cacfb2e",
506
+ # language_code: "en-US",
507
+ # })
508
+ #
509
+ # resp.to_h outputs the following:
510
+ # {
511
+ # activity_id: "d622f48bf4014286a2686ab10cacfb2e",
512
+ # completed_at: Time.parse("1985-06-12T23:20:50.520Z"),
513
+ # description: "Set up three notifications: one for your costs reach ...",
514
+ # estimated_time_to_complete_in_minutes: 15,
515
+ # expires_at: Time.parse("1985-10-12T23:20:50.520Z"),
516
+ # instructions_url: "https://catalog.us-east-1.prod.workshops.aws/workshops/2a5fc82d-2b5f-4105-83c2-91a1b4d7abfe/en-US/2-foundation/lab1-create",
517
+ # reward: {
518
+ # credit: {
519
+ # amount: 20.0,
520
+ # unit: "USD",
521
+ # },
522
+ # },
523
+ # started_at: Time.parse("1985-04-12T23:20:50.520Z"),
524
+ # status: "COMPLETED",
525
+ # title: "Configure Your Access in the AWS Identity and Access Management (IAM) center",
526
+ # }
527
+ #
528
+ # @example Request syntax with placeholder values
529
+ #
530
+ # resp = client.get_account_activity({
531
+ # activity_id: "ActivityId", # required
532
+ # language_code: "en-US", # accepts en-US, en-GB, id-ID, de-DE, es-ES, fr-FR, ja-JP, it-IT, pt-PT, ko-KR, zh-CN, zh-TW, tr-TR
533
+ # })
534
+ #
535
+ # @example Response structure
536
+ #
537
+ # resp.activity_id #=> String
538
+ # resp.title #=> String
539
+ # resp.description #=> String
540
+ # resp.status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED", "EXPIRING"
541
+ # resp.instructions_url #=> String
542
+ # resp.reward.credit.amount #=> Float
543
+ # resp.reward.credit.unit #=> String, one of "USD"
544
+ # resp.estimated_time_to_complete_in_minutes #=> Integer
545
+ # resp.expires_at #=> Time
546
+ # resp.started_at #=> Time
547
+ # resp.completed_at #=> Time
548
+ #
549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/freetier-2023-09-07/GetAccountActivity AWS API Documentation
550
+ #
551
+ # @overload get_account_activity(params = {})
552
+ # @param [Hash] params ({})
553
+ def get_account_activity(params = {}, options = {})
554
+ req = build_request(:get_account_activity, params)
555
+ req.send_request(options)
556
+ end
557
+
558
+ # This returns all of the information related to the state of the
559
+ # account plan related to Free Tier.
560
+ #
561
+ # @return [Types::GetAccountPlanStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
562
+ #
563
+ # * {Types::GetAccountPlanStateResponse#account_id #account_id} => String
564
+ # * {Types::GetAccountPlanStateResponse#account_plan_type #account_plan_type} => String
565
+ # * {Types::GetAccountPlanStateResponse#account_plan_status #account_plan_status} => String
566
+ # * {Types::GetAccountPlanStateResponse#account_plan_remaining_credits #account_plan_remaining_credits} => Types::MonetaryAmount
567
+ # * {Types::GetAccountPlanStateResponse#account_plan_expiration_date #account_plan_expiration_date} => Time
568
+ #
569
+ #
570
+ # @example Example: Fetching account plan state by id
571
+ #
572
+ # resp = client.get_account_plan_state({
573
+ # })
574
+ #
575
+ # resp.to_h outputs the following:
576
+ # {
577
+ # account_id: "111122223333",
578
+ # account_plan_expiration_date: Time.parse("2025-06-30T23:59:59Z"),
579
+ # account_plan_remaining_credits: {
580
+ # amount: 25.0,
581
+ # unit: "USD",
582
+ # },
583
+ # account_plan_status: "ACTIVE",
584
+ # account_plan_type: "FREE",
585
+ # }
586
+ #
587
+ # @example Example: Attempt to fetch account plan state by id with insufficient permissions
588
+ #
589
+ # resp = client.get_account_plan_state({
590
+ # })
591
+ #
592
+ # @example Example: Internal service error
593
+ #
594
+ # resp = client.get_account_plan_state({
595
+ # })
596
+ #
597
+ # @example Example: Attempt to fetch plan state by id for an account without account plan
598
+ #
599
+ # resp = client.get_account_plan_state({
600
+ # })
601
+ #
602
+ # @example Example: Request rate exceeds limits
603
+ #
604
+ # resp = client.get_account_plan_state({
605
+ # })
606
+ #
607
+ # @example Response structure
608
+ #
609
+ # resp.account_id #=> String
610
+ # resp.account_plan_type #=> String, one of "FREE", "PAID"
611
+ # resp.account_plan_status #=> String, one of "NOT_STARTED", "ACTIVE", "EXPIRED"
612
+ # resp.account_plan_remaining_credits.amount #=> Float
613
+ # resp.account_plan_remaining_credits.unit #=> String, one of "USD"
614
+ # resp.account_plan_expiration_date #=> Time
615
+ #
616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/freetier-2023-09-07/GetAccountPlanState AWS API Documentation
617
+ #
618
+ # @overload get_account_plan_state(params = {})
619
+ # @param [Hash] params ({})
620
+ def get_account_plan_state(params = {}, options = {})
621
+ req = build_request(:get_account_plan_state, params)
622
+ req.send_request(options)
623
+ end
624
+
479
625
  # Returns a list of all Free Tier usage objects that match your filters.
480
626
  #
481
627
  # @option params [Types::Expression] :filter
@@ -502,24 +648,24 @@ module Aws::FreeTier
502
648
  #
503
649
  # resp = client.get_free_tier_usage({
504
650
  # filter: {
651
+ # or: [
652
+ # {
653
+ # # recursive Expression
654
+ # },
655
+ # ],
505
656
  # and: [
506
657
  # {
507
658
  # # recursive Expression
508
659
  # },
509
660
  # ],
661
+ # not: {
662
+ # # recursive Expression
663
+ # },
510
664
  # dimensions: {
511
665
  # key: "SERVICE", # required, accepts SERVICE, OPERATION, USAGE_TYPE, REGION, FREE_TIER_TYPE, DESCRIPTION, USAGE_PERCENTAGE
512
- # match_options: ["EQUALS"], # required, accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL
513
666
  # values: ["Value"], # required
667
+ # match_options: ["EQUALS"], # required, accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL
514
668
  # },
515
- # not: {
516
- # # recursive Expression
517
- # },
518
- # or: [
519
- # {
520
- # # recursive Expression
521
- # },
522
- # ],
523
669
  # },
524
670
  # max_results: 1,
525
671
  # next_token: "NextPageToken",
@@ -528,16 +674,16 @@ module Aws::FreeTier
528
674
  # @example Response structure
529
675
  #
530
676
  # resp.free_tier_usages #=> Array
677
+ # resp.free_tier_usages[0].service #=> String
678
+ # resp.free_tier_usages[0].operation #=> String
679
+ # resp.free_tier_usages[0].usage_type #=> String
680
+ # resp.free_tier_usages[0].region #=> String
531
681
  # resp.free_tier_usages[0].actual_usage_amount #=> Float
532
- # resp.free_tier_usages[0].description #=> String
533
682
  # resp.free_tier_usages[0].forecasted_usage_amount #=> Float
534
- # resp.free_tier_usages[0].free_tier_type #=> String
535
683
  # resp.free_tier_usages[0].limit #=> Float
536
- # resp.free_tier_usages[0].operation #=> String
537
- # resp.free_tier_usages[0].region #=> String
538
- # resp.free_tier_usages[0].service #=> String
539
684
  # resp.free_tier_usages[0].unit #=> String
540
- # resp.free_tier_usages[0].usage_type #=> String
685
+ # resp.free_tier_usages[0].description #=> String
686
+ # resp.free_tier_usages[0].free_tier_type #=> String
541
687
  # resp.next_token #=> String
542
688
  #
543
689
  # @see http://docs.aws.amazon.com/goto/WebAPI/freetier-2023-09-07/GetFreeTierUsage AWS API Documentation
@@ -549,6 +695,167 @@ module Aws::FreeTier
549
695
  req.send_request(options)
550
696
  end
551
697
 
698
+ # Returns a list of activities that are available. This operation
699
+ # supports pagination and filtering by status.
700
+ #
701
+ # @option params [Array<String>] :filter_activity_statuses
702
+ # The activity status filter. This field can be used to filter the
703
+ # response by activities status.
704
+ #
705
+ # @option params [String] :next_token
706
+ # A token from a previous paginated response. If this is specified, the
707
+ # response includes records beginning from this token (inclusive), up to
708
+ # the number specified by `maxResults`.
709
+ #
710
+ # @option params [Integer] :max_results
711
+ # The maximum number of items to return for this request. To get the
712
+ # next page of items, make another request with the token returned in
713
+ # the output.
714
+ #
715
+ # @option params [String] :language_code
716
+ # The language code used to return translated titles.
717
+ #
718
+ # @return [Types::ListAccountActivitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
719
+ #
720
+ # * {Types::ListAccountActivitiesResponse#activities #activities} => Array&lt;Types::ActivitySummary&gt;
721
+ # * {Types::ListAccountActivitiesResponse#next_token #next_token} => String
722
+ #
723
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
724
+ #
725
+ #
726
+ # @example Example: Fetching a page of completed activities
727
+ #
728
+ # resp = client.list_account_activities({
729
+ # filter_activity_statuses: [
730
+ # "COMPLETED",
731
+ # ],
732
+ # language_code: "en-US",
733
+ # max_results: 1,
734
+ # })
735
+ #
736
+ # resp.to_h outputs the following:
737
+ # {
738
+ # activities: [
739
+ # {
740
+ # activity_id: "d622f48bf4014286a2686ab10cacfb2e",
741
+ # reward: {
742
+ # credit: {
743
+ # amount: 20.0,
744
+ # unit: "USD",
745
+ # },
746
+ # },
747
+ # status: "COMPLETED",
748
+ # title: "Configure Your Access in the AWS Identity and Access Management (IAM) center",
749
+ # },
750
+ # ],
751
+ # next_token: "a95f3d9e7710c6ca8ba4f640b40bbc40",
752
+ # }
753
+ #
754
+ # @example Request syntax with placeholder values
755
+ #
756
+ # resp = client.list_account_activities({
757
+ # filter_activity_statuses: ["NOT_STARTED"], # accepts NOT_STARTED, IN_PROGRESS, COMPLETED, EXPIRING
758
+ # next_token: "NextPageToken",
759
+ # max_results: 1,
760
+ # language_code: "en-US", # accepts en-US, en-GB, id-ID, de-DE, es-ES, fr-FR, ja-JP, it-IT, pt-PT, ko-KR, zh-CN, zh-TW, tr-TR
761
+ # })
762
+ #
763
+ # @example Response structure
764
+ #
765
+ # resp.activities #=> Array
766
+ # resp.activities[0].activity_id #=> String
767
+ # resp.activities[0].title #=> String
768
+ # resp.activities[0].reward.credit.amount #=> Float
769
+ # resp.activities[0].reward.credit.unit #=> String, one of "USD"
770
+ # resp.activities[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED", "EXPIRING"
771
+ # resp.next_token #=> String
772
+ #
773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/freetier-2023-09-07/ListAccountActivities AWS API Documentation
774
+ #
775
+ # @overload list_account_activities(params = {})
776
+ # @param [Hash] params ({})
777
+ def list_account_activities(params = {}, options = {})
778
+ req = build_request(:list_account_activities, params)
779
+ req.send_request(options)
780
+ end
781
+
782
+ # The account plan type for the Amazon Web Services account.
783
+ #
784
+ # @option params [required, String] :account_plan_type
785
+ # The target account plan type. This makes it explicit about the change
786
+ # and latest value of the `accountPlanType`.
787
+ #
788
+ # @return [Types::UpgradeAccountPlanResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
789
+ #
790
+ # * {Types::UpgradeAccountPlanResponse#account_id #account_id} => String
791
+ # * {Types::UpgradeAccountPlanResponse#account_plan_type #account_plan_type} => String
792
+ # * {Types::UpgradeAccountPlanResponse#account_plan_status #account_plan_status} => String
793
+ #
794
+ #
795
+ # @example Example: Upgrading an account plan to PAID
796
+ #
797
+ # resp = client.upgrade_account_plan({
798
+ # account_plan_type: "PAID",
799
+ # })
800
+ #
801
+ # resp.to_h outputs the following:
802
+ # {
803
+ # account_id: "111122223333",
804
+ # account_plan_status: "NOT_STARTED",
805
+ # account_plan_type: "PAID",
806
+ # }
807
+ #
808
+ # @example Example: Attempt to upgrade an account with insufficient permissions
809
+ #
810
+ # resp = client.upgrade_account_plan({
811
+ # account_plan_type: "PAID",
812
+ # })
813
+ #
814
+ # @example Example: Attempt to downgrade an account from PAID to FREE
815
+ #
816
+ # resp = client.upgrade_account_plan({
817
+ # account_plan_type: "FREE",
818
+ # })
819
+ #
820
+ # @example Example: Internal service error
821
+ #
822
+ # resp = client.upgrade_account_plan({
823
+ # account_plan_type: "PAID",
824
+ # })
825
+ #
826
+ # @example Example: Attempt to upgrade a non-existent account plan
827
+ #
828
+ # resp = client.upgrade_account_plan({
829
+ # account_plan_type: "PAID",
830
+ # })
831
+ #
832
+ # @example Example: Request rate exceeds limits
833
+ #
834
+ # resp = client.upgrade_account_plan({
835
+ # account_plan_type: "PAID",
836
+ # })
837
+ #
838
+ # @example Request syntax with placeholder values
839
+ #
840
+ # resp = client.upgrade_account_plan({
841
+ # account_plan_type: "FREE", # required, accepts FREE, PAID
842
+ # })
843
+ #
844
+ # @example Response structure
845
+ #
846
+ # resp.account_id #=> String
847
+ # resp.account_plan_type #=> String, one of "FREE", "PAID"
848
+ # resp.account_plan_status #=> String, one of "NOT_STARTED", "ACTIVE", "EXPIRED"
849
+ #
850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/freetier-2023-09-07/UpgradeAccountPlan AWS API Documentation
851
+ #
852
+ # @overload upgrade_account_plan(params = {})
853
+ # @param [Hash] params ({})
854
+ def upgrade_account_plan(params = {}, options = {})
855
+ req = build_request(:upgrade_account_plan, params)
856
+ req.send_request(options)
857
+ end
858
+
552
859
  # @!endgroup
553
860
 
554
861
  # @param params ({})
@@ -567,7 +874,7 @@ module Aws::FreeTier
567
874
  tracer: tracer
568
875
  )
569
876
  context[:gem_name] = 'aws-sdk-freetier'
570
- context[:gem_version] = '1.22.0'
877
+ context[:gem_version] = '1.23.0'
571
878
  Seahorse::Client::Request.new(handlers, context)
572
879
  end
573
880
 
@@ -14,53 +14,121 @@ module Aws::FreeTier
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
18
+ AccountId = Shapes::StringShape.new(name: 'AccountId')
19
+ AccountPlanStatus = Shapes::StringShape.new(name: 'AccountPlanStatus')
20
+ AccountPlanType = Shapes::StringShape.new(name: 'AccountPlanType')
21
+ Activities = Shapes::ListShape.new(name: 'Activities')
22
+ ActivityId = Shapes::StringShape.new(name: 'ActivityId')
23
+ ActivityReward = Shapes::UnionShape.new(name: 'ActivityReward')
24
+ ActivityStatus = Shapes::StringShape.new(name: 'ActivityStatus')
25
+ ActivitySummary = Shapes::StructureShape.new(name: 'ActivitySummary')
26
+ CurrencyCode = Shapes::StringShape.new(name: 'CurrencyCode')
17
27
  Dimension = Shapes::StringShape.new(name: 'Dimension')
18
28
  DimensionValues = Shapes::StructureShape.new(name: 'DimensionValues')
19
29
  Expression = Shapes::StructureShape.new(name: 'Expression')
20
30
  Expressions = Shapes::ListShape.new(name: 'Expressions')
31
+ FilterActivityStatuses = Shapes::ListShape.new(name: 'FilterActivityStatuses')
21
32
  FreeTierUsage = Shapes::StructureShape.new(name: 'FreeTierUsage')
22
33
  FreeTierUsages = Shapes::ListShape.new(name: 'FreeTierUsages')
23
34
  GenericDouble = Shapes::FloatShape.new(name: 'GenericDouble')
24
35
  GenericString = Shapes::StringShape.new(name: 'GenericString')
36
+ GetAccountActivityRequest = Shapes::StructureShape.new(name: 'GetAccountActivityRequest')
37
+ GetAccountActivityResponse = Shapes::StructureShape.new(name: 'GetAccountActivityResponse')
38
+ GetAccountPlanStateRequest = Shapes::StructureShape.new(name: 'GetAccountPlanStateRequest')
39
+ GetAccountPlanStateResponse = Shapes::StructureShape.new(name: 'GetAccountPlanStateResponse')
25
40
  GetFreeTierUsageRequest = Shapes::StructureShape.new(name: 'GetFreeTierUsageRequest')
26
41
  GetFreeTierUsageResponse = Shapes::StructureShape.new(name: 'GetFreeTierUsageResponse')
42
+ Integer = Shapes::IntegerShape.new(name: 'Integer')
27
43
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
44
+ LanguageCode = Shapes::StringShape.new(name: 'LanguageCode')
45
+ ListAccountActivitiesRequest = Shapes::StructureShape.new(name: 'ListAccountActivitiesRequest')
46
+ ListAccountActivitiesResponse = Shapes::StructureShape.new(name: 'ListAccountActivitiesResponse')
28
47
  MatchOption = Shapes::StringShape.new(name: 'MatchOption')
29
48
  MatchOptions = Shapes::ListShape.new(name: 'MatchOptions')
30
49
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
50
+ MonetaryAmount = Shapes::StructureShape.new(name: 'MonetaryAmount')
31
51
  NextPageToken = Shapes::StringShape.new(name: 'NextPageToken')
52
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
53
+ SyntheticTimestamp_date_time = Shapes::TimestampShape.new(name: 'SyntheticTimestamp_date_time', timestampFormat: "iso8601")
32
54
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
55
+ UpgradeAccountPlanRequest = Shapes::StructureShape.new(name: 'UpgradeAccountPlanRequest')
56
+ UpgradeAccountPlanResponse = Shapes::StructureShape.new(name: 'UpgradeAccountPlanResponse')
33
57
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
34
58
  Value = Shapes::StringShape.new(name: 'Value')
35
59
  Values = Shapes::ListShape.new(name: 'Values')
36
60
 
61
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "message"))
62
+ AccessDeniedException.struct_class = Types::AccessDeniedException
63
+
64
+ Activities.member = Shapes::ShapeRef.new(shape: ActivitySummary)
65
+
66
+ ActivityReward.add_member(:credit, Shapes::ShapeRef.new(shape: MonetaryAmount, location_name: "credit"))
67
+ ActivityReward.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
68
+ ActivityReward.add_member_subclass(:credit, Types::ActivityReward::Credit)
69
+ ActivityReward.add_member_subclass(:unknown, Types::ActivityReward::Unknown)
70
+ ActivityReward.struct_class = Types::ActivityReward
71
+
72
+ ActivitySummary.add_member(:activity_id, Shapes::ShapeRef.new(shape: ActivityId, required: true, location_name: "activityId"))
73
+ ActivitySummary.add_member(:title, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "title"))
74
+ ActivitySummary.add_member(:reward, Shapes::ShapeRef.new(shape: ActivityReward, required: true, location_name: "reward"))
75
+ ActivitySummary.add_member(:status, Shapes::ShapeRef.new(shape: ActivityStatus, required: true, location_name: "status"))
76
+ ActivitySummary.struct_class = Types::ActivitySummary
77
+
37
78
  DimensionValues.add_member(:key, Shapes::ShapeRef.new(shape: Dimension, required: true, location_name: "Key"))
38
- DimensionValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, required: true, location_name: "MatchOptions"))
39
79
  DimensionValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, required: true, location_name: "Values"))
80
+ DimensionValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, required: true, location_name: "MatchOptions"))
40
81
  DimensionValues.struct_class = Types::DimensionValues
41
82
 
83
+ Expression.add_member(:or, Shapes::ShapeRef.new(shape: Expressions, location_name: "Or"))
42
84
  Expression.add_member(:and, Shapes::ShapeRef.new(shape: Expressions, location_name: "And"))
43
- Expression.add_member(:dimensions, Shapes::ShapeRef.new(shape: DimensionValues, location_name: "Dimensions"))
44
85
  Expression.add_member(:not, Shapes::ShapeRef.new(shape: Expression, location_name: "Not"))
45
- Expression.add_member(:or, Shapes::ShapeRef.new(shape: Expressions, location_name: "Or"))
86
+ Expression.add_member(:dimensions, Shapes::ShapeRef.new(shape: DimensionValues, location_name: "Dimensions"))
46
87
  Expression.struct_class = Types::Expression
47
88
 
48
89
  Expressions.member = Shapes::ShapeRef.new(shape: Expression)
49
90
 
91
+ FilterActivityStatuses.member = Shapes::ShapeRef.new(shape: ActivityStatus)
92
+
93
+ FreeTierUsage.add_member(:service, Shapes::ShapeRef.new(shape: GenericString, location_name: "service"))
94
+ FreeTierUsage.add_member(:operation, Shapes::ShapeRef.new(shape: GenericString, location_name: "operation"))
95
+ FreeTierUsage.add_member(:usage_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "usageType"))
96
+ FreeTierUsage.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "region"))
50
97
  FreeTierUsage.add_member(:actual_usage_amount, Shapes::ShapeRef.new(shape: GenericDouble, location_name: "actualUsageAmount"))
51
- FreeTierUsage.add_member(:description, Shapes::ShapeRef.new(shape: GenericString, location_name: "description"))
52
98
  FreeTierUsage.add_member(:forecasted_usage_amount, Shapes::ShapeRef.new(shape: GenericDouble, location_name: "forecastedUsageAmount"))
53
- FreeTierUsage.add_member(:free_tier_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "freeTierType"))
54
99
  FreeTierUsage.add_member(:limit, Shapes::ShapeRef.new(shape: GenericDouble, location_name: "limit"))
55
- FreeTierUsage.add_member(:operation, Shapes::ShapeRef.new(shape: GenericString, location_name: "operation"))
56
- FreeTierUsage.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "region"))
57
- FreeTierUsage.add_member(:service, Shapes::ShapeRef.new(shape: GenericString, location_name: "service"))
58
100
  FreeTierUsage.add_member(:unit, Shapes::ShapeRef.new(shape: GenericString, location_name: "unit"))
59
- FreeTierUsage.add_member(:usage_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "usageType"))
101
+ FreeTierUsage.add_member(:description, Shapes::ShapeRef.new(shape: GenericString, location_name: "description"))
102
+ FreeTierUsage.add_member(:free_tier_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "freeTierType"))
60
103
  FreeTierUsage.struct_class = Types::FreeTierUsage
61
104
 
62
105
  FreeTierUsages.member = Shapes::ShapeRef.new(shape: FreeTierUsage)
63
106
 
107
+ GetAccountActivityRequest.add_member(:activity_id, Shapes::ShapeRef.new(shape: ActivityId, required: true, location_name: "activityId"))
108
+ GetAccountActivityRequest.add_member(:language_code, Shapes::ShapeRef.new(shape: LanguageCode, location_name: "languageCode"))
109
+ GetAccountActivityRequest.struct_class = Types::GetAccountActivityRequest
110
+
111
+ GetAccountActivityResponse.add_member(:activity_id, Shapes::ShapeRef.new(shape: ActivityId, required: true, location_name: "activityId"))
112
+ GetAccountActivityResponse.add_member(:title, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "title"))
113
+ GetAccountActivityResponse.add_member(:description, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "description"))
114
+ GetAccountActivityResponse.add_member(:status, Shapes::ShapeRef.new(shape: ActivityStatus, required: true, location_name: "status"))
115
+ GetAccountActivityResponse.add_member(:instructions_url, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "instructionsUrl"))
116
+ GetAccountActivityResponse.add_member(:reward, Shapes::ShapeRef.new(shape: ActivityReward, required: true, location_name: "reward"))
117
+ GetAccountActivityResponse.add_member(:estimated_time_to_complete_in_minutes, Shapes::ShapeRef.new(shape: Integer, location_name: "estimatedTimeToCompleteInMinutes"))
118
+ GetAccountActivityResponse.add_member(:expires_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "expiresAt"))
119
+ GetAccountActivityResponse.add_member(:started_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "startedAt"))
120
+ GetAccountActivityResponse.add_member(:completed_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "completedAt"))
121
+ GetAccountActivityResponse.struct_class = Types::GetAccountActivityResponse
122
+
123
+ GetAccountPlanStateRequest.struct_class = Types::GetAccountPlanStateRequest
124
+
125
+ GetAccountPlanStateResponse.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "accountId"))
126
+ GetAccountPlanStateResponse.add_member(:account_plan_type, Shapes::ShapeRef.new(shape: AccountPlanType, required: true, location_name: "accountPlanType"))
127
+ GetAccountPlanStateResponse.add_member(:account_plan_status, Shapes::ShapeRef.new(shape: AccountPlanStatus, required: true, location_name: "accountPlanStatus"))
128
+ GetAccountPlanStateResponse.add_member(:account_plan_remaining_credits, Shapes::ShapeRef.new(shape: MonetaryAmount, location_name: "accountPlanRemainingCredits"))
129
+ GetAccountPlanStateResponse.add_member(:account_plan_expiration_date, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "accountPlanExpirationDate"))
130
+ GetAccountPlanStateResponse.struct_class = Types::GetAccountPlanStateResponse
131
+
64
132
  GetFreeTierUsageRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "filter"))
65
133
  GetFreeTierUsageRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
66
134
  GetFreeTierUsageRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "nextToken"))
@@ -73,11 +141,36 @@ module Aws::FreeTier
73
141
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "message"))
74
142
  InternalServerException.struct_class = Types::InternalServerException
75
143
 
144
+ ListAccountActivitiesRequest.add_member(:filter_activity_statuses, Shapes::ShapeRef.new(shape: FilterActivityStatuses, location_name: "filterActivityStatuses"))
145
+ ListAccountActivitiesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "nextToken"))
146
+ ListAccountActivitiesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
147
+ ListAccountActivitiesRequest.add_member(:language_code, Shapes::ShapeRef.new(shape: LanguageCode, location_name: "languageCode"))
148
+ ListAccountActivitiesRequest.struct_class = Types::ListAccountActivitiesRequest
149
+
150
+ ListAccountActivitiesResponse.add_member(:activities, Shapes::ShapeRef.new(shape: Activities, required: true, location_name: "activities"))
151
+ ListAccountActivitiesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "nextToken"))
152
+ ListAccountActivitiesResponse.struct_class = Types::ListAccountActivitiesResponse
153
+
76
154
  MatchOptions.member = Shapes::ShapeRef.new(shape: MatchOption)
77
155
 
156
+ MonetaryAmount.add_member(:amount, Shapes::ShapeRef.new(shape: GenericDouble, required: true, location_name: "amount"))
157
+ MonetaryAmount.add_member(:unit, Shapes::ShapeRef.new(shape: CurrencyCode, required: true, location_name: "unit"))
158
+ MonetaryAmount.struct_class = Types::MonetaryAmount
159
+
160
+ ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "message"))
161
+ ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
162
+
78
163
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "message"))
79
164
  ThrottlingException.struct_class = Types::ThrottlingException
80
165
 
166
+ UpgradeAccountPlanRequest.add_member(:account_plan_type, Shapes::ShapeRef.new(shape: AccountPlanType, required: true, location_name: "accountPlanType"))
167
+ UpgradeAccountPlanRequest.struct_class = Types::UpgradeAccountPlanRequest
168
+
169
+ UpgradeAccountPlanResponse.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "accountId"))
170
+ UpgradeAccountPlanResponse.add_member(:account_plan_type, Shapes::ShapeRef.new(shape: AccountPlanType, required: true, location_name: "accountPlanType"))
171
+ UpgradeAccountPlanResponse.add_member(:account_plan_status, Shapes::ShapeRef.new(shape: AccountPlanStatus, required: true, location_name: "accountPlanStatus"))
172
+ UpgradeAccountPlanResponse.struct_class = Types::UpgradeAccountPlanResponse
173
+
81
174
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "message"))
82
175
  ValidationException.struct_class = Types::ValidationException
83
176
 
@@ -91,9 +184,11 @@ module Aws::FreeTier
91
184
 
92
185
  api.metadata = {
93
186
  "apiVersion" => "2023-09-07",
187
+ "auth" => ["aws.auth#sigv4"],
94
188
  "endpointPrefix" => "freetier",
95
189
  "jsonVersion" => "1.0",
96
190
  "protocol" => "json",
191
+ "protocols" => ["json"],
97
192
  "serviceFullName" => "AWS Free Tier",
98
193
  "serviceId" => "FreeTier",
99
194
  "signatureVersion" => "v4",
@@ -102,6 +197,31 @@ module Aws::FreeTier
102
197
  "uid" => "freetier-2023-09-07",
103
198
  }
104
199
 
200
+ api.add_operation(:get_account_activity, Seahorse::Model::Operation.new.tap do |o|
201
+ o.name = "GetAccountActivity"
202
+ o.http_method = "POST"
203
+ o.http_request_uri = "/"
204
+ o.input = Shapes::ShapeRef.new(shape: GetAccountActivityRequest)
205
+ o.output = Shapes::ShapeRef.new(shape: GetAccountActivityResponse)
206
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
207
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
208
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
209
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
210
+ end)
211
+
212
+ api.add_operation(:get_account_plan_state, Seahorse::Model::Operation.new.tap do |o|
213
+ o.name = "GetAccountPlanState"
214
+ o.http_method = "POST"
215
+ o.http_request_uri = "/"
216
+ o.input = Shapes::ShapeRef.new(shape: GetAccountPlanStateRequest)
217
+ o.output = Shapes::ShapeRef.new(shape: GetAccountPlanStateResponse)
218
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
219
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
220
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
221
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
222
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
223
+ end)
224
+
105
225
  api.add_operation(:get_free_tier_usage, Seahorse::Model::Operation.new.tap do |o|
106
226
  o.name = "GetFreeTierUsage"
107
227
  o.http_method = "POST"
@@ -118,6 +238,36 @@ module Aws::FreeTier
118
238
  }
119
239
  )
120
240
  end)
241
+
242
+ api.add_operation(:list_account_activities, Seahorse::Model::Operation.new.tap do |o|
243
+ o.name = "ListAccountActivities"
244
+ o.http_method = "POST"
245
+ o.http_request_uri = "/"
246
+ o.input = Shapes::ShapeRef.new(shape: ListAccountActivitiesRequest)
247
+ o.output = Shapes::ShapeRef.new(shape: ListAccountActivitiesResponse)
248
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
249
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
250
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
251
+ o[:pager] = Aws::Pager.new(
252
+ limit_key: "max_results",
253
+ tokens: {
254
+ "next_token" => "next_token"
255
+ }
256
+ )
257
+ end)
258
+
259
+ api.add_operation(:upgrade_account_plan, Seahorse::Model::Operation.new.tap do |o|
260
+ o.name = "UpgradeAccountPlan"
261
+ o.http_method = "POST"
262
+ o.http_request_uri = "/"
263
+ o.input = Shapes::ShapeRef.new(shape: UpgradeAccountPlanRequest)
264
+ o.output = Shapes::ShapeRef.new(shape: UpgradeAccountPlanResponse)
265
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
266
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
267
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
268
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
269
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
270
+ end)
121
271
  end
122
272
 
123
273
  end