aws-sdk-applicationcostprofiler 1.0.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.
@@ -0,0 +1,237 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ApplicationCostProfiler
11
+ # @api private
12
+ module ClientApi
13
+
14
+ include Seahorse::Model
15
+
16
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ DeleteReportDefinitionRequest = Shapes::StructureShape.new(name: 'DeleteReportDefinitionRequest')
18
+ DeleteReportDefinitionResult = Shapes::StructureShape.new(name: 'DeleteReportDefinitionResult')
19
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
20
+ Format = Shapes::StringShape.new(name: 'Format')
21
+ GetReportDefinitionRequest = Shapes::StructureShape.new(name: 'GetReportDefinitionRequest')
22
+ GetReportDefinitionResult = Shapes::StructureShape.new(name: 'GetReportDefinitionResult')
23
+ ImportApplicationUsageRequest = Shapes::StructureShape.new(name: 'ImportApplicationUsageRequest')
24
+ ImportApplicationUsageResult = Shapes::StructureShape.new(name: 'ImportApplicationUsageResult')
25
+ ImportId = Shapes::StringShape.new(name: 'ImportId')
26
+ Integer = Shapes::IntegerShape.new(name: 'Integer')
27
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
28
+ ListReportDefinitionsRequest = Shapes::StructureShape.new(name: 'ListReportDefinitionsRequest')
29
+ ListReportDefinitionsResult = Shapes::StructureShape.new(name: 'ListReportDefinitionsResult')
30
+ PutReportDefinitionRequest = Shapes::StructureShape.new(name: 'PutReportDefinitionRequest')
31
+ PutReportDefinitionResult = Shapes::StructureShape.new(name: 'PutReportDefinitionResult')
32
+ ReportDefinition = Shapes::StructureShape.new(name: 'ReportDefinition')
33
+ ReportDefinitionList = Shapes::ListShape.new(name: 'ReportDefinitionList')
34
+ ReportDescription = Shapes::StringShape.new(name: 'ReportDescription')
35
+ ReportFrequency = Shapes::StringShape.new(name: 'ReportFrequency')
36
+ ReportId = Shapes::StringShape.new(name: 'ReportId')
37
+ S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
38
+ S3BucketRegion = Shapes::StringShape.new(name: 'S3BucketRegion')
39
+ S3Key = Shapes::StringShape.new(name: 'S3Key')
40
+ S3Location = Shapes::StructureShape.new(name: 'S3Location')
41
+ S3Prefix = Shapes::StringShape.new(name: 'S3Prefix')
42
+ ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
43
+ SourceS3Location = Shapes::StructureShape.new(name: 'SourceS3Location')
44
+ ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
45
+ Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
46
+ Token = Shapes::StringShape.new(name: 'Token')
47
+ UpdateReportDefinitionRequest = Shapes::StructureShape.new(name: 'UpdateReportDefinitionRequest')
48
+ UpdateReportDefinitionResult = Shapes::StructureShape.new(name: 'UpdateReportDefinitionResult')
49
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
50
+
51
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
52
+ AccessDeniedException.struct_class = Types::AccessDeniedException
53
+
54
+ DeleteReportDefinitionRequest.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, required: true, location: "uri", location_name: "reportId"))
55
+ DeleteReportDefinitionRequest.struct_class = Types::DeleteReportDefinitionRequest
56
+
57
+ DeleteReportDefinitionResult.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, location_name: "reportId"))
58
+ DeleteReportDefinitionResult.struct_class = Types::DeleteReportDefinitionResult
59
+
60
+ GetReportDefinitionRequest.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, required: true, location: "uri", location_name: "reportId"))
61
+ GetReportDefinitionRequest.struct_class = Types::GetReportDefinitionRequest
62
+
63
+ GetReportDefinitionResult.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, required: true, location_name: "reportId"))
64
+ GetReportDefinitionResult.add_member(:report_description, Shapes::ShapeRef.new(shape: ReportDescription, required: true, location_name: "reportDescription"))
65
+ GetReportDefinitionResult.add_member(:report_frequency, Shapes::ShapeRef.new(shape: ReportFrequency, required: true, location_name: "reportFrequency"))
66
+ GetReportDefinitionResult.add_member(:format, Shapes::ShapeRef.new(shape: Format, required: true, location_name: "format"))
67
+ GetReportDefinitionResult.add_member(:destination_s3_location, Shapes::ShapeRef.new(shape: S3Location, required: true, location_name: "destinationS3Location"))
68
+ GetReportDefinitionResult.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "createdAt"))
69
+ GetReportDefinitionResult.add_member(:last_updated, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "lastUpdated"))
70
+ GetReportDefinitionResult.struct_class = Types::GetReportDefinitionResult
71
+
72
+ ImportApplicationUsageRequest.add_member(:source_s3_location, Shapes::ShapeRef.new(shape: SourceS3Location, required: true, location_name: "sourceS3Location"))
73
+ ImportApplicationUsageRequest.struct_class = Types::ImportApplicationUsageRequest
74
+
75
+ ImportApplicationUsageResult.add_member(:import_id, Shapes::ShapeRef.new(shape: ImportId, required: true, location_name: "importId"))
76
+ ImportApplicationUsageResult.struct_class = Types::ImportApplicationUsageResult
77
+
78
+ InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
79
+ InternalServerException.struct_class = Types::InternalServerException
80
+
81
+ ListReportDefinitionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "nextToken"))
82
+ ListReportDefinitionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location: "querystring", location_name: "maxResults"))
83
+ ListReportDefinitionsRequest.struct_class = Types::ListReportDefinitionsRequest
84
+
85
+ ListReportDefinitionsResult.add_member(:report_definitions, Shapes::ShapeRef.new(shape: ReportDefinitionList, location_name: "reportDefinitions"))
86
+ ListReportDefinitionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "nextToken"))
87
+ ListReportDefinitionsResult.struct_class = Types::ListReportDefinitionsResult
88
+
89
+ PutReportDefinitionRequest.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, required: true, location_name: "reportId"))
90
+ PutReportDefinitionRequest.add_member(:report_description, Shapes::ShapeRef.new(shape: ReportDescription, required: true, location_name: "reportDescription"))
91
+ PutReportDefinitionRequest.add_member(:report_frequency, Shapes::ShapeRef.new(shape: ReportFrequency, required: true, location_name: "reportFrequency"))
92
+ PutReportDefinitionRequest.add_member(:format, Shapes::ShapeRef.new(shape: Format, required: true, location_name: "format"))
93
+ PutReportDefinitionRequest.add_member(:destination_s3_location, Shapes::ShapeRef.new(shape: S3Location, required: true, location_name: "destinationS3Location"))
94
+ PutReportDefinitionRequest.struct_class = Types::PutReportDefinitionRequest
95
+
96
+ PutReportDefinitionResult.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, location_name: "reportId"))
97
+ PutReportDefinitionResult.struct_class = Types::PutReportDefinitionResult
98
+
99
+ ReportDefinition.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, location_name: "reportId"))
100
+ ReportDefinition.add_member(:report_description, Shapes::ShapeRef.new(shape: ReportDescription, location_name: "reportDescription"))
101
+ ReportDefinition.add_member(:report_frequency, Shapes::ShapeRef.new(shape: ReportFrequency, location_name: "reportFrequency"))
102
+ ReportDefinition.add_member(:format, Shapes::ShapeRef.new(shape: Format, location_name: "format"))
103
+ ReportDefinition.add_member(:destination_s3_location, Shapes::ShapeRef.new(shape: S3Location, location_name: "destinationS3Location"))
104
+ ReportDefinition.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
105
+ ReportDefinition.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastUpdatedAt"))
106
+ ReportDefinition.struct_class = Types::ReportDefinition
107
+
108
+ ReportDefinitionList.member = Shapes::ShapeRef.new(shape: ReportDefinition)
109
+
110
+ S3Location.add_member(:bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "bucket"))
111
+ S3Location.add_member(:prefix, Shapes::ShapeRef.new(shape: S3Prefix, required: true, location_name: "prefix"))
112
+ S3Location.struct_class = Types::S3Location
113
+
114
+ ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
115
+ ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
116
+
117
+ SourceS3Location.add_member(:bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "bucket"))
118
+ SourceS3Location.add_member(:key, Shapes::ShapeRef.new(shape: S3Key, required: true, location_name: "key"))
119
+ SourceS3Location.add_member(:region, Shapes::ShapeRef.new(shape: S3BucketRegion, location_name: "region"))
120
+ SourceS3Location.struct_class = Types::SourceS3Location
121
+
122
+ ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
123
+ ThrottlingException.struct_class = Types::ThrottlingException
124
+
125
+ UpdateReportDefinitionRequest.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, required: true, location: "uri", location_name: "reportId"))
126
+ UpdateReportDefinitionRequest.add_member(:report_description, Shapes::ShapeRef.new(shape: ReportDescription, required: true, location_name: "reportDescription"))
127
+ UpdateReportDefinitionRequest.add_member(:report_frequency, Shapes::ShapeRef.new(shape: ReportFrequency, required: true, location_name: "reportFrequency"))
128
+ UpdateReportDefinitionRequest.add_member(:format, Shapes::ShapeRef.new(shape: Format, required: true, location_name: "format"))
129
+ UpdateReportDefinitionRequest.add_member(:destination_s3_location, Shapes::ShapeRef.new(shape: S3Location, required: true, location_name: "destinationS3Location"))
130
+ UpdateReportDefinitionRequest.struct_class = Types::UpdateReportDefinitionRequest
131
+
132
+ UpdateReportDefinitionResult.add_member(:report_id, Shapes::ShapeRef.new(shape: ReportId, location_name: "reportId"))
133
+ UpdateReportDefinitionResult.struct_class = Types::UpdateReportDefinitionResult
134
+
135
+ ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
136
+ ValidationException.struct_class = Types::ValidationException
137
+
138
+
139
+ # @api private
140
+ API = Seahorse::Model::Api.new.tap do |api|
141
+
142
+ api.version = "2020-09-10"
143
+
144
+ api.metadata = {
145
+ "apiVersion" => "2020-09-10",
146
+ "endpointPrefix" => "application-cost-profiler",
147
+ "jsonVersion" => "1.1",
148
+ "protocol" => "rest-json",
149
+ "serviceFullName" => "AWS Application Cost Profiler",
150
+ "serviceId" => "ApplicationCostProfiler",
151
+ "signatureVersion" => "v4",
152
+ "signingName" => "application-cost-profiler",
153
+ "uid" => "AWSApplicationCostProfiler-2020-09-10",
154
+ }
155
+
156
+ api.add_operation(:delete_report_definition, Seahorse::Model::Operation.new.tap do |o|
157
+ o.name = "DeleteReportDefinition"
158
+ o.http_method = "DELETE"
159
+ o.http_request_uri = "/reportDefinition/{reportId}"
160
+ o.input = Shapes::ShapeRef.new(shape: DeleteReportDefinitionRequest)
161
+ o.output = Shapes::ShapeRef.new(shape: DeleteReportDefinitionResult)
162
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
163
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
164
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
165
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
166
+ end)
167
+
168
+ api.add_operation(:get_report_definition, Seahorse::Model::Operation.new.tap do |o|
169
+ o.name = "GetReportDefinition"
170
+ o.http_method = "GET"
171
+ o.http_request_uri = "/reportDefinition/{reportId}"
172
+ o.input = Shapes::ShapeRef.new(shape: GetReportDefinitionRequest)
173
+ o.output = Shapes::ShapeRef.new(shape: GetReportDefinitionResult)
174
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
175
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
176
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
177
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
178
+ end)
179
+
180
+ api.add_operation(:import_application_usage, Seahorse::Model::Operation.new.tap do |o|
181
+ o.name = "ImportApplicationUsage"
182
+ o.http_method = "POST"
183
+ o.http_request_uri = "/importApplicationUsage"
184
+ o.input = Shapes::ShapeRef.new(shape: ImportApplicationUsageRequest)
185
+ o.output = Shapes::ShapeRef.new(shape: ImportApplicationUsageResult)
186
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
187
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
188
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
189
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
190
+ end)
191
+
192
+ api.add_operation(:list_report_definitions, Seahorse::Model::Operation.new.tap do |o|
193
+ o.name = "ListReportDefinitions"
194
+ o.http_method = "GET"
195
+ o.http_request_uri = "/reportDefinition"
196
+ o.input = Shapes::ShapeRef.new(shape: ListReportDefinitionsRequest)
197
+ o.output = Shapes::ShapeRef.new(shape: ListReportDefinitionsResult)
198
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
199
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
200
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
201
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
202
+ o[:pager] = Aws::Pager.new(
203
+ limit_key: "max_results",
204
+ tokens: {
205
+ "next_token" => "next_token"
206
+ }
207
+ )
208
+ end)
209
+
210
+ api.add_operation(:put_report_definition, Seahorse::Model::Operation.new.tap do |o|
211
+ o.name = "PutReportDefinition"
212
+ o.http_method = "POST"
213
+ o.http_request_uri = "/reportDefinition"
214
+ o.input = Shapes::ShapeRef.new(shape: PutReportDefinitionRequest)
215
+ o.output = Shapes::ShapeRef.new(shape: PutReportDefinitionResult)
216
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
217
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
218
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
219
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
220
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
221
+ end)
222
+
223
+ api.add_operation(:update_report_definition, Seahorse::Model::Operation.new.tap do |o|
224
+ o.name = "UpdateReportDefinition"
225
+ o.http_method = "PUT"
226
+ o.http_request_uri = "/reportDefinition/{reportId}"
227
+ o.input = Shapes::ShapeRef.new(shape: UpdateReportDefinitionRequest)
228
+ o.output = Shapes::ShapeRef.new(shape: UpdateReportDefinitionResult)
229
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
230
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
231
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
232
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
233
+ end)
234
+ end
235
+
236
+ end
237
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ApplicationCostProfiler
11
+
12
+ # When ApplicationCostProfiler returns an error response, the Ruby SDK constructs and raises an error.
13
+ # These errors all extend Aws::ApplicationCostProfiler::Errors::ServiceError < {Aws::Errors::ServiceError}
14
+ #
15
+ # You can rescue all ApplicationCostProfiler errors using ServiceError:
16
+ #
17
+ # begin
18
+ # # do stuff
19
+ # rescue Aws::ApplicationCostProfiler::Errors::ServiceError
20
+ # # rescues all ApplicationCostProfiler API errors
21
+ # end
22
+ #
23
+ #
24
+ # ## Request Context
25
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
26
+ # information about the request that generated the error.
27
+ # See {Seahorse::Client::RequestContext} for more information.
28
+ #
29
+ # ## Error Classes
30
+ # * {AccessDeniedException}
31
+ # * {InternalServerException}
32
+ # * {ServiceQuotaExceededException}
33
+ # * {ThrottlingException}
34
+ # * {ValidationException}
35
+ #
36
+ # Additionally, error classes are dynamically generated for service errors based on the error code
37
+ # if they are not defined above.
38
+ module Errors
39
+
40
+ extend Aws::Errors::DynamicErrors
41
+
42
+ class AccessDeniedException < ServiceError
43
+
44
+ # @param [Seahorse::Client::RequestContext] context
45
+ # @param [String] message
46
+ # @param [Aws::ApplicationCostProfiler::Types::AccessDeniedException] data
47
+ def initialize(context, message, data = Aws::EmptyStructure.new)
48
+ super(context, message, data)
49
+ end
50
+
51
+ # @return [String]
52
+ def message
53
+ @message || @data[:message]
54
+ end
55
+ end
56
+
57
+ class InternalServerException < ServiceError
58
+
59
+ # @param [Seahorse::Client::RequestContext] context
60
+ # @param [String] message
61
+ # @param [Aws::ApplicationCostProfiler::Types::InternalServerException] data
62
+ def initialize(context, message, data = Aws::EmptyStructure.new)
63
+ super(context, message, data)
64
+ end
65
+
66
+ # @return [String]
67
+ def message
68
+ @message || @data[:message]
69
+ end
70
+ end
71
+
72
+ class ServiceQuotaExceededException < ServiceError
73
+
74
+ # @param [Seahorse::Client::RequestContext] context
75
+ # @param [String] message
76
+ # @param [Aws::ApplicationCostProfiler::Types::ServiceQuotaExceededException] data
77
+ def initialize(context, message, data = Aws::EmptyStructure.new)
78
+ super(context, message, data)
79
+ end
80
+
81
+ # @return [String]
82
+ def message
83
+ @message || @data[:message]
84
+ end
85
+ end
86
+
87
+ class ThrottlingException < ServiceError
88
+
89
+ # @param [Seahorse::Client::RequestContext] context
90
+ # @param [String] message
91
+ # @param [Aws::ApplicationCostProfiler::Types::ThrottlingException] 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
+
102
+ class ValidationException < ServiceError
103
+
104
+ # @param [Seahorse::Client::RequestContext] context
105
+ # @param [String] message
106
+ # @param [Aws::ApplicationCostProfiler::Types::ValidationException] data
107
+ def initialize(context, message, data = Aws::EmptyStructure.new)
108
+ super(context, message, data)
109
+ end
110
+
111
+ # @return [String]
112
+ def message
113
+ @message || @data[:message]
114
+ end
115
+ end
116
+
117
+ end
118
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ApplicationCostProfiler
11
+
12
+ class Resource
13
+
14
+ # @param options ({})
15
+ # @option options [Client] :client
16
+ def initialize(options = {})
17
+ @client = options[:client] || Client.new(options)
18
+ end
19
+
20
+ # @return [Client]
21
+ def client
22
+ @client
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,488 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ApplicationCostProfiler
11
+ module Types
12
+
13
+ # You do not have permission to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # @note When making an API call, you may pass DeleteReportDefinitionRequest
27
+ # data as a hash:
28
+ #
29
+ # {
30
+ # report_id: "ReportId", # required
31
+ # }
32
+ #
33
+ # @!attribute [rw] report_id
34
+ # Required. ID of the report to delete.
35
+ # @return [String]
36
+ #
37
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/DeleteReportDefinitionRequest AWS API Documentation
38
+ #
39
+ class DeleteReportDefinitionRequest < Struct.new(
40
+ :report_id)
41
+ SENSITIVE = []
42
+ include Aws::Structure
43
+ end
44
+
45
+ # @!attribute [rw] report_id
46
+ # ID of the report that was deleted.
47
+ # @return [String]
48
+ #
49
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/DeleteReportDefinitionResult AWS API Documentation
50
+ #
51
+ class DeleteReportDefinitionResult < Struct.new(
52
+ :report_id)
53
+ SENSITIVE = []
54
+ include Aws::Structure
55
+ end
56
+
57
+ # @note When making an API call, you may pass GetReportDefinitionRequest
58
+ # data as a hash:
59
+ #
60
+ # {
61
+ # report_id: "ReportId", # required
62
+ # }
63
+ #
64
+ # @!attribute [rw] report_id
65
+ # ID of the report to retrieve.
66
+ # @return [String]
67
+ #
68
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/GetReportDefinitionRequest AWS API Documentation
69
+ #
70
+ class GetReportDefinitionRequest < Struct.new(
71
+ :report_id)
72
+ SENSITIVE = []
73
+ include Aws::Structure
74
+ end
75
+
76
+ # @!attribute [rw] report_id
77
+ # ID of the report retrieved.
78
+ # @return [String]
79
+ #
80
+ # @!attribute [rw] report_description
81
+ # Description of the report.
82
+ # @return [String]
83
+ #
84
+ # @!attribute [rw] report_frequency
85
+ # Cadence used to generate the report.
86
+ # @return [String]
87
+ #
88
+ # @!attribute [rw] format
89
+ # Format of the generated report.
90
+ # @return [String]
91
+ #
92
+ # @!attribute [rw] destination_s3_location
93
+ # Amazon Simple Storage Service (Amazon S3) location where the report
94
+ # is uploaded.
95
+ # @return [Types::S3Location]
96
+ #
97
+ # @!attribute [rw] created_at
98
+ # Timestamp (milliseconds) when this report definition was created.
99
+ # @return [Time]
100
+ #
101
+ # @!attribute [rw] last_updated
102
+ # Timestamp (milliseconds) when this report definition was last
103
+ # updated.
104
+ # @return [Time]
105
+ #
106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/GetReportDefinitionResult AWS API Documentation
107
+ #
108
+ class GetReportDefinitionResult < Struct.new(
109
+ :report_id,
110
+ :report_description,
111
+ :report_frequency,
112
+ :format,
113
+ :destination_s3_location,
114
+ :created_at,
115
+ :last_updated)
116
+ SENSITIVE = []
117
+ include Aws::Structure
118
+ end
119
+
120
+ # @note When making an API call, you may pass ImportApplicationUsageRequest
121
+ # data as a hash:
122
+ #
123
+ # {
124
+ # source_s3_location: { # required
125
+ # bucket: "S3Bucket", # required
126
+ # key: "S3Key", # required
127
+ # region: "ap-east-1", # accepts ap-east-1, me-south-1, eu-south-1, af-south-1
128
+ # },
129
+ # }
130
+ #
131
+ # @!attribute [rw] source_s3_location
132
+ # Amazon S3 location to import application usage data from.
133
+ # @return [Types::SourceS3Location]
134
+ #
135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ImportApplicationUsageRequest AWS API Documentation
136
+ #
137
+ class ImportApplicationUsageRequest < Struct.new(
138
+ :source_s3_location)
139
+ SENSITIVE = []
140
+ include Aws::Structure
141
+ end
142
+
143
+ # @!attribute [rw] import_id
144
+ # ID of the import request.
145
+ # @return [String]
146
+ #
147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ImportApplicationUsageResult AWS API Documentation
148
+ #
149
+ class ImportApplicationUsageResult < Struct.new(
150
+ :import_id)
151
+ SENSITIVE = []
152
+ include Aws::Structure
153
+ end
154
+
155
+ # An internal server error occurred. Retry your request.
156
+ #
157
+ # @!attribute [rw] message
158
+ # @return [String]
159
+ #
160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/InternalServerException AWS API Documentation
161
+ #
162
+ class InternalServerException < Struct.new(
163
+ :message)
164
+ SENSITIVE = []
165
+ include Aws::Structure
166
+ end
167
+
168
+ # @note When making an API call, you may pass ListReportDefinitionsRequest
169
+ # data as a hash:
170
+ #
171
+ # {
172
+ # next_token: "Token",
173
+ # max_results: 1,
174
+ # }
175
+ #
176
+ # @!attribute [rw] next_token
177
+ # The token value from a previous call to access the next page of
178
+ # results.
179
+ # @return [String]
180
+ #
181
+ # @!attribute [rw] max_results
182
+ # The maximum number of results to return.
183
+ # @return [Integer]
184
+ #
185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ListReportDefinitionsRequest AWS API Documentation
186
+ #
187
+ class ListReportDefinitionsRequest < Struct.new(
188
+ :next_token,
189
+ :max_results)
190
+ SENSITIVE = []
191
+ include Aws::Structure
192
+ end
193
+
194
+ # @!attribute [rw] report_definitions
195
+ # The retrieved reports.
196
+ # @return [Array<Types::ReportDefinition>]
197
+ #
198
+ # @!attribute [rw] next_token
199
+ # The value of the next token, if it exists. Null if there are no more
200
+ # results.
201
+ # @return [String]
202
+ #
203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ListReportDefinitionsResult AWS API Documentation
204
+ #
205
+ class ListReportDefinitionsResult < Struct.new(
206
+ :report_definitions,
207
+ :next_token)
208
+ SENSITIVE = []
209
+ include Aws::Structure
210
+ end
211
+
212
+ # @note When making an API call, you may pass PutReportDefinitionRequest
213
+ # data as a hash:
214
+ #
215
+ # {
216
+ # report_id: "ReportId", # required
217
+ # report_description: "ReportDescription", # required
218
+ # report_frequency: "MONTHLY", # required, accepts MONTHLY, DAILY, ALL
219
+ # format: "CSV", # required, accepts CSV, PARQUET
220
+ # destination_s3_location: { # required
221
+ # bucket: "S3Bucket", # required
222
+ # prefix: "S3Prefix", # required
223
+ # },
224
+ # }
225
+ #
226
+ # @!attribute [rw] report_id
227
+ # Required. ID of the report. You can choose any valid string matching
228
+ # the pattern for the ID.
229
+ # @return [String]
230
+ #
231
+ # @!attribute [rw] report_description
232
+ # Required. Description of the report.
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] report_frequency
236
+ # Required. The cadence to generate the report.
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] format
240
+ # Required. The format to use for the generated report.
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] destination_s3_location
244
+ # Required. Amazon Simple Storage Service (Amazon S3) location where
245
+ # Application Cost Profiler uploads the report.
246
+ # @return [Types::S3Location]
247
+ #
248
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/PutReportDefinitionRequest AWS API Documentation
249
+ #
250
+ class PutReportDefinitionRequest < Struct.new(
251
+ :report_id,
252
+ :report_description,
253
+ :report_frequency,
254
+ :format,
255
+ :destination_s3_location)
256
+ SENSITIVE = []
257
+ include Aws::Structure
258
+ end
259
+
260
+ # @!attribute [rw] report_id
261
+ # ID of the report.
262
+ # @return [String]
263
+ #
264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/PutReportDefinitionResult AWS API Documentation
265
+ #
266
+ class PutReportDefinitionResult < Struct.new(
267
+ :report_id)
268
+ SENSITIVE = []
269
+ include Aws::Structure
270
+ end
271
+
272
+ # The configuration of a report in AWS Application Cost Profiler.
273
+ #
274
+ # @!attribute [rw] report_id
275
+ # The ID of the report.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] report_description
279
+ # Description of the report
280
+ # @return [String]
281
+ #
282
+ # @!attribute [rw] report_frequency
283
+ # The cadence at which the report is generated.
284
+ # @return [String]
285
+ #
286
+ # @!attribute [rw] format
287
+ # The format used for the generated reports.
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] destination_s3_location
291
+ # The location in Amazon Simple Storage Service (Amazon S3) the
292
+ # reports should be saved to.
293
+ # @return [Types::S3Location]
294
+ #
295
+ # @!attribute [rw] created_at
296
+ # Timestamp (milliseconds) when this report definition was created.
297
+ # @return [Time]
298
+ #
299
+ # @!attribute [rw] last_updated_at
300
+ # Timestamp (milliseconds) when this report definition was last
301
+ # updated.
302
+ # @return [Time]
303
+ #
304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ReportDefinition AWS API Documentation
305
+ #
306
+ class ReportDefinition < Struct.new(
307
+ :report_id,
308
+ :report_description,
309
+ :report_frequency,
310
+ :format,
311
+ :destination_s3_location,
312
+ :created_at,
313
+ :last_updated_at)
314
+ SENSITIVE = []
315
+ include Aws::Structure
316
+ end
317
+
318
+ # Represents the Amazon Simple Storage Service (Amazon S3) location
319
+ # where AWS Application Cost Profiler reports are generated and then
320
+ # written to.
321
+ #
322
+ # @note When making an API call, you may pass S3Location
323
+ # data as a hash:
324
+ #
325
+ # {
326
+ # bucket: "S3Bucket", # required
327
+ # prefix: "S3Prefix", # required
328
+ # }
329
+ #
330
+ # @!attribute [rw] bucket
331
+ # Name of the S3 bucket.
332
+ # @return [String]
333
+ #
334
+ # @!attribute [rw] prefix
335
+ # Prefix for the location to write to.
336
+ # @return [String]
337
+ #
338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/S3Location AWS API Documentation
339
+ #
340
+ class S3Location < Struct.new(
341
+ :bucket,
342
+ :prefix)
343
+ SENSITIVE = []
344
+ include Aws::Structure
345
+ end
346
+
347
+ # Your request exceeds one or more of the service quotas.
348
+ #
349
+ # @!attribute [rw] message
350
+ # @return [String]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ServiceQuotaExceededException AWS API Documentation
353
+ #
354
+ class ServiceQuotaExceededException < Struct.new(
355
+ :message)
356
+ SENSITIVE = []
357
+ include Aws::Structure
358
+ end
359
+
360
+ # Represents the Amazon Simple Storage Service (Amazon S3) location
361
+ # where usage data is read from.
362
+ #
363
+ # @note When making an API call, you may pass SourceS3Location
364
+ # data as a hash:
365
+ #
366
+ # {
367
+ # bucket: "S3Bucket", # required
368
+ # key: "S3Key", # required
369
+ # region: "ap-east-1", # accepts ap-east-1, me-south-1, eu-south-1, af-south-1
370
+ # }
371
+ #
372
+ # @!attribute [rw] bucket
373
+ # Name of the bucket.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] key
377
+ # Key of the object.
378
+ # @return [String]
379
+ #
380
+ # @!attribute [rw] region
381
+ # Region of the bucket. Only required for Regions that are disabled by
382
+ # default. For more infomration about Regions that are disabled by
383
+ # default, see [ Enabling a Region][1] in the *AWS General Reference
384
+ # guide*.
385
+ #
386
+ #
387
+ #
388
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
389
+ # @return [String]
390
+ #
391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/SourceS3Location AWS API Documentation
392
+ #
393
+ class SourceS3Location < Struct.new(
394
+ :bucket,
395
+ :key,
396
+ :region)
397
+ SENSITIVE = []
398
+ include Aws::Structure
399
+ end
400
+
401
+ # The calls to AWS Application Cost Profiler API are throttled. The
402
+ # request was denied.
403
+ #
404
+ # @!attribute [rw] message
405
+ # @return [String]
406
+ #
407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ThrottlingException AWS API Documentation
408
+ #
409
+ class ThrottlingException < Struct.new(
410
+ :message)
411
+ SENSITIVE = []
412
+ include Aws::Structure
413
+ end
414
+
415
+ # @note When making an API call, you may pass UpdateReportDefinitionRequest
416
+ # data as a hash:
417
+ #
418
+ # {
419
+ # report_id: "ReportId", # required
420
+ # report_description: "ReportDescription", # required
421
+ # report_frequency: "MONTHLY", # required, accepts MONTHLY, DAILY, ALL
422
+ # format: "CSV", # required, accepts CSV, PARQUET
423
+ # destination_s3_location: { # required
424
+ # bucket: "S3Bucket", # required
425
+ # prefix: "S3Prefix", # required
426
+ # },
427
+ # }
428
+ #
429
+ # @!attribute [rw] report_id
430
+ # Required. ID of the report to update.
431
+ # @return [String]
432
+ #
433
+ # @!attribute [rw] report_description
434
+ # Required. Description of the report.
435
+ # @return [String]
436
+ #
437
+ # @!attribute [rw] report_frequency
438
+ # Required. The cadence to generate the report.
439
+ # @return [String]
440
+ #
441
+ # @!attribute [rw] format
442
+ # Required. The format to use for the generated report.
443
+ # @return [String]
444
+ #
445
+ # @!attribute [rw] destination_s3_location
446
+ # Required. Amazon Simple Storage Service (Amazon S3) location where
447
+ # Application Cost Profiler uploads the report.
448
+ # @return [Types::S3Location]
449
+ #
450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/UpdateReportDefinitionRequest AWS API Documentation
451
+ #
452
+ class UpdateReportDefinitionRequest < Struct.new(
453
+ :report_id,
454
+ :report_description,
455
+ :report_frequency,
456
+ :format,
457
+ :destination_s3_location)
458
+ SENSITIVE = []
459
+ include Aws::Structure
460
+ end
461
+
462
+ # @!attribute [rw] report_id
463
+ # ID of the report.
464
+ # @return [String]
465
+ #
466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/UpdateReportDefinitionResult AWS API Documentation
467
+ #
468
+ class UpdateReportDefinitionResult < Struct.new(
469
+ :report_id)
470
+ SENSITIVE = []
471
+ include Aws::Structure
472
+ end
473
+
474
+ # The input fails to satisfy the constraints for the API.
475
+ #
476
+ # @!attribute [rw] message
477
+ # @return [String]
478
+ #
479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/AWSApplicationCostProfiler-2020-09-10/ValidationException AWS API Documentation
480
+ #
481
+ class ValidationException < Struct.new(
482
+ :message)
483
+ SENSITIVE = []
484
+ include Aws::Structure
485
+ end
486
+
487
+ end
488
+ end