aws-sdk-costandusagereportservice 1.50.0 → 1.51.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1b62a08167ee74c871fe95934f7e54de8a4848a24b2bdad168a3d4793cdd0af
4
- data.tar.gz: 6c93e840d791e60253483f4960230684b5cef2601d286812fa8ec121edb2309f
3
+ metadata.gz: a06f5124186ef255236bb5bc349e791accd63c075ea942dab6a052904c327f0d
4
+ data.tar.gz: fccb7a6f172437b4bfa481a5e4096c7f65ce0f289600b0c91ba8c540885e3c8b
5
5
  SHA512:
6
- metadata.gz: bfa07b15952bbe69cbc111b0c6d9008113a84ce4e0fa7a9fe69a8dcac1463486ed2ad39ab3a995e439b82734b15fdac39b870c1a35e84d6aa2a0107b553ab659
7
- data.tar.gz: 1d9f790888d3b53f03eab18dd59352409b5b1a63caf413fcfe44a3cb7c9310822f215d4579d06ba84b5270b91877aedf62aeb1fdcc9933bb03d05339b9fec845
6
+ metadata.gz: d8d578b6af65504694d960d6fbae972e85815605cbc78d6d73dab59484278f843a83e7d0da9c859f42bac03ad2a4b2fa3f8c1f5bc2872d873b1d8808bfe86135
7
+ data.tar.gz: 4e55e1e169011cec70147abc9978a2417ff89c03ce0ae23895cff76cff1724a2db599862f5f6c094bc1e42d22355dcb6feaa07577a91f612dd2c7eb064fc7f2b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.51.0 (2023-11-10)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for tagging and customers can now tag report definitions. Additionally, ReportStatus is now added to report definition to show when the last delivered time stamp and if it succeeded or not.
8
+
4
9
  1.50.0 (2023-09-27)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.50.0
1
+ 1.51.0
@@ -398,9 +398,10 @@ module Aws::CostandUsageReportService
398
398
 
399
399
  # @!group API Operations
400
400
 
401
- # Deletes the specified report.
401
+ # Deletes the specified report. Any tags associated with the report are
402
+ # also deleted.
402
403
  #
403
- # @option params [String] :report_name
404
+ # @option params [required, String] :report_name
404
405
  # The name of the report that you want to delete. The name must be
405
406
  # unique, is case sensitive, and can't include spaces.
406
407
  #
@@ -420,7 +421,7 @@ module Aws::CostandUsageReportService
420
421
  # @example Request syntax with placeholder values
421
422
  #
422
423
  # resp = client.delete_report_definition({
423
- # report_name: "ReportName",
424
+ # report_name: "ReportName", # required
424
425
  # })
425
426
  #
426
427
  # @example Response structure
@@ -436,10 +437,12 @@ module Aws::CostandUsageReportService
436
437
  req.send_request(options)
437
438
  end
438
439
 
439
- # Lists the AWS Cost and Usage reports available to this account.
440
+ # Lists the Amazon Web Services Cost and Usage Report available to this
441
+ # account.
440
442
  #
441
443
  # @option params [Integer] :max_results
442
- # The maximum number of results that AWS returns for the operation.
444
+ # The maximum number of results that Amazon Web Services returns for the
445
+ # operation.
443
446
  #
444
447
  # @option params [String] :next_token
445
448
  # A generic string.
@@ -511,7 +514,7 @@ module Aws::CostandUsageReportService
511
514
  # resp.report_definitions[0].format #=> String, one of "textORcsv", "Parquet"
512
515
  # resp.report_definitions[0].compression #=> String, one of "ZIP", "GZIP", "Parquet"
513
516
  # resp.report_definitions[0].additional_schema_elements #=> Array
514
- # resp.report_definitions[0].additional_schema_elements[0] #=> String, one of "RESOURCES", "SPLIT_COST_ALLOCATION_DATA"
517
+ # resp.report_definitions[0].additional_schema_elements[0] #=> String, one of "RESOURCES", "SPLIT_COST_ALLOCATION_DATA", "MANUAL_DISCOUNT_COMPATIBILITY"
515
518
  # resp.report_definitions[0].s3_bucket #=> String
516
519
  # resp.report_definitions[0].s3_prefix #=> String
517
520
  # resp.report_definitions[0].s3_region #=> String, one of "af-south-1", "ap-east-1", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ca-central-1", "eu-central-1", "eu-central-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-north-1", "eu-south-1", "eu-south-2", "me-central-1", "me-south-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2", "cn-north-1", "cn-northwest-1"
@@ -520,6 +523,8 @@ module Aws::CostandUsageReportService
520
523
  # resp.report_definitions[0].refresh_closed_reports #=> Boolean
