aws-sdk-applicationcostprofiler 1.0.0

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