521
524
  # resp.report_definitions[0].report_versioning #=> String, one of "CREATE_NEW_REPORT", "OVERWRITE_REPORT"
522
525
  # resp.report_definitions[0].billing_view_arn #=> String
526
+ # resp.report_definitions[0].report_status.last_delivery #=> String
527
+ # resp.report_definitions[0].report_status.last_status #=> String, one of "SUCCESS", "ERROR_PERMISSIONS", "ERROR_NO_BUCKET"
523
528
  # resp.next_token #=> String
524
529
  #
525
530
  # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/DescribeReportDefinitions AWS API Documentation
@@ -531,16 +536,48 @@ module Aws::CostandUsageReportService
531
536
  req.send_request(options)
532
537
  end
533
538
 
534
- # Allows you to programatically update your report preferences.
539
+ # Lists the tags associated with the specified report definition.
540
+ #
541
+ # @option params [required, String] :report_name
542
+ # The report name of the report definition that tags are to be returned
543
+ # for.
544
+ #
545
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
546
+ #
547
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array<Types::Tag>
548
+ #
549
+ # @example Request syntax with placeholder values
550
+ #
551
+ # resp = client.list_tags_for_resource({
552
+ # report_name: "ReportName", # required
553
+ # })
554
+ #
555
+ # @example Response structure
556
+ #
557
+ # resp.tags #=> Array
558
+ # resp.tags[0].key #=> String
559
+ # resp.tags[0].value #=> String
560
+ #
561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ListTagsForResource AWS API Documentation
562
+ #
563
+ # @overload list_tags_for_resource(params = {})
564
+ # @param [Hash] params ({})
565
+ def list_tags_for_resource(params = {}, options = {})
566
+ req = build_request(:list_tags_for_resource, params)
567
+ req.send_request(options)
568
+ end
569
+
570
+ # Allows you to programmatically update your report preferences.
535
571
  #
536
572
  # @option params [required, String] :report_name
537
573
  # The name of the report that you want to create. The name must be
538
574
  # unique, is case sensitive, and can't include spaces.
539
575
  #
540
576
  # @option params [required, Types::ReportDefinition] :report_definition
541
- # The definition of AWS Cost and Usage Report. You can specify the
542
- # report name, time unit, report format, compression format, S3 bucket,
543
- # additional artifacts, and schema elements in the definition.
577
+ # The definition of Amazon Web Services Cost and Usage Report. You can
578
+ # specify the report name, time unit, report format, compression format,
579
+ # S3 bucket, additional artifacts, and schema elements in the
580
+ # definition.
544
581
  #
545
582
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
546
583
  #
@@ -553,7 +590,7 @@ module Aws::CostandUsageReportService
553
590
  # time_unit: "HOURLY", # required, accepts HOURLY, DAILY, MONTHLY
554
591
  # format: "textORcsv", # required, accepts textORcsv, Parquet
555
592
  # compression: "ZIP", # required, accepts ZIP, GZIP, Parquet
556
- # additional_schema_elements: ["RESOURCES"], # required, accepts RESOURCES, SPLIT_COST_ALLOCATION_DATA
593
+ # additional_schema_elements: ["RESOURCES"], # required, accepts RESOURCES, SPLIT_COST_ALLOCATION_DATA, MANUAL_DISCOUNT_COMPATIBILITY
557
594
  # s3_bucket: "S3Bucket", # required
558
595
  # s3_prefix: "S3Prefix", # required
559
596
  # s3_region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, ca-central-1, eu-central-1, eu-central-2, eu-west-1, eu-west-2, eu-west-3, eu-north-1, eu-south-1, eu-south-2, me-central-1, me-south-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2, cn-north-1, cn-northwest-1
@@ -561,6 +598,10 @@ module Aws::CostandUsageReportService
561
598
  # refresh_closed_reports: false,
562
599
  # report_versioning: "CREATE_NEW_REPORT", # accepts CREATE_NEW_REPORT, OVERWRITE_REPORT
563
600
  # billing_view_arn: "BillingViewArn",
601
+ # report_status: {
602
+ # last_delivery: "LastDelivery",
603
+ # last_status: "SUCCESS", # accepts SUCCESS, ERROR_PERMISSIONS, ERROR_NO_BUCKET
604
+ # },
564
605
  # },
565
606
  # })
566
607
  #
@@ -579,6 +620,9 @@ module Aws::CostandUsageReportService
579
620
  # Represents the output of the PutReportDefinition operation. The
580
621
  # content consists of the detailed metadata and data file information.
581
622
  #
623
+ # @option params [Array<Types::Tag>] :tags
624
+ # The tags to be assigned to the report definition resource.
625
+ #
582
626
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
583
627
  #
584
628
  #
@@ -613,7 +657,7 @@ module Aws::CostandUsageReportService
613
657
  # time_unit: "HOURLY", # required, accepts HOURLY, DAILY, MONTHLY
614
658
  # format: "textORcsv", # required, accepts textORcsv, Parquet
615
659
  # compression: "ZIP", # required, accepts ZIP, GZIP, Parquet
616
- # additional_schema_elements: ["RESOURCES"], # required, accepts RESOURCES, SPLIT_COST_ALLOCATION_DATA
660
+ # additional_schema_elements: ["RESOURCES"], # required, accepts RESOURCES, SPLIT_COST_ALLOCATION_DATA, MANUAL_DISCOUNT_COMPATIBILITY
617
661
  # s3_bucket: "S3Bucket", # required
618
662
  # s3_prefix: "S3Prefix", # required
619
663
  # s3_region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-northeast-1, ap-northeast-2, ap-northeast-3, ca-central-1, eu-central-1, eu-central-2, eu-west-1, eu-west-2, eu-west-3, eu-north-1, eu-south-1, eu-south-2, me-central-1, me-south-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2, cn-north-1, cn-northwest-1
@@ -621,7 +665,17 @@ module Aws::CostandUsageReportService
621
665
  # refresh_closed_reports: false,
622
666
  # report_versioning: "CREATE_NEW_REPORT", # accepts CREATE_NEW_REPORT, OVERWRITE_REPORT
623
667
  # billing_view_arn: "BillingViewArn",
668
+ # report_status: {
669
+ # last_delivery: "LastDelivery",
670
+ # last_status: "SUCCESS", # accepts SUCCESS, ERROR_PERMISSIONS, ERROR_NO_BUCKET
671
+ # },
624
672
  # },
673
+ # tags: [
674
+ # {
675
+ # key: "TagKey", # required
676
+ # value: "TagValue", # required
677
+ # },
678
+ # ],
625
679
  # })
626
680
  #
627
681
  # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/PutReportDefinition AWS API Documentation
@@ -633,6 +687,65 @@ module Aws::CostandUsageReportService
633
687
  req.send_request(options)
634
688
  end
635
689
 
690
+ # Associates a set of tags with a report definition.
691
+ #
692
+ # @option params [required, String] :report_name
693
+ # The report name of the report definition that tags are to be
694
+ # associated with.
695
+ #
696
+ # @option params [required, Array<Types::Tag>] :tags
697
+ # The tags to be assigned to the report definition resource.
698
+ #
699
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
700
+ #
701
+ # @example Request syntax with placeholder values
702
+ #
703
+ # resp = client.tag_resource({
704
+ # report_name: "ReportName", # required
705
+ # tags: [ # required
706
+ # {
707
+ # key: "TagKey", # required
708
+ # value: "TagValue", # required
709
+ # },
710
+ # ],
711
+ # })
712
+ #
713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/TagResource AWS API Documentation
714
+ #
715
+ # @overload tag_resource(params = {})
716
+ # @param [Hash] params ({})
717
+ def tag_resource(params = {}, options = {})
718
+ req = build_request(:tag_resource, params)
719
+ req.send_request(options)
720
+ end
721
+
722
+ # Disassociates a set of tags from a report definition.
723
+ #
724
+ # @option params [required, String] :report_name
725
+ # The report name of the report definition that tags are to be
726
+ # disassociated from.
727
+ #
728
+ # @option params [required, Array<String>] :tag_keys
729
+ # The tags to be disassociated from the report definition resource.
730
+ #
731
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
732
+ #
733
+ # @example Request syntax with placeholder values
734
+ #
735
+ # resp = client.untag_resource({
736
+ # report_name: "ReportName", # required
737
+ # tag_keys: ["TagKey"], # required
738
+ # })
739
+ #
740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/UntagResource AWS API Documentation
741
+ #
742
+ # @overload untag_resource(params = {})
743
+ # @param [Hash] params ({})
744
+ def untag_resource(params = {}, options = {})
745
+ req = build_request(:untag_resource, params)
746
+ req.send_request(options)
747
+ end
748
+
636
749
  # @!endgroup
637
750
 
638
751
  # @param params ({})
@@ -646,7 +759,7 @@ module Aws::CostandUsageReportService
646
759
  params: params,
647
760
  config: config)
648
761
  context[:gem_name] = 'aws-sdk-costandusagereportservice'
649
- context[:gem_version] = '1.50.0'
762
+ context[:gem_version] = '1.51.0'
650
763
  Seahorse::Client::Request.new(handlers, context)
651
764
  end
652
765
 
@@ -27,6 +27,10 @@ module Aws::CostandUsageReportService
27
27
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
28
28
  GenericString = Shapes::StringShape.new(name: 'GenericString')
29
29
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
30
+ LastDelivery = Shapes::StringShape.new(name: 'LastDelivery')
31
+ LastStatus = Shapes::StringShape.new(name: 'LastStatus')
32
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
33
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
30
34
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
31
35
  ModifyReportDefinitionRequest = Shapes::StructureShape.new(name: 'ModifyReportDefinitionRequest')
32
36
  ModifyReportDefinitionResponse = Shapes::StructureShape.new(name: 'ModifyReportDefinitionResponse')
@@ -38,17 +42,28 @@ module Aws::CostandUsageReportService
38
42
  ReportFormat = Shapes::StringShape.new(name: 'ReportFormat')
39
43
  ReportLimitReachedException = Shapes::StructureShape.new(name: 'ReportLimitReachedException')
40
44
  ReportName = Shapes::StringShape.new(name: 'ReportName')
45
+ ReportStatus = Shapes::StructureShape.new(name: 'ReportStatus')
41
46
  ReportVersioning = Shapes::StringShape.new(name: 'ReportVersioning')
47
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
42
48
  S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
43
49
  S3Prefix = Shapes::StringShape.new(name: 'S3Prefix')
44
50
  SchemaElement = Shapes::StringShape.new(name: 'SchemaElement')
45
51
  SchemaElementList = Shapes::ListShape.new(name: 'SchemaElementList')
52
+ Tag = Shapes::StructureShape.new(name: 'Tag')
53
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
54
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
55
+ TagList = Shapes::ListShape.new(name: 'TagList')
56
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
57
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
58
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
46
59
  TimeUnit = Shapes::StringShape.new(name: 'TimeUnit')
60
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
61
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
47
62
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
48
63
 
49
64
  AdditionalArtifactList.member = Shapes::ShapeRef.new(shape: AdditionalArtifact)
50
65
 
51
- DeleteReportDefinitionRequest.add_member(:report_name, Shapes::ShapeRef.new(shape: ReportName, location_name: "ReportName"))
66
+ DeleteReportDefinitionRequest.add_member(:report_name, Shapes::ShapeRef.new(shape: ReportName, required: true, location_name: "ReportName"))
52
67
  DeleteReportDefinitionRequest.struct_class = Types::DeleteReportDefinitionRequest
53
68
 
54
69
  DeleteReportDefinitionResponse.add_member(:response_message, Shapes::ShapeRef.new(shape: DeleteResponseMessage, location_name: "ResponseMessage"))
@@ -68,6 +83,12 @@ module Aws::CostandUsageReportService
68
83
  InternalErrorException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
69
84
  InternalErrorException.struct_class = Types::InternalErrorException
70
85
 
86
+ ListTagsForResourceRequest.add_member(:report_name, Shapes::ShapeRef.new(shape: ReportName, required: true, location_name: "ReportName"))
87
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
88
+
89
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
90
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
91
+
71
92
  ModifyReportDefinitionRequest.add_member(:report_name, Shapes::ShapeRef.new(shape: ReportName, required: true, location_name: "ReportName"))
72
93
  ModifyReportDefinitionRequest.add_member(:report_definition, Shapes::ShapeRef.new(shape: ReportDefinition, required: true, location_name: "ReportDefinition"))
73
94
  ModifyReportDefinitionRequest.struct_class = Types::ModifyReportDefinitionRequest
@@ -75,6 +96,7 @@ module Aws::CostandUsageReportService
75
96
  ModifyReportDefinitionResponse.struct_class = Types::ModifyReportDefinitionResponse
76
97
 
77
98
  PutReportDefinitionRequest.add_member(:report_definition, Shapes::ShapeRef.new(shape: ReportDefinition, required: true, location_name: "ReportDefinition"))
99
+ PutReportDefinitionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
78
100
  PutReportDefinitionRequest.struct_class = Types::PutReportDefinitionRequest
79
101
 
80
102
  PutReportDefinitionResponse.struct_class = Types::PutReportDefinitionResponse
@@ -91,6 +113,7 @@ module Aws::CostandUsageReportService
91
113
  ReportDefinition.add_member(:refresh_closed_reports, Shapes::ShapeRef.new(shape: RefreshClosedReports, location_name: "RefreshClosedReports"))
92
114
  ReportDefinition.add_member(:report_versioning, Shapes::ShapeRef.new(shape: ReportVersioning, location_name: "ReportVersioning"))
93
115
  ReportDefinition.add_member(:billing_view_arn, Shapes::ShapeRef.new(shape: BillingViewArn, location_name: "BillingViewArn"))
116
+ ReportDefinition.add_member(:report_status, Shapes::ShapeRef.new(shape: ReportStatus, location_name: "ReportStatus"))
94
117
  ReportDefinition.struct_class = Types::ReportDefinition
95
118
 
96
119
  ReportDefinitionList.member = Shapes::ShapeRef.new(shape: ReportDefinition)
@@ -98,8 +121,35 @@ module Aws::CostandUsageReportService
98
121
  ReportLimitReachedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
99
122
  ReportLimitReachedException.struct_class = Types::ReportLimitReachedException
100
123
 
124
+ ReportStatus.add_member(:last_delivery, Shapes::ShapeRef.new(shape: LastDelivery, location_name: "lastDelivery"))
125
+ ReportStatus.add_member(:last_status, Shapes::ShapeRef.new(shape: LastStatus, location_name: "lastStatus"))
126
+ ReportStatus.struct_class = Types::ReportStatus
127
+
128
+ ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
129
+ ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
130
+
101
131
  SchemaElementList.member = Shapes::ShapeRef.new(shape: SchemaElement)
102
132
 
133
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
134
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
135
+ Tag.struct_class = Types::Tag
136
+
137
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
138
+
139
+ TagList.member = Shapes::ShapeRef.new(shape: Tag)
140
+
141
+ TagResourceRequest.add_member(:report_name, Shapes::ShapeRef.new(shape: ReportName, required: true, location_name: "ReportName"))
142
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
143
+ TagResourceRequest.struct_class = Types::TagResourceRequest
144
+
145
+ TagResourceResponse.struct_class = Types::TagResourceResponse
146
+
147
+ UntagResourceRequest.add_member(:report_name, Shapes::ShapeRef.new(shape: ReportName, required: true, location_name: "ReportName"))
148
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
149
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
150
+
151
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
152
+
103
153
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
104
154
  ValidationException.struct_class = Types::ValidationException
105
155
 
@@ -147,6 +197,17 @@ module Aws::CostandUsageReportService
147
197
  )
148
198
  end)
149
199
 
200
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
201
+ o.name = "ListTagsForResource"
202
+ o.http_method = "POST"
203
+ o.http_request_uri = "/"
204
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
205
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
206
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
207
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
208
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
209
+ end)
210
+
150
211
  api.add_operation(:modify_report_definition, Seahorse::Model::Operation.new.tap do |o|
151
212
  o.name = "ModifyReportDefinition"
152
213
  o.http_method = "POST"
@@ -167,6 +228,29 @@ module Aws::CostandUsageReportService
167
228
  o.errors << Shapes::ShapeRef.new(shape: ReportLimitReachedException)
168
229
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
169
230
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
231
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
232
+ end)
233
+
234
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
235
+ o.name = "TagResource"
236
+ o.http_method = "POST"
237
+ o.http_request_uri = "/"
238
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
239
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
240
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
241
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
242
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
243
+ end)
244
+
245
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
246
+ o.name = "UntagResource"
247
+ o.http_method = "POST"
248
+ o.http_request_uri = "/"
249
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
250
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
251
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
252
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
253
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
170
254
  end)
171
255
  end
172
256
 
@@ -32,7 +32,7 @@ module Aws::CostandUsageReportService
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
36
  return Aws::Endpoints::Endpoint.new(url: "https://cur-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
37
  end
38
38
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -40,6 +40,20 @@ module Aws::CostandUsageReportService
40
40
  end
41
41
  end
42
42
 
43
+ class ListTagsForResource
44
+ def self.build(context)
45
+ unless context.config.regional_endpoint
46
+ endpoint = context.config.endpoint.to_s
47
+ end
48
+ Aws::CostandUsageReportService::EndpointParameters.new(
49
+ region: context.config.region,
50
+ use_dual_stack: context.config.use_dualstack_endpoint,
51
+ use_fips: context.config.use_fips_endpoint,
52
+ endpoint: endpoint,
53
+ )
54
+ end
55
+ end
56
+
43
57
  class ModifyReportDefinition
44
58
  def self.build(context)
45
59
  unless context.config.regional_endpoint
@@ -68,5 +82,33 @@ module Aws::CostandUsageReportService
68
82
  end
69
83
  end
70
84
 
85
+ class TagResource
86
+ def self.build(context)
87
+ unless context.config.regional_endpoint
88
+ endpoint = context.config.endpoint.to_s
89
+ end
90
+ Aws::CostandUsageReportService::EndpointParameters.new(
91
+ region: context.config.region,
92
+ use_dual_stack: context.config.use_dualstack_endpoint,
93
+ use_fips: context.config.use_fips_endpoint,
94
+ endpoint: endpoint,
95
+ )
96
+ end
97
+ end
98
+
99
+ class UntagResource
100
+ def self.build(context)
101
+ unless context.config.regional_endpoint
102
+ endpoint = context.config.endpoint.to_s
103
+ end
104
+ Aws::CostandUsageReportService::EndpointParameters.new(
105
+ region: context.config.region,
106
+ use_dual_stack: context.config.use_dualstack_endpoint,
107
+ use_fips: context.config.use_fips_endpoint,
108
+ endpoint: endpoint,
109
+ )
110
+ end
111
+ end
112
+
71
113
  end
72
114
  end
@@ -30,6 +30,7 @@ module Aws::CostandUsageReportService
30
30
  # * {DuplicateReportNameException}
31
31
  # * {InternalErrorException}
32
32
  # * {ReportLimitReachedException}
33
+ # * {ResourceNotFoundException}
33
34
  # * {ValidationException}
34
35
  #
35
36
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -83,6 +84,21 @@ module Aws::CostandUsageReportService
83
84
  end
84
85
  end
85
86
 
87
+ class ResourceNotFoundException < ServiceError
88
+
89
+ # @param [Seahorse::Client::RequestContext] context
90
+ # @param [String] message
91
+ # @param [Aws::CostandUsageReportService::Types::ResourceNotFoundException] data
92
+ def initialize(context, message, data = Aws::EmptyStructure.new)
93
+ super(context, message, data)
94
+ end
95
+
96
+ # @return [String]
97
+ def message
98
+ @message || @data[:message]
99
+ end
100
+ end
101
+
86
102
  class ValidationException < ServiceError
87
103
 
88
104
  # @param [Seahorse::Client::RequestContext] context
@@ -60,10 +60,16 @@ module Aws::CostandUsageReportService
60
60
  Aws::CostandUsageReportService::Endpoints::DeleteReportDefinition.build(context)
61
61
  when :describe_report_definitions
62
62
  Aws::CostandUsageReportService::Endpoints::DescribeReportDefinitions.build(context)
63
+ when :list_tags_for_resource
64
+ Aws::CostandUsageReportService::Endpoints::ListTagsForResource.build(context)
63
65
  when :modify_report_definition
64
66
  Aws::CostandUsageReportService::Endpoints::ModifyReportDefinition.build(context)
65
67
  when :put_report_definition
66
68
  Aws::CostandUsageReportService::Endpoints::PutReportDefinition.build(context)
69
+ when :tag_resource
70
+ Aws::CostandUsageReportService::Endpoints::TagResource.build(context)
71
+ when :untag_resource
72
+ Aws::CostandUsageReportService::Endpoints::UntagResource.build(context)
67
73
  end
68
74
  end
69
75
  end
@@ -40,10 +40,12 @@ module Aws::CostandUsageReportService
40
40
  include Aws::Structure
41
41
  end
42
42
 
43
- # Requests a list of AWS Cost and Usage reports owned by the account.
43
+ # Requests a Amazon Web Services Cost and Usage Report list owned by the
44
+ # account.
44
45
  #
45
46
  # @!attribute [rw] max_results
46
- # The maximum number of results that AWS returns for the operation.
47
+ # The maximum number of results that Amazon Web Services returns for
48
+ # the operation.
47
49
  # @return [Integer]
48
50
  #
49
51
  # @!attribute [rw] next_token
@@ -63,7 +65,8 @@ module Aws::CostandUsageReportService
63
65
  # response.
64
66
  #
65
67
  # @!attribute [rw] report_definitions
66
- # A list of AWS Cost and Usage reports owned by the account.
68
+ # An Amazon Web Services Cost and Usage Report list owned by the
69
+ # account.
67
70
  # @return [Array<Types::ReportDefinition>]
68
71
  #
69
72
  # @!attribute [rw] next_token
@@ -109,15 +112,41 @@ module Aws::CostandUsageReportService
109
112
  include Aws::Structure
110
113
  end
111
114
 
115
+ # @!attribute [rw] report_name
116
+ # The report name of the report definition that tags are to be
117
+ # returned for.
118
+ # @return [String]
119
+ #
120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ListTagsForResourceRequest AWS API Documentation
121
+ #
122
+ class ListTagsForResourceRequest < Struct.new(
123
+ :report_name)
124
+ SENSITIVE = []
125
+ include Aws::Structure
126
+ end
127
+
128
+ # @!attribute [rw] tags
129
+ # The tags assigned to the report definition resource.
130
+ # @return [Array<Types::Tag>]
131
+ #
132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ListTagsForResourceResponse AWS API Documentation
133
+ #
134
+ class ListTagsForResourceResponse < Struct.new(
135
+ :tags)
136
+ SENSITIVE = []
137
+ include Aws::Structure
138
+ end
139
+
112
140
  # @!attribute [rw] report_name
113
141
  # The name of the report that you want to create. The name must be
114
142
  # unique, is case sensitive, and can't include spaces.
115
143
  # @return [String]
116
144
  #
117
145
  # @!attribute [rw] report_definition
118
- # The definition of AWS Cost and Usage Report. You can specify the
119
- # report name, time unit, report format, compression format, S3
120
- # bucket, additional artifacts, and schema elements in the definition.
146
+ # The definition of Amazon Web Services Cost and Usage Report. You can
147
+ # specify the report name, time unit, report format, compression
148
+ # format, S3 bucket, additional artifacts, and schema elements in the
149
+ # definition.
121
150
  # @return [Types::ReportDefinition]
122
151
  #
123
152
  # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ModifyReportDefinitionRequest AWS API Documentation
@@ -140,10 +169,15 @@ module Aws::CostandUsageReportService
140
169
  # content consists of the detailed metadata and data file information.
141
170
  # @return [Types::ReportDefinition]
142
171
  #
172
+ # @!attribute [rw] tags
173
+ # The tags to be assigned to the report definition resource.
174
+ # @return [Array<Types::Tag>]
175
+ #
143
176
  # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/PutReportDefinitionRequest AWS API Documentation
144
177
  #
145
178
  class PutReportDefinitionRequest < Struct.new(
146
- :report_definition)
179
+ :report_definition,
180
+ :tags)
147
181
  SENSITIVE = []
148
182
  include Aws::Structure
149
183
  end
@@ -155,9 +189,10 @@ module Aws::CostandUsageReportService
155
189
  #
156
190
  class PutReportDefinitionResponse < Aws::EmptyStructure; end
157
191
 
158
- # The definition of AWS Cost and Usage Report. You can specify the
159
- # report name, time unit, report format, compression format, S3 bucket,
160
- # additional artifacts, and schema elements in the definition.
192
+ # The definition of Amazon Web Services Cost and Usage Report. You can
193
+ # specify the report name, time unit, report format, compression format,
194
+ # S3 bucket, additional artifacts, and schema elements in the
195
+ # definition.
161
196
  #
162
197
  # @!attribute [rw] report_name
163
198
  # The name of the report that you want to create. The name must be
@@ -169,11 +204,11 @@ module Aws::CostandUsageReportService
169
204
  # @return [String]
170
205
  #
171
206
  # @!attribute [rw] format
172
- # The format that AWS saves the report in.
207
+ # The format that Amazon Web Services saves the report in.
173
208
  # @return [String]
174
209
  #
175
210
  # @!attribute [rw] compression
176
- # The compression format that AWS uses for the report.
211
+ # The compression format that Amazon Web Services uses for the report.
177
212
  # @return [String]
178
213
  #
179
214
  # @!attribute [rw] additional_schema_elements
@@ -182,16 +217,18 @@ module Aws::CostandUsageReportService
182
217
  # @return [Array<String>]
183
218
  #
184
219
  # @!attribute [rw] s3_bucket
185
- # The S3 bucket where AWS delivers the report.
220
+ # The S3 bucket where Amazon Web Services delivers the report.
186
221
  # @return [String]
187
222
  #
188
223
  # @!attribute [rw] s3_prefix
189
- # The prefix that AWS adds to the report name when AWS delivers the
190
- # report. Your prefix can't include spaces.
224
+ # The prefix that Amazon Web Services adds to the report name when
225
+ # Amazon Web Services delivers the report. Your prefix can't include
226
+ # spaces.
191
227
  # @return [String]
192
228
  #
193
229
  # @!attribute [rw] s3_region
194
- # The region of the S3 bucket that AWS delivers the report into.
230
+ # The region of the S3 bucket that Amazon Web Services delivers the
231
+ # report into.
195
232
  # @return [String]
196
233
  #
197
234
  # @!attribute [rw] additional_artifacts
@@ -213,10 +250,18 @@ module Aws::CostandUsageReportService
213
250
  # @return [String]
214
251
  #
215
252
  # @!attribute [rw] billing_view_arn
216
- # The Amazon resource name of the billing view. You can get this value
217
- # by using the billing view service public APIs.
253
+ # The Amazon resource name of the billing view. The `BillingViewArn`
254
+ # is needed to create Amazon Web Services Cost and Usage Report for
255
+ # each billing group maintained in the Amazon Web Services Billing
256
+ # Conductor service. The `BillingViewArn` for a billing group can be
257
+ # constructed as:
258
+ # `arn:aws:billing::payer-account-id:billingview/billing-group-primary-account-id`
218
259
  # @return [String]
219
260
  #
261
+ # @!attribute [rw] report_status
262
+ # The status of the report.
263
+ # @return [Types::ReportStatus]
264
+ #
220
265
  # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ReportDefinition AWS API Documentation
221
266
  #
222
267
  class ReportDefinition < Struct.new(
@@ -231,7 +276,8 @@ module Aws::CostandUsageReportService
231
276
  :additional_artifacts,
232
277
  :refresh_closed_reports,
233
278
  :report_versioning,
234
- :billing_view_arn)
279
+ :billing_view_arn,
280
+ :report_status)
235
281
  SENSITIVE = []
236
282
  include Aws::Structure
237
283
  end
@@ -251,8 +297,111 @@ module Aws::CostandUsageReportService
251
297
  include Aws::Structure
252
298
  end
253
299
 
254
- # The input fails to satisfy the constraints specified by an AWS
255
- # service.
300
+ # A two element dictionary with a `lastDelivery` and `lastStatus` key
301
+ # whose values describe the date and status of the last delivered report
302
+ # for a particular report definition.
303
+ #
304
+ # @!attribute [rw] last_delivery
305
+ # A timestamp that gives the date of a report delivery.
306
+ # @return [String]
307
+ #
308
+ # @!attribute [rw] last_status
309
+ # An enum that gives the status of a report delivery.
310
+ # @return [String]
311
+ #
312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ReportStatus AWS API Documentation
313
+ #
314
+ class ReportStatus < Struct.new(
315
+ :last_delivery,
316
+ :last_status)
317
+ SENSITIVE = []
318
+ include Aws::Structure
319
+ end
320
+
321
+ # The specified report (`ReportName`) in the request doesn't exist.
322
+ #
323
+ # @!attribute [rw] message
324
+ # A message to show the detail of the exception.
325
+ # @return [String]
326
+ #
327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ResourceNotFoundException AWS API Documentation
328
+ #
329
+ class ResourceNotFoundException < Struct.new(
330
+ :message)
331
+ SENSITIVE = []
332
+ include Aws::Structure
333
+ end
334
+
335
+ # Describes a tag. A tag is a key-value pair. You can add up to 50 tags
336
+ # to a report definition.
337
+ #
338
+ # @!attribute [rw] key
339
+ # The key of the tag. Tag keys are case sensitive. Each report
340
+ # definition can only have up to one tag with the same key. If you try
341
+ # to add an existing tag with the same key, the existing tag value
342
+ # will be updated to the new value.
343
+ # @return [String]
344
+ #
345
+ # @!attribute [rw] value
346
+ # The value of the tag. Tag values are case-sensitive. This can be an
347
+ # empty string.
348
+ # @return [String]
349
+ #
350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/Tag AWS API Documentation
351
+ #
352
+ class Tag < Struct.new(
353
+ :key,
354
+ :value)
355
+ SENSITIVE = []
356
+ include Aws::Structure
357
+ end
358
+
359
+ # @!attribute [rw] report_name
360
+ # The report name of the report definition that tags are to be
361
+ # associated with.
362
+ # @return [String]
363
+ #
364
+ # @!attribute [rw] tags
365
+ # The tags to be assigned to the report definition resource.
366
+ # @return [Array<Types::Tag>]
367
+ #
368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/TagResourceRequest AWS API Documentation
369
+ #
370
+ class TagResourceRequest < Struct.new(
371
+ :report_name,
372
+ :tags)
373
+ SENSITIVE = []
374
+ include Aws::Structure
375
+ end
376
+
377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/TagResourceResponse AWS API Documentation
378
+ #
379
+ class TagResourceResponse < Aws::EmptyStructure; end
380
+
381
+ # @!attribute [rw] report_name
382
+ # The report name of the report definition that tags are to be
383
+ # disassociated from.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] tag_keys
387
+ # The tags to be disassociated from the report definition resource.
388
+ # @return [Array<String>]
389
+ #
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/UntagResourceRequest AWS API Documentation
391
+ #
392
+ class UntagResourceRequest < Struct.new(
393
+ :report_name,
394
+ :tag_keys)
395
+ SENSITIVE = []
396
+ include Aws::Structure
397
+ end
398
+
399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/UntagResourceResponse AWS API Documentation
400
+ #
401
+ class UntagResourceResponse < Aws::EmptyStructure; end
402
+
403
+ # The input fails to satisfy the constraints specified by an Amazon Web
404
+ # Services service.
256
405
  #
257
406
  # @!attribute [rw] message
258
407
  # A message to show the detail of the exception.
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-costandusagereportservice/customizations'
52
52
  # @!group service
53
53
  module Aws::CostandUsageReportService
54
54
 
55
- GEM_VERSION = '1.50.0'
55
+ GEM_VERSION = '1.51.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-costandusagereportservice
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.50.0
4
+ version: 1.51.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-27 00:00:00.000000000 Z
11
+ date: 2023-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core