1use std::error::Error;
14use std::fmt;
15
16use async_trait::async_trait;
17use rusoto_core::credential::ProvideAwsCredentials;
18use rusoto_core::region;
19use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest};
20use rusoto_core::{Client, RusotoError};
21
22use rusoto_core::proto;
23use rusoto_core::request::HttpResponse;
24use rusoto_core::signature::SignedRequest;
25#[allow(unused_imports)]
26use serde::{Deserialize, Serialize};
27
28impl CodeBuildClient {
29 fn new_signed_request(&self, http_method: &str, request_uri: &str) -> SignedRequest {
30 let mut request = SignedRequest::new(http_method, "codebuild", &self.region, request_uri);
31
32 request.set_content_type("application/x-amz-json-1.1".to_owned());
33
34 request
35 }
36
37 async fn sign_and_dispatch<E>(
38 &self,
39 request: SignedRequest,
40 from_response: fn(BufferedHttpResponse) -> RusotoError<E>,
41 ) -> Result<HttpResponse, RusotoError<E>> {
42 let mut response = self.client.sign_and_dispatch(request).await?;
43 if !response.status.is_success() {
44 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
45 return Err(from_response(response));
46 }
47
48 Ok(response)
49 }
50}
51
52use serde_json;
53#[derive(Clone, Debug, Default, PartialEq, Serialize)]
54#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
55pub struct BatchDeleteBuildsInput {
56 #[serde(rename = "ids")]
58 pub ids: Vec<String>,
59}
60
61#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
62#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
63pub struct BatchDeleteBuildsOutput {
64 #[serde(rename = "buildsDeleted")]
66 #[serde(skip_serializing_if = "Option::is_none")]
67 pub builds_deleted: Option<Vec<String>>,
68 #[serde(rename = "buildsNotDeleted")]
70 #[serde(skip_serializing_if = "Option::is_none")]
71 pub builds_not_deleted: Option<Vec<BuildNotDeleted>>,
72}
73
74#[derive(Clone, Debug, Default, PartialEq, Serialize)]
75#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
76pub struct BatchGetBuildsInput {
77 #[serde(rename = "ids")]
79 pub ids: Vec<String>,
80}
81
82#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
83#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
84pub struct BatchGetBuildsOutput {
85 #[serde(rename = "builds")]
87 #[serde(skip_serializing_if = "Option::is_none")]
88 pub builds: Option<Vec<Build>>,
89 #[serde(rename = "buildsNotFound")]
91 #[serde(skip_serializing_if = "Option::is_none")]
92 pub builds_not_found: Option<Vec<String>>,
93}
94
95#[derive(Clone, Debug, Default, PartialEq, Serialize)]
96#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
97pub struct BatchGetProjectsInput {
98 #[serde(rename = "names")]
100 pub names: Vec<String>,
101}
102
103#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
104#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
105pub struct BatchGetProjectsOutput {
106 #[serde(rename = "projects")]
108 #[serde(skip_serializing_if = "Option::is_none")]
109 pub projects: Option<Vec<Project>>,
110 #[serde(rename = "projectsNotFound")]
112 #[serde(skip_serializing_if = "Option::is_none")]
113 pub projects_not_found: Option<Vec<String>>,
114}
115
116#[derive(Clone, Debug, Default, PartialEq, Serialize)]
117#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
118pub struct BatchGetReportGroupsInput {
119 #[serde(rename = "reportGroupArns")]
121 pub report_group_arns: Vec<String>,
122}
123
124#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
125#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
126pub struct BatchGetReportGroupsOutput {
127 #[serde(rename = "reportGroups")]
129 #[serde(skip_serializing_if = "Option::is_none")]
130 pub report_groups: Option<Vec<ReportGroup>>,
131 #[serde(rename = "reportGroupsNotFound")]
133 #[serde(skip_serializing_if = "Option::is_none")]
134 pub report_groups_not_found: Option<Vec<String>>,
135}
136
137#[derive(Clone, Debug, Default, PartialEq, Serialize)]
138#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
139pub struct BatchGetReportsInput {
140 #[serde(rename = "reportArns")]
142 pub report_arns: Vec<String>,
143}
144
145#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
146#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
147pub struct BatchGetReportsOutput {
148 #[serde(rename = "reports")]
150 #[serde(skip_serializing_if = "Option::is_none")]
151 pub reports: Option<Vec<Report>>,
152 #[serde(rename = "reportsNotFound")]
154 #[serde(skip_serializing_if = "Option::is_none")]
155 pub reports_not_found: Option<Vec<String>>,
156}
157
158#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
160#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
161pub struct Build {
162 #[serde(rename = "arn")]
164 #[serde(skip_serializing_if = "Option::is_none")]
165 pub arn: Option<String>,
166 #[serde(rename = "artifacts")]
168 #[serde(skip_serializing_if = "Option::is_none")]
169 pub artifacts: Option<BuildArtifacts>,
170 #[serde(rename = "buildComplete")]
172 #[serde(skip_serializing_if = "Option::is_none")]
173 pub build_complete: Option<bool>,
174 #[serde(rename = "buildNumber")]
176 #[serde(skip_serializing_if = "Option::is_none")]
177 pub build_number: Option<i64>,
178 #[serde(rename = "buildStatus")]
180 #[serde(skip_serializing_if = "Option::is_none")]
181 pub build_status: Option<String>,
182 #[serde(rename = "cache")]
184 #[serde(skip_serializing_if = "Option::is_none")]
185 pub cache: Option<ProjectCache>,
186 #[serde(rename = "currentPhase")]
188 #[serde(skip_serializing_if = "Option::is_none")]
189 pub current_phase: Option<String>,
190 #[serde(rename = "encryptionKey")]
192 #[serde(skip_serializing_if = "Option::is_none")]
193 pub encryption_key: Option<String>,
194 #[serde(rename = "endTime")]
196 #[serde(skip_serializing_if = "Option::is_none")]
197 pub end_time: Option<f64>,
198 #[serde(rename = "environment")]
200 #[serde(skip_serializing_if = "Option::is_none")]
201 pub environment: Option<ProjectEnvironment>,
202 #[serde(rename = "exportedEnvironmentVariables")]
204 #[serde(skip_serializing_if = "Option::is_none")]
205 pub exported_environment_variables: Option<Vec<ExportedEnvironmentVariable>>,
206 #[serde(rename = "fileSystemLocations")]
208 #[serde(skip_serializing_if = "Option::is_none")]
209 pub file_system_locations: Option<Vec<ProjectFileSystemLocation>>,
210 #[serde(rename = "id")]
212 #[serde(skip_serializing_if = "Option::is_none")]
213 pub id: Option<String>,
214 #[serde(rename = "initiator")]
216 #[serde(skip_serializing_if = "Option::is_none")]
217 pub initiator: Option<String>,
218 #[serde(rename = "logs")]
220 #[serde(skip_serializing_if = "Option::is_none")]
221 pub logs: Option<LogsLocation>,
222 #[serde(rename = "networkInterface")]
224 #[serde(skip_serializing_if = "Option::is_none")]
225 pub network_interface: Option<NetworkInterface>,
226 #[serde(rename = "phases")]
228 #[serde(skip_serializing_if = "Option::is_none")]
229 pub phases: Option<Vec<BuildPhase>>,
230 #[serde(rename = "projectName")]
232 #[serde(skip_serializing_if = "Option::is_none")]
233 pub project_name: Option<String>,
234 #[serde(rename = "queuedTimeoutInMinutes")]
236 #[serde(skip_serializing_if = "Option::is_none")]
237 pub queued_timeout_in_minutes: Option<i64>,
238 #[serde(rename = "reportArns")]
240 #[serde(skip_serializing_if = "Option::is_none")]
241 pub report_arns: Option<Vec<String>>,
242 #[serde(rename = "resolvedSourceVersion")]
244 #[serde(skip_serializing_if = "Option::is_none")]
245 pub resolved_source_version: Option<String>,
246 #[serde(rename = "secondaryArtifacts")]
248 #[serde(skip_serializing_if = "Option::is_none")]
249 pub secondary_artifacts: Option<Vec<BuildArtifacts>>,
250 #[serde(rename = "secondarySourceVersions")]
252 #[serde(skip_serializing_if = "Option::is_none")]
253 pub secondary_source_versions: Option<Vec<ProjectSourceVersion>>,
254 #[serde(rename = "secondarySources")]
256 #[serde(skip_serializing_if = "Option::is_none")]
257 pub secondary_sources: Option<Vec<ProjectSource>>,
258 #[serde(rename = "serviceRole")]
260 #[serde(skip_serializing_if = "Option::is_none")]
261 pub service_role: Option<String>,
262 #[serde(rename = "source")]
264 #[serde(skip_serializing_if = "Option::is_none")]
265 pub source: Option<ProjectSource>,
266 #[serde(rename = "sourceVersion")]
268 #[serde(skip_serializing_if = "Option::is_none")]
269 pub source_version: Option<String>,
270 #[serde(rename = "startTime")]
272 #[serde(skip_serializing_if = "Option::is_none")]
273 pub start_time: Option<f64>,
274 #[serde(rename = "timeoutInMinutes")]
276 #[serde(skip_serializing_if = "Option::is_none")]
277 pub timeout_in_minutes: Option<i64>,
278 #[serde(rename = "vpcConfig")]
280 #[serde(skip_serializing_if = "Option::is_none")]
281 pub vpc_config: Option<VpcConfig>,
282}
283
284#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
286#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
287pub struct BuildArtifacts {
288 #[serde(rename = "artifactIdentifier")]
290 #[serde(skip_serializing_if = "Option::is_none")]
291 pub artifact_identifier: Option<String>,
292 #[serde(rename = "encryptionDisabled")]
294 #[serde(skip_serializing_if = "Option::is_none")]
295 pub encryption_disabled: Option<bool>,
296 #[serde(rename = "location")]
298 #[serde(skip_serializing_if = "Option::is_none")]
299 pub location: Option<String>,
300 #[serde(rename = "md5sum")]
302 #[serde(skip_serializing_if = "Option::is_none")]
303 pub md_5sum: Option<String>,
304 #[serde(rename = "overrideArtifactName")]
306 #[serde(skip_serializing_if = "Option::is_none")]
307 pub override_artifact_name: Option<bool>,
308 #[serde(rename = "sha256sum")]
310 #[serde(skip_serializing_if = "Option::is_none")]
311 pub sha_25_6sum: Option<String>,
312}
313
314#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
316#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
317pub struct BuildNotDeleted {
318 #[serde(rename = "id")]
320 #[serde(skip_serializing_if = "Option::is_none")]
321 pub id: Option<String>,
322 #[serde(rename = "statusCode")]
324 #[serde(skip_serializing_if = "Option::is_none")]
325 pub status_code: Option<String>,
326}
327
328#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
330#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
331pub struct BuildPhase {
332 #[serde(rename = "contexts")]
334 #[serde(skip_serializing_if = "Option::is_none")]
335 pub contexts: Option<Vec<PhaseContext>>,
336 #[serde(rename = "durationInSeconds")]
338 #[serde(skip_serializing_if = "Option::is_none")]
339 pub duration_in_seconds: Option<i64>,
340 #[serde(rename = "endTime")]
342 #[serde(skip_serializing_if = "Option::is_none")]
343 pub end_time: Option<f64>,
344 #[serde(rename = "phaseStatus")]
346 #[serde(skip_serializing_if = "Option::is_none")]
347 pub phase_status: Option<String>,
348 #[serde(rename = "phaseType")]
350 #[serde(skip_serializing_if = "Option::is_none")]
351 pub phase_type: Option<String>,
352 #[serde(rename = "startTime")]
354 #[serde(skip_serializing_if = "Option::is_none")]
355 pub start_time: Option<f64>,
356}
357
358#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
360pub struct BuildStatusConfig {
361 #[serde(rename = "context")]
363 #[serde(skip_serializing_if = "Option::is_none")]
364 pub context: Option<String>,
365 #[serde(rename = "targetUrl")]
367 #[serde(skip_serializing_if = "Option::is_none")]
368 pub target_url: Option<String>,
369}
370
371#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
373pub struct CloudWatchLogsConfig {
374 #[serde(rename = "groupName")]
376 #[serde(skip_serializing_if = "Option::is_none")]
377 pub group_name: Option<String>,
378 #[serde(rename = "status")]
380 pub status: String,
381 #[serde(rename = "streamName")]
383 #[serde(skip_serializing_if = "Option::is_none")]
384 pub stream_name: Option<String>,
385}
386
387#[derive(Clone, Debug, Default, PartialEq, Serialize)]
388#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
389pub struct CreateProjectInput {
390 #[serde(rename = "artifacts")]
392 pub artifacts: ProjectArtifacts,
393 #[serde(rename = "badgeEnabled")]
395 #[serde(skip_serializing_if = "Option::is_none")]
396 pub badge_enabled: Option<bool>,
397 #[serde(rename = "cache")]
399 #[serde(skip_serializing_if = "Option::is_none")]
400 pub cache: Option<ProjectCache>,
401 #[serde(rename = "description")]
403 #[serde(skip_serializing_if = "Option::is_none")]
404 pub description: Option<String>,
405 #[serde(rename = "encryptionKey")]
407 #[serde(skip_serializing_if = "Option::is_none")]
408 pub encryption_key: Option<String>,
409 #[serde(rename = "environment")]
411 pub environment: ProjectEnvironment,
412 #[serde(rename = "fileSystemLocations")]
414 #[serde(skip_serializing_if = "Option::is_none")]
415 pub file_system_locations: Option<Vec<ProjectFileSystemLocation>>,
416 #[serde(rename = "logsConfig")]
418 #[serde(skip_serializing_if = "Option::is_none")]
419 pub logs_config: Option<LogsConfig>,
420 #[serde(rename = "name")]
422 pub name: String,
423 #[serde(rename = "queuedTimeoutInMinutes")]
425 #[serde(skip_serializing_if = "Option::is_none")]
426 pub queued_timeout_in_minutes: Option<i64>,
427 #[serde(rename = "secondaryArtifacts")]
429 #[serde(skip_serializing_if = "Option::is_none")]
430 pub secondary_artifacts: Option<Vec<ProjectArtifacts>>,
431 #[serde(rename = "secondarySourceVersions")]
433 #[serde(skip_serializing_if = "Option::is_none")]
434 pub secondary_source_versions: Option<Vec<ProjectSourceVersion>>,
435 #[serde(rename = "secondarySources")]
437 #[serde(skip_serializing_if = "Option::is_none")]
438 pub secondary_sources: Option<Vec<ProjectSource>>,
439 #[serde(rename = "serviceRole")]
441 pub service_role: String,
442 #[serde(rename = "source")]
444 pub source: ProjectSource,
445 #[serde(rename = "sourceVersion")]
447 #[serde(skip_serializing_if = "Option::is_none")]
448 pub source_version: Option<String>,
449 #[serde(rename = "tags")]
451 #[serde(skip_serializing_if = "Option::is_none")]
452 pub tags: Option<Vec<Tag>>,
453 #[serde(rename = "timeoutInMinutes")]
455 #[serde(skip_serializing_if = "Option::is_none")]
456 pub timeout_in_minutes: Option<i64>,
457 #[serde(rename = "vpcConfig")]
459 #[serde(skip_serializing_if = "Option::is_none")]
460 pub vpc_config: Option<VpcConfig>,
461}
462
463#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
464#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
465pub struct CreateProjectOutput {
466 #[serde(rename = "project")]
468 #[serde(skip_serializing_if = "Option::is_none")]
469 pub project: Option<Project>,
470}
471
472#[derive(Clone, Debug, Default, PartialEq, Serialize)]
473#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
474pub struct CreateReportGroupInput {
475 #[serde(rename = "exportConfig")]
477 pub export_config: ReportExportConfig,
478 #[serde(rename = "name")]
480 pub name: String,
481 #[serde(rename = "tags")]
483 #[serde(skip_serializing_if = "Option::is_none")]
484 pub tags: Option<Vec<Tag>>,
485 #[serde(rename = "type")]
487 pub type_: String,
488}
489
490#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
491#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
492pub struct CreateReportGroupOutput {
493 #[serde(rename = "reportGroup")]
495 #[serde(skip_serializing_if = "Option::is_none")]
496 pub report_group: Option<ReportGroup>,
497}
498
499#[derive(Clone, Debug, Default, PartialEq, Serialize)]
500#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
501pub struct CreateWebhookInput {
502 #[serde(rename = "branchFilter")]
504 #[serde(skip_serializing_if = "Option::is_none")]
505 pub branch_filter: Option<String>,
506 #[serde(rename = "filterGroups")]
508 #[serde(skip_serializing_if = "Option::is_none")]
509 pub filter_groups: Option<Vec<Vec<WebhookFilter>>>,
510 #[serde(rename = "projectName")]
512 pub project_name: String,
513}
514
515#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
516#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
517pub struct CreateWebhookOutput {
518 #[serde(rename = "webhook")]
520 #[serde(skip_serializing_if = "Option::is_none")]
521 pub webhook: Option<Webhook>,
522}
523
524#[derive(Clone, Debug, Default, PartialEq, Serialize)]
525#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
526pub struct DeleteProjectInput {
527 #[serde(rename = "name")]
529 pub name: String,
530}
531
532#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
533#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
534pub struct DeleteProjectOutput {}
535
536#[derive(Clone, Debug, Default, PartialEq, Serialize)]
537#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
538pub struct DeleteReportGroupInput {
539 #[serde(rename = "arn")]
541 pub arn: String,
542}
543
544#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
545#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
546pub struct DeleteReportGroupOutput {}
547
548#[derive(Clone, Debug, Default, PartialEq, Serialize)]
549#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
550pub struct DeleteReportInput {
551 #[serde(rename = "arn")]
553 pub arn: String,
554}
555
556#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
557#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
558pub struct DeleteReportOutput {}
559
560#[derive(Clone, Debug, Default, PartialEq, Serialize)]
561#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
562pub struct DeleteResourcePolicyInput {
563 #[serde(rename = "resourceArn")]
565 pub resource_arn: String,
566}
567
568#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
569#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
570pub struct DeleteResourcePolicyOutput {}
571
572#[derive(Clone, Debug, Default, PartialEq, Serialize)]
573#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
574pub struct DeleteSourceCredentialsInput {
575 #[serde(rename = "arn")]
577 pub arn: String,
578}
579
580#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
581#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
582pub struct DeleteSourceCredentialsOutput {
583 #[serde(rename = "arn")]
585 #[serde(skip_serializing_if = "Option::is_none")]
586 pub arn: Option<String>,
587}
588
589#[derive(Clone, Debug, Default, PartialEq, Serialize)]
590#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
591pub struct DeleteWebhookInput {
592 #[serde(rename = "projectName")]
594 pub project_name: String,
595}
596
597#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
598#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
599pub struct DeleteWebhookOutput {}
600
601#[derive(Clone, Debug, Default, PartialEq, Serialize)]
602#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
603pub struct DescribeTestCasesInput {
604 #[serde(rename = "filter")]
606 #[serde(skip_serializing_if = "Option::is_none")]
607 pub filter: Option<TestCaseFilter>,
608 #[serde(rename = "maxResults")]
610 #[serde(skip_serializing_if = "Option::is_none")]
611 pub max_results: Option<i64>,
612 #[serde(rename = "nextToken")]
614 #[serde(skip_serializing_if = "Option::is_none")]
615 pub next_token: Option<String>,
616 #[serde(rename = "reportArn")]
618 pub report_arn: String,
619}
620
621#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
622#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
623pub struct DescribeTestCasesOutput {
624 #[serde(rename = "nextToken")]
626 #[serde(skip_serializing_if = "Option::is_none")]
627 pub next_token: Option<String>,
628 #[serde(rename = "testCases")]
630 #[serde(skip_serializing_if = "Option::is_none")]
631 pub test_cases: Option<Vec<TestCase>>,
632}
633
634#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
636#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
637pub struct EnvironmentImage {
638 #[serde(rename = "description")]
640 #[serde(skip_serializing_if = "Option::is_none")]
641 pub description: Option<String>,
642 #[serde(rename = "name")]
644 #[serde(skip_serializing_if = "Option::is_none")]
645 pub name: Option<String>,
646 #[serde(rename = "versions")]
648 #[serde(skip_serializing_if = "Option::is_none")]
649 pub versions: Option<Vec<String>>,
650}
651
652#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
654#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
655pub struct EnvironmentLanguage {
656 #[serde(rename = "images")]
658 #[serde(skip_serializing_if = "Option::is_none")]
659 pub images: Option<Vec<EnvironmentImage>>,
660 #[serde(rename = "language")]
662 #[serde(skip_serializing_if = "Option::is_none")]
663 pub language: Option<String>,
664}
665
666#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
668#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
669pub struct EnvironmentPlatform {
670 #[serde(rename = "languages")]
672 #[serde(skip_serializing_if = "Option::is_none")]
673 pub languages: Option<Vec<EnvironmentLanguage>>,
674 #[serde(rename = "platform")]
676 #[serde(skip_serializing_if = "Option::is_none")]
677 pub platform: Option<String>,
678}
679
680#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
682pub struct EnvironmentVariable {
683 #[serde(rename = "name")]
685 pub name: String,
686 #[serde(rename = "type")]
688 #[serde(skip_serializing_if = "Option::is_none")]
689 pub type_: Option<String>,
690 #[serde(rename = "value")]
692 pub value: String,
693}
694
695#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
697#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
698pub struct ExportedEnvironmentVariable {
699 #[serde(rename = "name")]
701 #[serde(skip_serializing_if = "Option::is_none")]
702 pub name: Option<String>,
703 #[serde(rename = "value")]
705 #[serde(skip_serializing_if = "Option::is_none")]
706 pub value: Option<String>,
707}
708
709#[derive(Clone, Debug, Default, PartialEq, Serialize)]
710#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
711pub struct GetResourcePolicyInput {
712 #[serde(rename = "resourceArn")]
714 pub resource_arn: String,
715}
716
717#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
718#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
719pub struct GetResourcePolicyOutput {
720 #[serde(rename = "policy")]
722 #[serde(skip_serializing_if = "Option::is_none")]
723 pub policy: Option<String>,
724}
725
726#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
728pub struct GitSubmodulesConfig {
729 #[serde(rename = "fetchSubmodules")]
731 pub fetch_submodules: bool,
732}
733
734#[derive(Clone, Debug, Default, PartialEq, Serialize)]
735#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
736pub struct ImportSourceCredentialsInput {
737 #[serde(rename = "authType")]
739 pub auth_type: String,
740 #[serde(rename = "serverType")]
742 pub server_type: String,
743 #[serde(rename = "shouldOverwrite")]
745 #[serde(skip_serializing_if = "Option::is_none")]
746 pub should_overwrite: Option<bool>,
747 #[serde(rename = "token")]
749 pub token: String,
750 #[serde(rename = "username")]
752 #[serde(skip_serializing_if = "Option::is_none")]
753 pub username: Option<String>,
754}
755
756#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
757#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
758pub struct ImportSourceCredentialsOutput {
759 #[serde(rename = "arn")]
761 #[serde(skip_serializing_if = "Option::is_none")]
762 pub arn: Option<String>,
763}
764
765#[derive(Clone, Debug, Default, PartialEq, Serialize)]
766#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
767pub struct InvalidateProjectCacheInput {
768 #[serde(rename = "projectName")]
770 pub project_name: String,
771}
772
773#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
774#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
775pub struct InvalidateProjectCacheOutput {}
776
777#[derive(Clone, Debug, Default, PartialEq, Serialize)]
778#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
779pub struct ListBuildsForProjectInput {
780 #[serde(rename = "nextToken")]
782 #[serde(skip_serializing_if = "Option::is_none")]
783 pub next_token: Option<String>,
784 #[serde(rename = "projectName")]
786 pub project_name: String,
787 #[serde(rename = "sortOrder")]
789 #[serde(skip_serializing_if = "Option::is_none")]
790 pub sort_order: Option<String>,
791}
792
793#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
794#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
795pub struct ListBuildsForProjectOutput {
796 #[serde(rename = "ids")]
798 #[serde(skip_serializing_if = "Option::is_none")]
799 pub ids: Option<Vec<String>>,
800 #[serde(rename = "nextToken")]
802 #[serde(skip_serializing_if = "Option::is_none")]
803 pub next_token: Option<String>,
804}
805
806#[derive(Clone, Debug, Default, PartialEq, Serialize)]
807#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
808pub struct ListBuildsInput {
809 #[serde(rename = "nextToken")]
811 #[serde(skip_serializing_if = "Option::is_none")]
812 pub next_token: Option<String>,
813 #[serde(rename = "sortOrder")]
815 #[serde(skip_serializing_if = "Option::is_none")]
816 pub sort_order: Option<String>,
817}
818
819#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
820#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
821pub struct ListBuildsOutput {
822 #[serde(rename = "ids")]
824 #[serde(skip_serializing_if = "Option::is_none")]
825 pub ids: Option<Vec<String>>,
826 #[serde(rename = "nextToken")]
828 #[serde(skip_serializing_if = "Option::is_none")]
829 pub next_token: Option<String>,
830}
831
832#[derive(Clone, Debug, Default, PartialEq, Serialize)]
833#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
834pub struct ListCuratedEnvironmentImagesInput {}
835
836#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
837#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
838pub struct ListCuratedEnvironmentImagesOutput {
839 #[serde(rename = "platforms")]
841 #[serde(skip_serializing_if = "Option::is_none")]
842 pub platforms: Option<Vec<EnvironmentPlatform>>,
843}
844
845#[derive(Clone, Debug, Default, PartialEq, Serialize)]
846#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
847pub struct ListProjectsInput {
848 #[serde(rename = "nextToken")]
850 #[serde(skip_serializing_if = "Option::is_none")]
851 pub next_token: Option<String>,
852 #[serde(rename = "sortBy")]
854 #[serde(skip_serializing_if = "Option::is_none")]
855 pub sort_by: Option<String>,
856 #[serde(rename = "sortOrder")]
858 #[serde(skip_serializing_if = "Option::is_none")]
859 pub sort_order: Option<String>,
860}
861
862#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
863#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
864pub struct ListProjectsOutput {
865 #[serde(rename = "nextToken")]
867 #[serde(skip_serializing_if = "Option::is_none")]
868 pub next_token: Option<String>,
869 #[serde(rename = "projects")]
871 #[serde(skip_serializing_if = "Option::is_none")]
872 pub projects: Option<Vec<String>>,
873}
874
875#[derive(Clone, Debug, Default, PartialEq, Serialize)]
876#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
877pub struct ListReportGroupsInput {
878 #[serde(rename = "maxResults")]
880 #[serde(skip_serializing_if = "Option::is_none")]
881 pub max_results: Option<i64>,
882 #[serde(rename = "nextToken")]
884 #[serde(skip_serializing_if = "Option::is_none")]
885 pub next_token: Option<String>,
886 #[serde(rename = "sortBy")]
888 #[serde(skip_serializing_if = "Option::is_none")]
889 pub sort_by: Option<String>,
890 #[serde(rename = "sortOrder")]
892 #[serde(skip_serializing_if = "Option::is_none")]
893 pub sort_order: Option<String>,
894}
895
896#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
897#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
898pub struct ListReportGroupsOutput {
899 #[serde(rename = "nextToken")]
901 #[serde(skip_serializing_if = "Option::is_none")]
902 pub next_token: Option<String>,
903 #[serde(rename = "reportGroups")]
905 #[serde(skip_serializing_if = "Option::is_none")]
906 pub report_groups: Option<Vec<String>>,
907}
908
909#[derive(Clone, Debug, Default, PartialEq, Serialize)]
910#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
911pub struct ListReportsForReportGroupInput {
912 #[serde(rename = "filter")]
914 #[serde(skip_serializing_if = "Option::is_none")]
915 pub filter: Option<ReportFilter>,
916 #[serde(rename = "maxResults")]
918 #[serde(skip_serializing_if = "Option::is_none")]
919 pub max_results: Option<i64>,
920 #[serde(rename = "nextToken")]
922 #[serde(skip_serializing_if = "Option::is_none")]
923 pub next_token: Option<String>,
924 #[serde(rename = "reportGroupArn")]
926 pub report_group_arn: String,
927 #[serde(rename = "sortOrder")]
929 #[serde(skip_serializing_if = "Option::is_none")]
930 pub sort_order: Option<String>,
931}
932
933#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
934#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
935pub struct ListReportsForReportGroupOutput {
936 #[serde(rename = "nextToken")]
938 #[serde(skip_serializing_if = "Option::is_none")]
939 pub next_token: Option<String>,
940 #[serde(rename = "reports")]
942 #[serde(skip_serializing_if = "Option::is_none")]
943 pub reports: Option<Vec<String>>,
944}
945
946#[derive(Clone, Debug, Default, PartialEq, Serialize)]
947#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
948pub struct ListReportsInput {
949 #[serde(rename = "filter")]
951 #[serde(skip_serializing_if = "Option::is_none")]
952 pub filter: Option<ReportFilter>,
953 #[serde(rename = "maxResults")]
955 #[serde(skip_serializing_if = "Option::is_none")]
956 pub max_results: Option<i64>,
957 #[serde(rename = "nextToken")]
959 #[serde(skip_serializing_if = "Option::is_none")]
960 pub next_token: Option<String>,
961 #[serde(rename = "sortOrder")]
963 #[serde(skip_serializing_if = "Option::is_none")]
964 pub sort_order: Option<String>,
965}
966
967#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
968#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
969pub struct ListReportsOutput {
970 #[serde(rename = "nextToken")]
972 #[serde(skip_serializing_if = "Option::is_none")]
973 pub next_token: Option<String>,
974 #[serde(rename = "reports")]
976 #[serde(skip_serializing_if = "Option::is_none")]
977 pub reports: Option<Vec<String>>,
978}
979
980#[derive(Clone, Debug, Default, PartialEq, Serialize)]
981#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
982pub struct ListSharedProjectsInput {
983 #[serde(rename = "maxResults")]
985 #[serde(skip_serializing_if = "Option::is_none")]
986 pub max_results: Option<i64>,
987 #[serde(rename = "nextToken")]
989 #[serde(skip_serializing_if = "Option::is_none")]
990 pub next_token: Option<String>,
991 #[serde(rename = "sortBy")]
993 #[serde(skip_serializing_if = "Option::is_none")]
994 pub sort_by: Option<String>,
995 #[serde(rename = "sortOrder")]
997 #[serde(skip_serializing_if = "Option::is_none")]
998 pub sort_order: Option<String>,
999}
1000
1001#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1002#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1003pub struct ListSharedProjectsOutput {
1004 #[serde(rename = "nextToken")]
1006 #[serde(skip_serializing_if = "Option::is_none")]
1007 pub next_token: Option<String>,
1008 #[serde(rename = "projects")]
1010 #[serde(skip_serializing_if = "Option::is_none")]
1011 pub projects: Option<Vec<String>>,
1012}
1013
1014#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1015#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1016pub struct ListSharedReportGroupsInput {
1017 #[serde(rename = "maxResults")]
1019 #[serde(skip_serializing_if = "Option::is_none")]
1020 pub max_results: Option<i64>,
1021 #[serde(rename = "nextToken")]
1023 #[serde(skip_serializing_if = "Option::is_none")]
1024 pub next_token: Option<String>,
1025 #[serde(rename = "sortBy")]
1027 #[serde(skip_serializing_if = "Option::is_none")]
1028 pub sort_by: Option<String>,
1029 #[serde(rename = "sortOrder")]
1031 #[serde(skip_serializing_if = "Option::is_none")]
1032 pub sort_order: Option<String>,
1033}
1034
1035#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1036#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1037pub struct ListSharedReportGroupsOutput {
1038 #[serde(rename = "nextToken")]
1040 #[serde(skip_serializing_if = "Option::is_none")]
1041 pub next_token: Option<String>,
1042 #[serde(rename = "reportGroups")]
1044 #[serde(skip_serializing_if = "Option::is_none")]
1045 pub report_groups: Option<Vec<String>>,
1046}
1047
1048#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1049#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1050pub struct ListSourceCredentialsInput {}
1051
1052#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1053#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1054pub struct ListSourceCredentialsOutput {
1055 #[serde(rename = "sourceCredentialsInfos")]
1057 #[serde(skip_serializing_if = "Option::is_none")]
1058 pub source_credentials_infos: Option<Vec<SourceCredentialsInfo>>,
1059}
1060
1061#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1063pub struct LogsConfig {
1064 #[serde(rename = "cloudWatchLogs")]
1066 #[serde(skip_serializing_if = "Option::is_none")]
1067 pub cloud_watch_logs: Option<CloudWatchLogsConfig>,
1068 #[serde(rename = "s3Logs")]
1070 #[serde(skip_serializing_if = "Option::is_none")]
1071 pub s_3_logs: Option<S3LogsConfig>,
1072}
1073
1074#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1076#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1077pub struct LogsLocation {
1078 #[serde(rename = "cloudWatchLogs")]
1080 #[serde(skip_serializing_if = "Option::is_none")]
1081 pub cloud_watch_logs: Option<CloudWatchLogsConfig>,
1082 #[serde(rename = "cloudWatchLogsArn")]
1084 #[serde(skip_serializing_if = "Option::is_none")]
1085 pub cloud_watch_logs_arn: Option<String>,
1086 #[serde(rename = "deepLink")]
1088 #[serde(skip_serializing_if = "Option::is_none")]
1089 pub deep_link: Option<String>,
1090 #[serde(rename = "groupName")]
1092 #[serde(skip_serializing_if = "Option::is_none")]
1093 pub group_name: Option<String>,
1094 #[serde(rename = "s3DeepLink")]
1096 #[serde(skip_serializing_if = "Option::is_none")]
1097 pub s_3_deep_link: Option<String>,
1098 #[serde(rename = "s3Logs")]
1100 #[serde(skip_serializing_if = "Option::is_none")]
1101 pub s_3_logs: Option<S3LogsConfig>,
1102 #[serde(rename = "s3LogsArn")]
1104 #[serde(skip_serializing_if = "Option::is_none")]
1105 pub s_3_logs_arn: Option<String>,
1106 #[serde(rename = "streamName")]
1108 #[serde(skip_serializing_if = "Option::is_none")]
1109 pub stream_name: Option<String>,
1110}
1111
1112#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1114#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1115pub struct NetworkInterface {
1116 #[serde(rename = "networkInterfaceId")]
1118 #[serde(skip_serializing_if = "Option::is_none")]
1119 pub network_interface_id: Option<String>,
1120 #[serde(rename = "subnetId")]
1122 #[serde(skip_serializing_if = "Option::is_none")]
1123 pub subnet_id: Option<String>,
1124}
1125
1126#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1128#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1129pub struct PhaseContext {
1130 #[serde(rename = "message")]
1132 #[serde(skip_serializing_if = "Option::is_none")]
1133 pub message: Option<String>,
1134 #[serde(rename = "statusCode")]
1136 #[serde(skip_serializing_if = "Option::is_none")]
1137 pub status_code: Option<String>,
1138}
1139
1140#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1142#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1143pub struct Project {
1144 #[serde(rename = "arn")]
1146 #[serde(skip_serializing_if = "Option::is_none")]
1147 pub arn: Option<String>,
1148 #[serde(rename = "artifacts")]
1150 #[serde(skip_serializing_if = "Option::is_none")]
1151 pub artifacts: Option<ProjectArtifacts>,
1152 #[serde(rename = "badge")]
1154 #[serde(skip_serializing_if = "Option::is_none")]
1155 pub badge: Option<ProjectBadge>,
1156 #[serde(rename = "cache")]
1158 #[serde(skip_serializing_if = "Option::is_none")]
1159 pub cache: Option<ProjectCache>,
1160 #[serde(rename = "created")]
1162 #[serde(skip_serializing_if = "Option::is_none")]
1163 pub created: Option<f64>,
1164 #[serde(rename = "description")]
1166 #[serde(skip_serializing_if = "Option::is_none")]
1167 pub description: Option<String>,
1168 #[serde(rename = "encryptionKey")]
1170 #[serde(skip_serializing_if = "Option::is_none")]
1171 pub encryption_key: Option<String>,
1172 #[serde(rename = "environment")]
1174 #[serde(skip_serializing_if = "Option::is_none")]
1175 pub environment: Option<ProjectEnvironment>,
1176 #[serde(rename = "fileSystemLocations")]
1178 #[serde(skip_serializing_if = "Option::is_none")]
1179 pub file_system_locations: Option<Vec<ProjectFileSystemLocation>>,
1180 #[serde(rename = "lastModified")]
1182 #[serde(skip_serializing_if = "Option::is_none")]
1183 pub last_modified: Option<f64>,
1184 #[serde(rename = "logsConfig")]
1186 #[serde(skip_serializing_if = "Option::is_none")]
1187 pub logs_config: Option<LogsConfig>,
1188 #[serde(rename = "name")]
1190 #[serde(skip_serializing_if = "Option::is_none")]
1191 pub name: Option<String>,
1192 #[serde(rename = "queuedTimeoutInMinutes")]
1194 #[serde(skip_serializing_if = "Option::is_none")]
1195 pub queued_timeout_in_minutes: Option<i64>,
1196 #[serde(rename = "secondaryArtifacts")]
1198 #[serde(skip_serializing_if = "Option::is_none")]
1199 pub secondary_artifacts: Option<Vec<ProjectArtifacts>>,
1200 #[serde(rename = "secondarySourceVersions")]
1202 #[serde(skip_serializing_if = "Option::is_none")]
1203 pub secondary_source_versions: Option<Vec<ProjectSourceVersion>>,
1204 #[serde(rename = "secondarySources")]
1206 #[serde(skip_serializing_if = "Option::is_none")]
1207 pub secondary_sources: Option<Vec<ProjectSource>>,
1208 #[serde(rename = "serviceRole")]
1210 #[serde(skip_serializing_if = "Option::is_none")]
1211 pub service_role: Option<String>,
1212 #[serde(rename = "source")]
1214 #[serde(skip_serializing_if = "Option::is_none")]
1215 pub source: Option<ProjectSource>,
1216 #[serde(rename = "sourceVersion")]
1218 #[serde(skip_serializing_if = "Option::is_none")]
1219 pub source_version: Option<String>,
1220 #[serde(rename = "tags")]
1222 #[serde(skip_serializing_if = "Option::is_none")]
1223 pub tags: Option<Vec<Tag>>,
1224 #[serde(rename = "timeoutInMinutes")]
1226 #[serde(skip_serializing_if = "Option::is_none")]
1227 pub timeout_in_minutes: Option<i64>,
1228 #[serde(rename = "vpcConfig")]
1230 #[serde(skip_serializing_if = "Option::is_none")]
1231 pub vpc_config: Option<VpcConfig>,
1232 #[serde(rename = "webhook")]
1234 #[serde(skip_serializing_if = "Option::is_none")]
1235 pub webhook: Option<Webhook>,
1236}
1237
1238#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1240pub struct ProjectArtifacts {
1241 #[serde(rename = "artifactIdentifier")]
1243 #[serde(skip_serializing_if = "Option::is_none")]
1244 pub artifact_identifier: Option<String>,
1245 #[serde(rename = "encryptionDisabled")]
1247 #[serde(skip_serializing_if = "Option::is_none")]
1248 pub encryption_disabled: Option<bool>,
1249 #[serde(rename = "location")]
1251 #[serde(skip_serializing_if = "Option::is_none")]
1252 pub location: Option<String>,
1253 #[serde(rename = "name")]
1255 #[serde(skip_serializing_if = "Option::is_none")]
1256 pub name: Option<String>,
1257 #[serde(rename = "namespaceType")]
1259 #[serde(skip_serializing_if = "Option::is_none")]
1260 pub namespace_type: Option<String>,
1261 #[serde(rename = "overrideArtifactName")]
1263 #[serde(skip_serializing_if = "Option::is_none")]
1264 pub override_artifact_name: Option<bool>,
1265 #[serde(rename = "packaging")]
1267 #[serde(skip_serializing_if = "Option::is_none")]
1268 pub packaging: Option<String>,
1269 #[serde(rename = "path")]
1271 #[serde(skip_serializing_if = "Option::is_none")]
1272 pub path: Option<String>,
1273 #[serde(rename = "type")]
1275 pub type_: String,
1276}
1277
1278#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1280#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1281pub struct ProjectBadge {
1282 #[serde(rename = "badgeEnabled")]
1284 #[serde(skip_serializing_if = "Option::is_none")]
1285 pub badge_enabled: Option<bool>,
1286 #[serde(rename = "badgeRequestUrl")]
1288 #[serde(skip_serializing_if = "Option::is_none")]
1289 pub badge_request_url: Option<String>,
1290}
1291
1292#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1294pub struct ProjectCache {
1295 #[serde(rename = "location")]
1297 #[serde(skip_serializing_if = "Option::is_none")]
1298 pub location: Option<String>,
1299 #[serde(rename = "modes")]
1301 #[serde(skip_serializing_if = "Option::is_none")]
1302 pub modes: Option<Vec<String>>,
1303 #[serde(rename = "type")]
1305 pub type_: String,
1306}
1307
1308#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1310pub struct ProjectEnvironment {
1311 #[serde(rename = "certificate")]
1313 #[serde(skip_serializing_if = "Option::is_none")]
1314 pub certificate: Option<String>,
1315 #[serde(rename = "computeType")]
1317 pub compute_type: String,
1318 #[serde(rename = "environmentVariables")]
1320 #[serde(skip_serializing_if = "Option::is_none")]
1321 pub environment_variables: Option<Vec<EnvironmentVariable>>,
1322 #[serde(rename = "image")]
1324 pub image: String,
1325 #[serde(rename = "imagePullCredentialsType")]
1327 #[serde(skip_serializing_if = "Option::is_none")]
1328 pub image_pull_credentials_type: Option<String>,
1329 #[serde(rename = "privilegedMode")]
1331 #[serde(skip_serializing_if = "Option::is_none")]
1332 pub privileged_mode: Option<bool>,
1333 #[serde(rename = "registryCredential")]
1335 #[serde(skip_serializing_if = "Option::is_none")]
1336 pub registry_credential: Option<RegistryCredential>,
1337 #[serde(rename = "type")]
1339 pub type_: String,
1340}
1341
1342#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1344pub struct ProjectFileSystemLocation {
1345 #[serde(rename = "identifier")]
1347 #[serde(skip_serializing_if = "Option::is_none")]
1348 pub identifier: Option<String>,
1349 #[serde(rename = "location")]
1351 #[serde(skip_serializing_if = "Option::is_none")]
1352 pub location: Option<String>,
1353 #[serde(rename = "mountOptions")]
1355 #[serde(skip_serializing_if = "Option::is_none")]
1356 pub mount_options: Option<String>,
1357 #[serde(rename = "mountPoint")]
1359 #[serde(skip_serializing_if = "Option::is_none")]
1360 pub mount_point: Option<String>,
1361 #[serde(rename = "type")]
1363 #[serde(skip_serializing_if = "Option::is_none")]
1364 pub type_: Option<String>,
1365}
1366
1367#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1369pub struct ProjectSource {
1370 #[serde(rename = "auth")]
1372 #[serde(skip_serializing_if = "Option::is_none")]
1373 pub auth: Option<SourceAuth>,
1374 #[serde(rename = "buildStatusConfig")]
1376 #[serde(skip_serializing_if = "Option::is_none")]
1377 pub build_status_config: Option<BuildStatusConfig>,
1378 #[serde(rename = "buildspec")]
1380 #[serde(skip_serializing_if = "Option::is_none")]
1381 pub buildspec: Option<String>,
1382 #[serde(rename = "gitCloneDepth")]
1384 #[serde(skip_serializing_if = "Option::is_none")]
1385 pub git_clone_depth: Option<i64>,
1386 #[serde(rename = "gitSubmodulesConfig")]
1388 #[serde(skip_serializing_if = "Option::is_none")]
1389 pub git_submodules_config: Option<GitSubmodulesConfig>,
1390 #[serde(rename = "insecureSsl")]
1392 #[serde(skip_serializing_if = "Option::is_none")]
1393 pub insecure_ssl: Option<bool>,
1394 #[serde(rename = "location")]
1396 #[serde(skip_serializing_if = "Option::is_none")]
1397 pub location: Option<String>,
1398 #[serde(rename = "reportBuildStatus")]
1400 #[serde(skip_serializing_if = "Option::is_none")]
1401 pub report_build_status: Option<bool>,
1402 #[serde(rename = "sourceIdentifier")]
1404 #[serde(skip_serializing_if = "Option::is_none")]
1405 pub source_identifier: Option<String>,
1406 #[serde(rename = "type")]
1408 pub type_: String,
1409}
1410
1411#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1413pub struct ProjectSourceVersion {
1414 #[serde(rename = "sourceIdentifier")]
1416 pub source_identifier: String,
1417 #[serde(rename = "sourceVersion")]
1419 pub source_version: String,
1420}
1421
1422#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1423#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1424pub struct PutResourcePolicyInput {
1425 #[serde(rename = "policy")]
1427 pub policy: String,
1428 #[serde(rename = "resourceArn")]
1430 pub resource_arn: String,
1431}
1432
1433#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1434#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1435pub struct PutResourcePolicyOutput {
1436 #[serde(rename = "resourceArn")]
1438 #[serde(skip_serializing_if = "Option::is_none")]
1439 pub resource_arn: Option<String>,
1440}
1441
1442#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1444pub struct RegistryCredential {
1445 #[serde(rename = "credential")]
1447 pub credential: String,
1448 #[serde(rename = "credentialProvider")]
1450 pub credential_provider: String,
1451}
1452
1453#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1455#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1456pub struct Report {
1457 #[serde(rename = "arn")]
1459 #[serde(skip_serializing_if = "Option::is_none")]
1460 pub arn: Option<String>,
1461 #[serde(rename = "created")]
1463 #[serde(skip_serializing_if = "Option::is_none")]
1464 pub created: Option<f64>,
1465 #[serde(rename = "executionId")]
1467 #[serde(skip_serializing_if = "Option::is_none")]
1468 pub execution_id: Option<String>,
1469 #[serde(rename = "expired")]
1471 #[serde(skip_serializing_if = "Option::is_none")]
1472 pub expired: Option<f64>,
1473 #[serde(rename = "exportConfig")]
1475 #[serde(skip_serializing_if = "Option::is_none")]
1476 pub export_config: Option<ReportExportConfig>,
1477 #[serde(rename = "name")]
1479 #[serde(skip_serializing_if = "Option::is_none")]
1480 pub name: Option<String>,
1481 #[serde(rename = "reportGroupArn")]
1483 #[serde(skip_serializing_if = "Option::is_none")]
1484 pub report_group_arn: Option<String>,
1485 #[serde(rename = "status")]
1487 #[serde(skip_serializing_if = "Option::is_none")]
1488 pub status: Option<String>,
1489 #[serde(rename = "testSummary")]
1491 #[serde(skip_serializing_if = "Option::is_none")]
1492 pub test_summary: Option<TestReportSummary>,
1493 #[serde(rename = "truncated")]
1495 #[serde(skip_serializing_if = "Option::is_none")]
1496 pub truncated: Option<bool>,
1497 #[serde(rename = "type")]
1499 #[serde(skip_serializing_if = "Option::is_none")]
1500 pub type_: Option<String>,
1501}
1502
1503#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1505pub struct ReportExportConfig {
1506 #[serde(rename = "exportConfigType")]
1508 #[serde(skip_serializing_if = "Option::is_none")]
1509 pub export_config_type: Option<String>,
1510 #[serde(rename = "s3Destination")]
1512 #[serde(skip_serializing_if = "Option::is_none")]
1513 pub s_3_destination: Option<S3ReportExportConfig>,
1514}
1515
1516#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1518#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1519pub struct ReportFilter {
1520 #[serde(rename = "status")]
1522 #[serde(skip_serializing_if = "Option::is_none")]
1523 pub status: Option<String>,
1524}
1525
1526#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1528#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1529pub struct ReportGroup {
1530 #[serde(rename = "arn")]
1532 #[serde(skip_serializing_if = "Option::is_none")]
1533 pub arn: Option<String>,
1534 #[serde(rename = "created")]
1536 #[serde(skip_serializing_if = "Option::is_none")]
1537 pub created: Option<f64>,
1538 #[serde(rename = "exportConfig")]
1540 #[serde(skip_serializing_if = "Option::is_none")]
1541 pub export_config: Option<ReportExportConfig>,
1542 #[serde(rename = "lastModified")]
1544 #[serde(skip_serializing_if = "Option::is_none")]
1545 pub last_modified: Option<f64>,
1546 #[serde(rename = "name")]
1548 #[serde(skip_serializing_if = "Option::is_none")]
1549 pub name: Option<String>,
1550 #[serde(rename = "tags")]
1552 #[serde(skip_serializing_if = "Option::is_none")]
1553 pub tags: Option<Vec<Tag>>,
1554 #[serde(rename = "type")]
1556 #[serde(skip_serializing_if = "Option::is_none")]
1557 pub type_: Option<String>,
1558}
1559
1560#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1562pub struct S3LogsConfig {
1563 #[serde(rename = "encryptionDisabled")]
1565 #[serde(skip_serializing_if = "Option::is_none")]
1566 pub encryption_disabled: Option<bool>,
1567 #[serde(rename = "location")]
1569 #[serde(skip_serializing_if = "Option::is_none")]
1570 pub location: Option<String>,
1571 #[serde(rename = "status")]
1573 pub status: String,
1574}
1575
1576#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1578pub struct S3ReportExportConfig {
1579 #[serde(rename = "bucket")]
1581 #[serde(skip_serializing_if = "Option::is_none")]
1582 pub bucket: Option<String>,
1583 #[serde(rename = "encryptionDisabled")]
1585 #[serde(skip_serializing_if = "Option::is_none")]
1586 pub encryption_disabled: Option<bool>,
1587 #[serde(rename = "encryptionKey")]
1589 #[serde(skip_serializing_if = "Option::is_none")]
1590 pub encryption_key: Option<String>,
1591 #[serde(rename = "packaging")]
1593 #[serde(skip_serializing_if = "Option::is_none")]
1594 pub packaging: Option<String>,
1595 #[serde(rename = "path")]
1597 #[serde(skip_serializing_if = "Option::is_none")]
1598 pub path: Option<String>,
1599}
1600
1601#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1603pub struct SourceAuth {
1604 #[serde(rename = "resource")]
1606 #[serde(skip_serializing_if = "Option::is_none")]
1607 pub resource: Option<String>,
1608 #[serde(rename = "type")]
1610 pub type_: String,
1611}
1612
1613#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1615#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1616pub struct SourceCredentialsInfo {
1617 #[serde(rename = "arn")]
1619 #[serde(skip_serializing_if = "Option::is_none")]
1620 pub arn: Option<String>,
1621 #[serde(rename = "authType")]
1623 #[serde(skip_serializing_if = "Option::is_none")]
1624 pub auth_type: Option<String>,
1625 #[serde(rename = "serverType")]
1627 #[serde(skip_serializing_if = "Option::is_none")]
1628 pub server_type: Option<String>,
1629}
1630
1631#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1632#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1633pub struct StartBuildInput {
1634 #[serde(rename = "artifactsOverride")]
1636 #[serde(skip_serializing_if = "Option::is_none")]
1637 pub artifacts_override: Option<ProjectArtifacts>,
1638 #[serde(rename = "buildStatusConfigOverride")]
1640 #[serde(skip_serializing_if = "Option::is_none")]
1641 pub build_status_config_override: Option<BuildStatusConfig>,
1642 #[serde(rename = "buildspecOverride")]
1644 #[serde(skip_serializing_if = "Option::is_none")]
1645 pub buildspec_override: Option<String>,
1646 #[serde(rename = "cacheOverride")]
1648 #[serde(skip_serializing_if = "Option::is_none")]
1649 pub cache_override: Option<ProjectCache>,
1650 #[serde(rename = "certificateOverride")]
1652 #[serde(skip_serializing_if = "Option::is_none")]
1653 pub certificate_override: Option<String>,
1654 #[serde(rename = "computeTypeOverride")]
1656 #[serde(skip_serializing_if = "Option::is_none")]
1657 pub compute_type_override: Option<String>,
1658 #[serde(rename = "encryptionKeyOverride")]
1660 #[serde(skip_serializing_if = "Option::is_none")]
1661 pub encryption_key_override: Option<String>,
1662 #[serde(rename = "environmentTypeOverride")]
1664 #[serde(skip_serializing_if = "Option::is_none")]
1665 pub environment_type_override: Option<String>,
1666 #[serde(rename = "environmentVariablesOverride")]
1668 #[serde(skip_serializing_if = "Option::is_none")]
1669 pub environment_variables_override: Option<Vec<EnvironmentVariable>>,
1670 #[serde(rename = "gitCloneDepthOverride")]
1672 #[serde(skip_serializing_if = "Option::is_none")]
1673 pub git_clone_depth_override: Option<i64>,
1674 #[serde(rename = "gitSubmodulesConfigOverride")]
1676 #[serde(skip_serializing_if = "Option::is_none")]
1677 pub git_submodules_config_override: Option<GitSubmodulesConfig>,
1678 #[serde(rename = "idempotencyToken")]
1680 #[serde(skip_serializing_if = "Option::is_none")]
1681 pub idempotency_token: Option<String>,
1682 #[serde(rename = "imageOverride")]
1684 #[serde(skip_serializing_if = "Option::is_none")]
1685 pub image_override: Option<String>,
1686 #[serde(rename = "imagePullCredentialsTypeOverride")]
1688 #[serde(skip_serializing_if = "Option::is_none")]
1689 pub image_pull_credentials_type_override: Option<String>,
1690 #[serde(rename = "insecureSslOverride")]
1692 #[serde(skip_serializing_if = "Option::is_none")]
1693 pub insecure_ssl_override: Option<bool>,
1694 #[serde(rename = "logsConfigOverride")]
1696 #[serde(skip_serializing_if = "Option::is_none")]
1697 pub logs_config_override: Option<LogsConfig>,
1698 #[serde(rename = "privilegedModeOverride")]
1700 #[serde(skip_serializing_if = "Option::is_none")]
1701 pub privileged_mode_override: Option<bool>,
1702 #[serde(rename = "projectName")]
1704 pub project_name: String,
1705 #[serde(rename = "queuedTimeoutInMinutesOverride")]
1707 #[serde(skip_serializing_if = "Option::is_none")]
1708 pub queued_timeout_in_minutes_override: Option<i64>,
1709 #[serde(rename = "registryCredentialOverride")]
1711 #[serde(skip_serializing_if = "Option::is_none")]
1712 pub registry_credential_override: Option<RegistryCredential>,
1713 #[serde(rename = "reportBuildStatusOverride")]
1715 #[serde(skip_serializing_if = "Option::is_none")]
1716 pub report_build_status_override: Option<bool>,
1717 #[serde(rename = "secondaryArtifactsOverride")]
1719 #[serde(skip_serializing_if = "Option::is_none")]
1720 pub secondary_artifacts_override: Option<Vec<ProjectArtifacts>>,
1721 #[serde(rename = "secondarySourcesOverride")]
1723 #[serde(skip_serializing_if = "Option::is_none")]
1724 pub secondary_sources_override: Option<Vec<ProjectSource>>,
1725 #[serde(rename = "secondarySourcesVersionOverride")]
1727 #[serde(skip_serializing_if = "Option::is_none")]
1728 pub secondary_sources_version_override: Option<Vec<ProjectSourceVersion>>,
1729 #[serde(rename = "serviceRoleOverride")]
1731 #[serde(skip_serializing_if = "Option::is_none")]
1732 pub service_role_override: Option<String>,
1733 #[serde(rename = "sourceAuthOverride")]
1735 #[serde(skip_serializing_if = "Option::is_none")]
1736 pub source_auth_override: Option<SourceAuth>,
1737 #[serde(rename = "sourceLocationOverride")]
1739 #[serde(skip_serializing_if = "Option::is_none")]
1740 pub source_location_override: Option<String>,
1741 #[serde(rename = "sourceTypeOverride")]
1743 #[serde(skip_serializing_if = "Option::is_none")]
1744 pub source_type_override: Option<String>,
1745 #[serde(rename = "sourceVersion")]
1747 #[serde(skip_serializing_if = "Option::is_none")]
1748 pub source_version: Option<String>,
1749 #[serde(rename = "timeoutInMinutesOverride")]
1751 #[serde(skip_serializing_if = "Option::is_none")]
1752 pub timeout_in_minutes_override: Option<i64>,
1753}
1754
1755#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1756#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1757pub struct StartBuildOutput {
1758 #[serde(rename = "build")]
1760 #[serde(skip_serializing_if = "Option::is_none")]
1761 pub build: Option<Build>,
1762}
1763
1764#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1765#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1766pub struct StopBuildInput {
1767 #[serde(rename = "id")]
1769 pub id: String,
1770}
1771
1772#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1773#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1774pub struct StopBuildOutput {
1775 #[serde(rename = "build")]
1777 #[serde(skip_serializing_if = "Option::is_none")]
1778 pub build: Option<Build>,
1779}
1780
1781#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1783pub struct Tag {
1784 #[serde(rename = "key")]
1786 #[serde(skip_serializing_if = "Option::is_none")]
1787 pub key: Option<String>,
1788 #[serde(rename = "value")]
1790 #[serde(skip_serializing_if = "Option::is_none")]
1791 pub value: Option<String>,
1792}
1793
1794#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1796#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1797pub struct TestCase {
1798 #[serde(rename = "durationInNanoSeconds")]
1800 #[serde(skip_serializing_if = "Option::is_none")]
1801 pub duration_in_nano_seconds: Option<i64>,
1802 #[serde(rename = "expired")]
1804 #[serde(skip_serializing_if = "Option::is_none")]
1805 pub expired: Option<f64>,
1806 #[serde(rename = "message")]
1808 #[serde(skip_serializing_if = "Option::is_none")]
1809 pub message: Option<String>,
1810 #[serde(rename = "name")]
1812 #[serde(skip_serializing_if = "Option::is_none")]
1813 pub name: Option<String>,
1814 #[serde(rename = "prefix")]
1816 #[serde(skip_serializing_if = "Option::is_none")]
1817 pub prefix: Option<String>,
1818 #[serde(rename = "reportArn")]
1820 #[serde(skip_serializing_if = "Option::is_none")]
1821 pub report_arn: Option<String>,
1822 #[serde(rename = "status")]
1824 #[serde(skip_serializing_if = "Option::is_none")]
1825 pub status: Option<String>,
1826 #[serde(rename = "testRawDataPath")]
1828 #[serde(skip_serializing_if = "Option::is_none")]
1829 pub test_raw_data_path: Option<String>,
1830}
1831
1832#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1834#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1835pub struct TestCaseFilter {
1836 #[serde(rename = "status")]
1838 #[serde(skip_serializing_if = "Option::is_none")]
1839 pub status: Option<String>,
1840}
1841
1842#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1844#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1845pub struct TestReportSummary {
1846 #[serde(rename = "durationInNanoSeconds")]
1848 pub duration_in_nano_seconds: i64,
1849 #[serde(rename = "statusCounts")]
1851 pub status_counts: ::std::collections::HashMap<String, i64>,
1852 #[serde(rename = "total")]
1854 pub total: i64,
1855}
1856
1857#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1858#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1859pub struct UpdateProjectInput {
1860 #[serde(rename = "artifacts")]
1862 #[serde(skip_serializing_if = "Option::is_none")]
1863 pub artifacts: Option<ProjectArtifacts>,
1864 #[serde(rename = "badgeEnabled")]
1866 #[serde(skip_serializing_if = "Option::is_none")]
1867 pub badge_enabled: Option<bool>,
1868 #[serde(rename = "cache")]
1870 #[serde(skip_serializing_if = "Option::is_none")]
1871 pub cache: Option<ProjectCache>,
1872 #[serde(rename = "description")]
1874 #[serde(skip_serializing_if = "Option::is_none")]
1875 pub description: Option<String>,
1876 #[serde(rename = "encryptionKey")]
1878 #[serde(skip_serializing_if = "Option::is_none")]
1879 pub encryption_key: Option<String>,
1880 #[serde(rename = "environment")]
1882 #[serde(skip_serializing_if = "Option::is_none")]
1883 pub environment: Option<ProjectEnvironment>,
1884 #[serde(rename = "fileSystemLocations")]
1886 #[serde(skip_serializing_if = "Option::is_none")]
1887 pub file_system_locations: Option<Vec<ProjectFileSystemLocation>>,
1888 #[serde(rename = "logsConfig")]
1890 #[serde(skip_serializing_if = "Option::is_none")]
1891 pub logs_config: Option<LogsConfig>,
1892 #[serde(rename = "name")]
1894 pub name: String,
1895 #[serde(rename = "queuedTimeoutInMinutes")]
1897 #[serde(skip_serializing_if = "Option::is_none")]
1898 pub queued_timeout_in_minutes: Option<i64>,
1899 #[serde(rename = "secondaryArtifacts")]
1901 #[serde(skip_serializing_if = "Option::is_none")]
1902 pub secondary_artifacts: Option<Vec<ProjectArtifacts>>,
1903 #[serde(rename = "secondarySourceVersions")]
1905 #[serde(skip_serializing_if = "Option::is_none")]
1906 pub secondary_source_versions: Option<Vec<ProjectSourceVersion>>,
1907 #[serde(rename = "secondarySources")]
1909 #[serde(skip_serializing_if = "Option::is_none")]
1910 pub secondary_sources: Option<Vec<ProjectSource>>,
1911 #[serde(rename = "serviceRole")]
1913 #[serde(skip_serializing_if = "Option::is_none")]
1914 pub service_role: Option<String>,
1915 #[serde(rename = "source")]
1917 #[serde(skip_serializing_if = "Option::is_none")]
1918 pub source: Option<ProjectSource>,
1919 #[serde(rename = "sourceVersion")]
1921 #[serde(skip_serializing_if = "Option::is_none")]
1922 pub source_version: Option<String>,
1923 #[serde(rename = "tags")]
1925 #[serde(skip_serializing_if = "Option::is_none")]
1926 pub tags: Option<Vec<Tag>>,
1927 #[serde(rename = "timeoutInMinutes")]
1929 #[serde(skip_serializing_if = "Option::is_none")]
1930 pub timeout_in_minutes: Option<i64>,
1931 #[serde(rename = "vpcConfig")]
1933 #[serde(skip_serializing_if = "Option::is_none")]
1934 pub vpc_config: Option<VpcConfig>,
1935}
1936
1937#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1938#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1939pub struct UpdateProjectOutput {
1940 #[serde(rename = "project")]
1942 #[serde(skip_serializing_if = "Option::is_none")]
1943 pub project: Option<Project>,
1944}
1945
1946#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1947#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1948pub struct UpdateReportGroupInput {
1949 #[serde(rename = "arn")]
1951 pub arn: String,
1952 #[serde(rename = "exportConfig")]
1954 #[serde(skip_serializing_if = "Option::is_none")]
1955 pub export_config: Option<ReportExportConfig>,
1956 #[serde(rename = "tags")]
1958 #[serde(skip_serializing_if = "Option::is_none")]
1959 pub tags: Option<Vec<Tag>>,
1960}
1961
1962#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1963#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1964pub struct UpdateReportGroupOutput {
1965 #[serde(rename = "reportGroup")]
1967 #[serde(skip_serializing_if = "Option::is_none")]
1968 pub report_group: Option<ReportGroup>,
1969}
1970
1971#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1972#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1973pub struct UpdateWebhookInput {
1974 #[serde(rename = "branchFilter")]
1976 #[serde(skip_serializing_if = "Option::is_none")]
1977 pub branch_filter: Option<String>,
1978 #[serde(rename = "filterGroups")]
1980 #[serde(skip_serializing_if = "Option::is_none")]
1981 pub filter_groups: Option<Vec<Vec<WebhookFilter>>>,
1982 #[serde(rename = "projectName")]
1984 pub project_name: String,
1985 #[serde(rename = "rotateSecret")]
1987 #[serde(skip_serializing_if = "Option::is_none")]
1988 pub rotate_secret: Option<bool>,
1989}
1990
1991#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1992#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1993pub struct UpdateWebhookOutput {
1994 #[serde(rename = "webhook")]
1996 #[serde(skip_serializing_if = "Option::is_none")]
1997 pub webhook: Option<Webhook>,
1998}
1999
2000#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2002pub struct VpcConfig {
2003 #[serde(rename = "securityGroupIds")]
2005 #[serde(skip_serializing_if = "Option::is_none")]
2006 pub security_group_ids: Option<Vec<String>>,
2007 #[serde(rename = "subnets")]
2009 #[serde(skip_serializing_if = "Option::is_none")]
2010 pub subnets: Option<Vec<String>>,
2011 #[serde(rename = "vpcId")]
2013 #[serde(skip_serializing_if = "Option::is_none")]
2014 pub vpc_id: Option<String>,
2015}
2016
2017#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2019#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2020pub struct Webhook {
2021 #[serde(rename = "branchFilter")]
2023 #[serde(skip_serializing_if = "Option::is_none")]
2024 pub branch_filter: Option<String>,
2025 #[serde(rename = "filterGroups")]
2027 #[serde(skip_serializing_if = "Option::is_none")]
2028 pub filter_groups: Option<Vec<Vec<WebhookFilter>>>,
2029 #[serde(rename = "lastModifiedSecret")]
2031 #[serde(skip_serializing_if = "Option::is_none")]
2032 pub last_modified_secret: Option<f64>,
2033 #[serde(rename = "payloadUrl")]
2035 #[serde(skip_serializing_if = "Option::is_none")]
2036 pub payload_url: Option<String>,
2037 #[serde(rename = "secret")]
2039 #[serde(skip_serializing_if = "Option::is_none")]
2040 pub secret: Option<String>,
2041 #[serde(rename = "url")]
2043 #[serde(skip_serializing_if = "Option::is_none")]
2044 pub url: Option<String>,
2045}
2046
2047#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2049pub struct WebhookFilter {
2050 #[serde(rename = "excludeMatchedPattern")]
2052 #[serde(skip_serializing_if = "Option::is_none")]
2053 pub exclude_matched_pattern: Option<bool>,
2054 #[serde(rename = "pattern")]
2056 pub pattern: String,
2057 #[serde(rename = "type")]
2059 pub type_: String,
2060}
2061
2062#[derive(Debug, PartialEq)]
2064pub enum BatchDeleteBuildsError {
2065 InvalidInput(String),
2067}
2068
2069impl BatchDeleteBuildsError {
2070 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchDeleteBuildsError> {
2071 if let Some(err) = proto::json::Error::parse(&res) {
2072 match err.typ.as_str() {
2073 "InvalidInputException" => {
2074 return RusotoError::Service(BatchDeleteBuildsError::InvalidInput(err.msg))
2075 }
2076 "ValidationException" => return RusotoError::Validation(err.msg),
2077 _ => {}
2078 }
2079 }
2080 RusotoError::Unknown(res)
2081 }
2082}
2083impl fmt::Display for BatchDeleteBuildsError {
2084 #[allow(unused_variables)]
2085 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2086 match *self {
2087 BatchDeleteBuildsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2088 }
2089 }
2090}
2091impl Error for BatchDeleteBuildsError {}
2092#[derive(Debug, PartialEq)]
2094pub enum BatchGetBuildsError {
2095 InvalidInput(String),
2097}
2098
2099impl BatchGetBuildsError {
2100 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchGetBuildsError> {
2101 if let Some(err) = proto::json::Error::parse(&res) {
2102 match err.typ.as_str() {
2103 "InvalidInputException" => {
2104 return RusotoError::Service(BatchGetBuildsError::InvalidInput(err.msg))
2105 }
2106 "ValidationException" => return RusotoError::Validation(err.msg),
2107 _ => {}
2108 }
2109 }
2110 RusotoError::Unknown(res)
2111 }
2112}
2113impl fmt::Display for BatchGetBuildsError {
2114 #[allow(unused_variables)]
2115 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2116 match *self {
2117 BatchGetBuildsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2118 }
2119 }
2120}
2121impl Error for BatchGetBuildsError {}
2122#[derive(Debug, PartialEq)]
2124pub enum BatchGetProjectsError {
2125 InvalidInput(String),
2127}
2128
2129impl BatchGetProjectsError {
2130 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchGetProjectsError> {
2131 if let Some(err) = proto::json::Error::parse(&res) {
2132 match err.typ.as_str() {
2133 "InvalidInputException" => {
2134 return RusotoError::Service(BatchGetProjectsError::InvalidInput(err.msg))
2135 }
2136 "ValidationException" => return RusotoError::Validation(err.msg),
2137 _ => {}
2138 }
2139 }
2140 RusotoError::Unknown(res)
2141 }
2142}
2143impl fmt::Display for BatchGetProjectsError {
2144 #[allow(unused_variables)]
2145 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2146 match *self {
2147 BatchGetProjectsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2148 }
2149 }
2150}
2151impl Error for BatchGetProjectsError {}
2152#[derive(Debug, PartialEq)]
2154pub enum BatchGetReportGroupsError {
2155 InvalidInput(String),
2157}
2158
2159impl BatchGetReportGroupsError {
2160 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchGetReportGroupsError> {
2161 if let Some(err) = proto::json::Error::parse(&res) {
2162 match err.typ.as_str() {
2163 "InvalidInputException" => {
2164 return RusotoError::Service(BatchGetReportGroupsError::InvalidInput(err.msg))
2165 }
2166 "ValidationException" => return RusotoError::Validation(err.msg),
2167 _ => {}
2168 }
2169 }
2170 RusotoError::Unknown(res)
2171 }
2172}
2173impl fmt::Display for BatchGetReportGroupsError {
2174 #[allow(unused_variables)]
2175 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2176 match *self {
2177 BatchGetReportGroupsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2178 }
2179 }
2180}
2181impl Error for BatchGetReportGroupsError {}
2182#[derive(Debug, PartialEq)]
2184pub enum BatchGetReportsError {
2185 InvalidInput(String),
2187}
2188
2189impl BatchGetReportsError {
2190 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchGetReportsError> {
2191 if let Some(err) = proto::json::Error::parse(&res) {
2192 match err.typ.as_str() {
2193 "InvalidInputException" => {
2194 return RusotoError::Service(BatchGetReportsError::InvalidInput(err.msg))
2195 }
2196 "ValidationException" => return RusotoError::Validation(err.msg),
2197 _ => {}
2198 }
2199 }
2200 RusotoError::Unknown(res)
2201 }
2202}
2203impl fmt::Display for BatchGetReportsError {
2204 #[allow(unused_variables)]
2205 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2206 match *self {
2207 BatchGetReportsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2208 }
2209 }
2210}
2211impl Error for BatchGetReportsError {}
2212#[derive(Debug, PartialEq)]
2214pub enum CreateProjectError {
2215 AccountLimitExceeded(String),
2217 InvalidInput(String),
2219 ResourceAlreadyExists(String),
2221}
2222
2223impl CreateProjectError {
2224 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateProjectError> {
2225 if let Some(err) = proto::json::Error::parse(&res) {
2226 match err.typ.as_str() {
2227 "AccountLimitExceededException" => {
2228 return RusotoError::Service(CreateProjectError::AccountLimitExceeded(err.msg))
2229 }
2230 "InvalidInputException" => {
2231 return RusotoError::Service(CreateProjectError::InvalidInput(err.msg))
2232 }
2233 "ResourceAlreadyExistsException" => {
2234 return RusotoError::Service(CreateProjectError::ResourceAlreadyExists(err.msg))
2235 }
2236 "ValidationException" => return RusotoError::Validation(err.msg),
2237 _ => {}
2238 }
2239 }
2240 RusotoError::Unknown(res)
2241 }
2242}
2243impl fmt::Display for CreateProjectError {
2244 #[allow(unused_variables)]
2245 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2246 match *self {
2247 CreateProjectError::AccountLimitExceeded(ref cause) => write!(f, "{}", cause),
2248 CreateProjectError::InvalidInput(ref cause) => write!(f, "{}", cause),
2249 CreateProjectError::ResourceAlreadyExists(ref cause) => write!(f, "{}", cause),
2250 }
2251 }
2252}
2253impl Error for CreateProjectError {}
2254#[derive(Debug, PartialEq)]
2256pub enum CreateReportGroupError {
2257 AccountLimitExceeded(String),
2259 InvalidInput(String),
2261 ResourceAlreadyExists(String),
2263}
2264
2265impl CreateReportGroupError {
2266 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateReportGroupError> {
2267 if let Some(err) = proto::json::Error::parse(&res) {
2268 match err.typ.as_str() {
2269 "AccountLimitExceededException" => {
2270 return RusotoError::Service(CreateReportGroupError::AccountLimitExceeded(
2271 err.msg,
2272 ))
2273 }
2274 "InvalidInputException" => {
2275 return RusotoError::Service(CreateReportGroupError::InvalidInput(err.msg))
2276 }
2277 "ResourceAlreadyExistsException" => {
2278 return RusotoError::Service(CreateReportGroupError::ResourceAlreadyExists(
2279 err.msg,
2280 ))
2281 }
2282 "ValidationException" => return RusotoError::Validation(err.msg),
2283 _ => {}
2284 }
2285 }
2286 RusotoError::Unknown(res)
2287 }
2288}
2289impl fmt::Display for CreateReportGroupError {
2290 #[allow(unused_variables)]
2291 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2292 match *self {
2293 CreateReportGroupError::AccountLimitExceeded(ref cause) => write!(f, "{}", cause),
2294 CreateReportGroupError::InvalidInput(ref cause) => write!(f, "{}", cause),
2295 CreateReportGroupError::ResourceAlreadyExists(ref cause) => write!(f, "{}", cause),
2296 }
2297 }
2298}
2299impl Error for CreateReportGroupError {}
2300#[derive(Debug, PartialEq)]
2302pub enum CreateWebhookError {
2303 InvalidInput(String),
2305 OAuthProvider(String),
2307 ResourceAlreadyExists(String),
2309 ResourceNotFound(String),
2311}
2312
2313impl CreateWebhookError {
2314 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateWebhookError> {
2315 if let Some(err) = proto::json::Error::parse(&res) {
2316 match err.typ.as_str() {
2317 "InvalidInputException" => {
2318 return RusotoError::Service(CreateWebhookError::InvalidInput(err.msg))
2319 }
2320 "OAuthProviderException" => {
2321 return RusotoError::Service(CreateWebhookError::OAuthProvider(err.msg))
2322 }
2323 "ResourceAlreadyExistsException" => {
2324 return RusotoError::Service(CreateWebhookError::ResourceAlreadyExists(err.msg))
2325 }
2326 "ResourceNotFoundException" => {
2327 return RusotoError::Service(CreateWebhookError::ResourceNotFound(err.msg))
2328 }
2329 "ValidationException" => return RusotoError::Validation(err.msg),
2330 _ => {}
2331 }
2332 }
2333 RusotoError::Unknown(res)
2334 }
2335}
2336impl fmt::Display for CreateWebhookError {
2337 #[allow(unused_variables)]
2338 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2339 match *self {
2340 CreateWebhookError::InvalidInput(ref cause) => write!(f, "{}", cause),
2341 CreateWebhookError::OAuthProvider(ref cause) => write!(f, "{}", cause),
2342 CreateWebhookError::ResourceAlreadyExists(ref cause) => write!(f, "{}", cause),
2343 CreateWebhookError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2344 }
2345 }
2346}
2347impl Error for CreateWebhookError {}
2348#[derive(Debug, PartialEq)]
2350pub enum DeleteProjectError {
2351 InvalidInput(String),
2353}
2354
2355impl DeleteProjectError {
2356 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteProjectError> {
2357 if let Some(err) = proto::json::Error::parse(&res) {
2358 match err.typ.as_str() {
2359 "InvalidInputException" => {
2360 return RusotoError::Service(DeleteProjectError::InvalidInput(err.msg))
2361 }
2362 "ValidationException" => return RusotoError::Validation(err.msg),
2363 _ => {}
2364 }
2365 }
2366 RusotoError::Unknown(res)
2367 }
2368}
2369impl fmt::Display for DeleteProjectError {
2370 #[allow(unused_variables)]
2371 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2372 match *self {
2373 DeleteProjectError::InvalidInput(ref cause) => write!(f, "{}", cause),
2374 }
2375 }
2376}
2377impl Error for DeleteProjectError {}
2378#[derive(Debug, PartialEq)]
2380pub enum DeleteReportError {
2381 InvalidInput(String),
2383}
2384
2385impl DeleteReportError {
2386 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteReportError> {
2387 if let Some(err) = proto::json::Error::parse(&res) {
2388 match err.typ.as_str() {
2389 "InvalidInputException" => {
2390 return RusotoError::Service(DeleteReportError::InvalidInput(err.msg))
2391 }
2392 "ValidationException" => return RusotoError::Validation(err.msg),
2393 _ => {}
2394 }
2395 }
2396 RusotoError::Unknown(res)
2397 }
2398}
2399impl fmt::Display for DeleteReportError {
2400 #[allow(unused_variables)]
2401 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2402 match *self {
2403 DeleteReportError::InvalidInput(ref cause) => write!(f, "{}", cause),
2404 }
2405 }
2406}
2407impl Error for DeleteReportError {}
2408#[derive(Debug, PartialEq)]
2410pub enum DeleteReportGroupError {
2411 InvalidInput(String),
2413}
2414
2415impl DeleteReportGroupError {
2416 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteReportGroupError> {
2417 if let Some(err) = proto::json::Error::parse(&res) {
2418 match err.typ.as_str() {
2419 "InvalidInputException" => {
2420 return RusotoError::Service(DeleteReportGroupError::InvalidInput(err.msg))
2421 }
2422 "ValidationException" => return RusotoError::Validation(err.msg),
2423 _ => {}
2424 }
2425 }
2426 RusotoError::Unknown(res)
2427 }
2428}
2429impl fmt::Display for DeleteReportGroupError {
2430 #[allow(unused_variables)]
2431 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2432 match *self {
2433 DeleteReportGroupError::InvalidInput(ref cause) => write!(f, "{}", cause),
2434 }
2435 }
2436}
2437impl Error for DeleteReportGroupError {}
2438#[derive(Debug, PartialEq)]
2440pub enum DeleteResourcePolicyError {
2441 InvalidInput(String),
2443}
2444
2445impl DeleteResourcePolicyError {
2446 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteResourcePolicyError> {
2447 if let Some(err) = proto::json::Error::parse(&res) {
2448 match err.typ.as_str() {
2449 "InvalidInputException" => {
2450 return RusotoError::Service(DeleteResourcePolicyError::InvalidInput(err.msg))
2451 }
2452 "ValidationException" => return RusotoError::Validation(err.msg),
2453 _ => {}
2454 }
2455 }
2456 RusotoError::Unknown(res)
2457 }
2458}
2459impl fmt::Display for DeleteResourcePolicyError {
2460 #[allow(unused_variables)]
2461 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2462 match *self {
2463 DeleteResourcePolicyError::InvalidInput(ref cause) => write!(f, "{}", cause),
2464 }
2465 }
2466}
2467impl Error for DeleteResourcePolicyError {}
2468#[derive(Debug, PartialEq)]
2470pub enum DeleteSourceCredentialsError {
2471 InvalidInput(String),
2473 ResourceNotFound(String),
2475}
2476
2477impl DeleteSourceCredentialsError {
2478 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteSourceCredentialsError> {
2479 if let Some(err) = proto::json::Error::parse(&res) {
2480 match err.typ.as_str() {
2481 "InvalidInputException" => {
2482 return RusotoError::Service(DeleteSourceCredentialsError::InvalidInput(
2483 err.msg,
2484 ))
2485 }
2486 "ResourceNotFoundException" => {
2487 return RusotoError::Service(DeleteSourceCredentialsError::ResourceNotFound(
2488 err.msg,
2489 ))
2490 }
2491 "ValidationException" => return RusotoError::Validation(err.msg),
2492 _ => {}
2493 }
2494 }
2495 RusotoError::Unknown(res)
2496 }
2497}
2498impl fmt::Display for DeleteSourceCredentialsError {
2499 #[allow(unused_variables)]
2500 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2501 match *self {
2502 DeleteSourceCredentialsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2503 DeleteSourceCredentialsError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2504 }
2505 }
2506}
2507impl Error for DeleteSourceCredentialsError {}
2508#[derive(Debug, PartialEq)]
2510pub enum DeleteWebhookError {
2511 InvalidInput(String),
2513 OAuthProvider(String),
2515 ResourceNotFound(String),
2517}
2518
2519impl DeleteWebhookError {
2520 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteWebhookError> {
2521 if let Some(err) = proto::json::Error::parse(&res) {
2522 match err.typ.as_str() {
2523 "InvalidInputException" => {
2524 return RusotoError::Service(DeleteWebhookError::InvalidInput(err.msg))
2525 }
2526 "OAuthProviderException" => {
2527 return RusotoError::Service(DeleteWebhookError::OAuthProvider(err.msg))
2528 }
2529 "ResourceNotFoundException" => {
2530 return RusotoError::Service(DeleteWebhookError::ResourceNotFound(err.msg))
2531 }
2532 "ValidationException" => return RusotoError::Validation(err.msg),
2533 _ => {}
2534 }
2535 }
2536 RusotoError::Unknown(res)
2537 }
2538}
2539impl fmt::Display for DeleteWebhookError {
2540 #[allow(unused_variables)]
2541 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2542 match *self {
2543 DeleteWebhookError::InvalidInput(ref cause) => write!(f, "{}", cause),
2544 DeleteWebhookError::OAuthProvider(ref cause) => write!(f, "{}", cause),
2545 DeleteWebhookError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2546 }
2547 }
2548}
2549impl Error for DeleteWebhookError {}
2550#[derive(Debug, PartialEq)]
2552pub enum DescribeTestCasesError {
2553 InvalidInput(String),
2555 ResourceNotFound(String),
2557}
2558
2559impl DescribeTestCasesError {
2560 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeTestCasesError> {
2561 if let Some(err) = proto::json::Error::parse(&res) {
2562 match err.typ.as_str() {
2563 "InvalidInputException" => {
2564 return RusotoError::Service(DescribeTestCasesError::InvalidInput(err.msg))
2565 }
2566 "ResourceNotFoundException" => {
2567 return RusotoError::Service(DescribeTestCasesError::ResourceNotFound(err.msg))
2568 }
2569 "ValidationException" => return RusotoError::Validation(err.msg),
2570 _ => {}
2571 }
2572 }
2573 RusotoError::Unknown(res)
2574 }
2575}
2576impl fmt::Display for DescribeTestCasesError {
2577 #[allow(unused_variables)]
2578 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2579 match *self {
2580 DescribeTestCasesError::InvalidInput(ref cause) => write!(f, "{}", cause),
2581 DescribeTestCasesError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2582 }
2583 }
2584}
2585impl Error for DescribeTestCasesError {}
2586#[derive(Debug, PartialEq)]
2588pub enum GetResourcePolicyError {
2589 InvalidInput(String),
2591 ResourceNotFound(String),
2593}
2594
2595impl GetResourcePolicyError {
2596 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<GetResourcePolicyError> {
2597 if let Some(err) = proto::json::Error::parse(&res) {
2598 match err.typ.as_str() {
2599 "InvalidInputException" => {
2600 return RusotoError::Service(GetResourcePolicyError::InvalidInput(err.msg))
2601 }
2602 "ResourceNotFoundException" => {
2603 return RusotoError::Service(GetResourcePolicyError::ResourceNotFound(err.msg))
2604 }
2605 "ValidationException" => return RusotoError::Validation(err.msg),
2606 _ => {}
2607 }
2608 }
2609 RusotoError::Unknown(res)
2610 }
2611}
2612impl fmt::Display for GetResourcePolicyError {
2613 #[allow(unused_variables)]
2614 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2615 match *self {
2616 GetResourcePolicyError::InvalidInput(ref cause) => write!(f, "{}", cause),
2617 GetResourcePolicyError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2618 }
2619 }
2620}
2621impl Error for GetResourcePolicyError {}
2622#[derive(Debug, PartialEq)]
2624pub enum ImportSourceCredentialsError {
2625 AccountLimitExceeded(String),
2627 InvalidInput(String),
2629 ResourceAlreadyExists(String),
2631}
2632
2633impl ImportSourceCredentialsError {
2634 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ImportSourceCredentialsError> {
2635 if let Some(err) = proto::json::Error::parse(&res) {
2636 match err.typ.as_str() {
2637 "AccountLimitExceededException" => {
2638 return RusotoError::Service(
2639 ImportSourceCredentialsError::AccountLimitExceeded(err.msg),
2640 )
2641 }
2642 "InvalidInputException" => {
2643 return RusotoError::Service(ImportSourceCredentialsError::InvalidInput(
2644 err.msg,
2645 ))
2646 }
2647 "ResourceAlreadyExistsException" => {
2648 return RusotoError::Service(
2649 ImportSourceCredentialsError::ResourceAlreadyExists(err.msg),
2650 )
2651 }
2652 "ValidationException" => return RusotoError::Validation(err.msg),
2653 _ => {}
2654 }
2655 }
2656 RusotoError::Unknown(res)
2657 }
2658}
2659impl fmt::Display for ImportSourceCredentialsError {
2660 #[allow(unused_variables)]
2661 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2662 match *self {
2663 ImportSourceCredentialsError::AccountLimitExceeded(ref cause) => write!(f, "{}", cause),
2664 ImportSourceCredentialsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2665 ImportSourceCredentialsError::ResourceAlreadyExists(ref cause) => {
2666 write!(f, "{}", cause)
2667 }
2668 }
2669 }
2670}
2671impl Error for ImportSourceCredentialsError {}
2672#[derive(Debug, PartialEq)]
2674pub enum InvalidateProjectCacheError {
2675 InvalidInput(String),
2677 ResourceNotFound(String),
2679}
2680
2681impl InvalidateProjectCacheError {
2682 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<InvalidateProjectCacheError> {
2683 if let Some(err) = proto::json::Error::parse(&res) {
2684 match err.typ.as_str() {
2685 "InvalidInputException" => {
2686 return RusotoError::Service(InvalidateProjectCacheError::InvalidInput(err.msg))
2687 }
2688 "ResourceNotFoundException" => {
2689 return RusotoError::Service(InvalidateProjectCacheError::ResourceNotFound(
2690 err.msg,
2691 ))
2692 }
2693 "ValidationException" => return RusotoError::Validation(err.msg),
2694 _ => {}
2695 }
2696 }
2697 RusotoError::Unknown(res)
2698 }
2699}
2700impl fmt::Display for InvalidateProjectCacheError {
2701 #[allow(unused_variables)]
2702 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2703 match *self {
2704 InvalidateProjectCacheError::InvalidInput(ref cause) => write!(f, "{}", cause),
2705 InvalidateProjectCacheError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2706 }
2707 }
2708}
2709impl Error for InvalidateProjectCacheError {}
2710#[derive(Debug, PartialEq)]
2712pub enum ListBuildsError {
2713 InvalidInput(String),
2715}
2716
2717impl ListBuildsError {
2718 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListBuildsError> {
2719 if let Some(err) = proto::json::Error::parse(&res) {
2720 match err.typ.as_str() {
2721 "InvalidInputException" => {
2722 return RusotoError::Service(ListBuildsError::InvalidInput(err.msg))
2723 }
2724 "ValidationException" => return RusotoError::Validation(err.msg),
2725 _ => {}
2726 }
2727 }
2728 RusotoError::Unknown(res)
2729 }
2730}
2731impl fmt::Display for ListBuildsError {
2732 #[allow(unused_variables)]
2733 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2734 match *self {
2735 ListBuildsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2736 }
2737 }
2738}
2739impl Error for ListBuildsError {}
2740#[derive(Debug, PartialEq)]
2742pub enum ListBuildsForProjectError {
2743 InvalidInput(String),
2745 ResourceNotFound(String),
2747}
2748
2749impl ListBuildsForProjectError {
2750 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListBuildsForProjectError> {
2751 if let Some(err) = proto::json::Error::parse(&res) {
2752 match err.typ.as_str() {
2753 "InvalidInputException" => {
2754 return RusotoError::Service(ListBuildsForProjectError::InvalidInput(err.msg))
2755 }
2756 "ResourceNotFoundException" => {
2757 return RusotoError::Service(ListBuildsForProjectError::ResourceNotFound(
2758 err.msg,
2759 ))
2760 }
2761 "ValidationException" => return RusotoError::Validation(err.msg),
2762 _ => {}
2763 }
2764 }
2765 RusotoError::Unknown(res)
2766 }
2767}
2768impl fmt::Display for ListBuildsForProjectError {
2769 #[allow(unused_variables)]
2770 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2771 match *self {
2772 ListBuildsForProjectError::InvalidInput(ref cause) => write!(f, "{}", cause),
2773 ListBuildsForProjectError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2774 }
2775 }
2776}
2777impl Error for ListBuildsForProjectError {}
2778#[derive(Debug, PartialEq)]
2780pub enum ListCuratedEnvironmentImagesError {}
2781
2782impl ListCuratedEnvironmentImagesError {
2783 pub fn from_response(
2784 res: BufferedHttpResponse,
2785 ) -> RusotoError<ListCuratedEnvironmentImagesError> {
2786 if let Some(err) = proto::json::Error::parse(&res) {
2787 match err.typ.as_str() {
2788 "ValidationException" => return RusotoError::Validation(err.msg),
2789 _ => {}
2790 }
2791 }
2792 RusotoError::Unknown(res)
2793 }
2794}
2795impl fmt::Display for ListCuratedEnvironmentImagesError {
2796 #[allow(unused_variables)]
2797 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2798 match *self {}
2799 }
2800}
2801impl Error for ListCuratedEnvironmentImagesError {}
2802#[derive(Debug, PartialEq)]
2804pub enum ListProjectsError {
2805 InvalidInput(String),
2807}
2808
2809impl ListProjectsError {
2810 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListProjectsError> {
2811 if let Some(err) = proto::json::Error::parse(&res) {
2812 match err.typ.as_str() {
2813 "InvalidInputException" => {
2814 return RusotoError::Service(ListProjectsError::InvalidInput(err.msg))
2815 }
2816 "ValidationException" => return RusotoError::Validation(err.msg),
2817 _ => {}
2818 }
2819 }
2820 RusotoError::Unknown(res)
2821 }
2822}
2823impl fmt::Display for ListProjectsError {
2824 #[allow(unused_variables)]
2825 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2826 match *self {
2827 ListProjectsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2828 }
2829 }
2830}
2831impl Error for ListProjectsError {}
2832#[derive(Debug, PartialEq)]
2834pub enum ListReportGroupsError {
2835 InvalidInput(String),
2837}
2838
2839impl ListReportGroupsError {
2840 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListReportGroupsError> {
2841 if let Some(err) = proto::json::Error::parse(&res) {
2842 match err.typ.as_str() {
2843 "InvalidInputException" => {
2844 return RusotoError::Service(ListReportGroupsError::InvalidInput(err.msg))
2845 }
2846 "ValidationException" => return RusotoError::Validation(err.msg),
2847 _ => {}
2848 }
2849 }
2850 RusotoError::Unknown(res)
2851 }
2852}
2853impl fmt::Display for ListReportGroupsError {
2854 #[allow(unused_variables)]
2855 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2856 match *self {
2857 ListReportGroupsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2858 }
2859 }
2860}
2861impl Error for ListReportGroupsError {}
2862#[derive(Debug, PartialEq)]
2864pub enum ListReportsError {
2865 InvalidInput(String),
2867}
2868
2869impl ListReportsError {
2870 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListReportsError> {
2871 if let Some(err) = proto::json::Error::parse(&res) {
2872 match err.typ.as_str() {
2873 "InvalidInputException" => {
2874 return RusotoError::Service(ListReportsError::InvalidInput(err.msg))
2875 }
2876 "ValidationException" => return RusotoError::Validation(err.msg),
2877 _ => {}
2878 }
2879 }
2880 RusotoError::Unknown(res)
2881 }
2882}
2883impl fmt::Display for ListReportsError {
2884 #[allow(unused_variables)]
2885 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2886 match *self {
2887 ListReportsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2888 }
2889 }
2890}
2891impl Error for ListReportsError {}
2892#[derive(Debug, PartialEq)]
2894pub enum ListReportsForReportGroupError {
2895 InvalidInput(String),
2897 ResourceNotFound(String),
2899}
2900
2901impl ListReportsForReportGroupError {
2902 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListReportsForReportGroupError> {
2903 if let Some(err) = proto::json::Error::parse(&res) {
2904 match err.typ.as_str() {
2905 "InvalidInputException" => {
2906 return RusotoError::Service(ListReportsForReportGroupError::InvalidInput(
2907 err.msg,
2908 ))
2909 }
2910 "ResourceNotFoundException" => {
2911 return RusotoError::Service(ListReportsForReportGroupError::ResourceNotFound(
2912 err.msg,
2913 ))
2914 }
2915 "ValidationException" => return RusotoError::Validation(err.msg),
2916 _ => {}
2917 }
2918 }
2919 RusotoError::Unknown(res)
2920 }
2921}
2922impl fmt::Display for ListReportsForReportGroupError {
2923 #[allow(unused_variables)]
2924 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2925 match *self {
2926 ListReportsForReportGroupError::InvalidInput(ref cause) => write!(f, "{}", cause),
2927 ListReportsForReportGroupError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2928 }
2929 }
2930}
2931impl Error for ListReportsForReportGroupError {}
2932#[derive(Debug, PartialEq)]
2934pub enum ListSharedProjectsError {
2935 InvalidInput(String),
2937}
2938
2939impl ListSharedProjectsError {
2940 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListSharedProjectsError> {
2941 if let Some(err) = proto::json::Error::parse(&res) {
2942 match err.typ.as_str() {
2943 "InvalidInputException" => {
2944 return RusotoError::Service(ListSharedProjectsError::InvalidInput(err.msg))
2945 }
2946 "ValidationException" => return RusotoError::Validation(err.msg),
2947 _ => {}
2948 }
2949 }
2950 RusotoError::Unknown(res)
2951 }
2952}
2953impl fmt::Display for ListSharedProjectsError {
2954 #[allow(unused_variables)]
2955 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2956 match *self {
2957 ListSharedProjectsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2958 }
2959 }
2960}
2961impl Error for ListSharedProjectsError {}
2962#[derive(Debug, PartialEq)]
2964pub enum ListSharedReportGroupsError {
2965 InvalidInput(String),
2967}
2968
2969impl ListSharedReportGroupsError {
2970 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListSharedReportGroupsError> {
2971 if let Some(err) = proto::json::Error::parse(&res) {
2972 match err.typ.as_str() {
2973 "InvalidInputException" => {
2974 return RusotoError::Service(ListSharedReportGroupsError::InvalidInput(err.msg))
2975 }
2976 "ValidationException" => return RusotoError::Validation(err.msg),
2977 _ => {}
2978 }
2979 }
2980 RusotoError::Unknown(res)
2981 }
2982}
2983impl fmt::Display for ListSharedReportGroupsError {
2984 #[allow(unused_variables)]
2985 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2986 match *self {
2987 ListSharedReportGroupsError::InvalidInput(ref cause) => write!(f, "{}", cause),
2988 }
2989 }
2990}
2991impl Error for ListSharedReportGroupsError {}
2992#[derive(Debug, PartialEq)]
2994pub enum ListSourceCredentialsError {}
2995
2996impl ListSourceCredentialsError {
2997 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListSourceCredentialsError> {
2998 if let Some(err) = proto::json::Error::parse(&res) {
2999 match err.typ.as_str() {
3000 "ValidationException" => return RusotoError::Validation(err.msg),
3001 _ => {}
3002 }
3003 }
3004 RusotoError::Unknown(res)
3005 }
3006}
3007impl fmt::Display for ListSourceCredentialsError {
3008 #[allow(unused_variables)]
3009 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3010 match *self {}
3011 }
3012}
3013impl Error for ListSourceCredentialsError {}
3014#[derive(Debug, PartialEq)]
3016pub enum PutResourcePolicyError {
3017 InvalidInput(String),
3019 ResourceNotFound(String),
3021}
3022
3023impl PutResourcePolicyError {
3024 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<PutResourcePolicyError> {
3025 if let Some(err) = proto::json::Error::parse(&res) {
3026 match err.typ.as_str() {
3027 "InvalidInputException" => {
3028 return RusotoError::Service(PutResourcePolicyError::InvalidInput(err.msg))
3029 }
3030 "ResourceNotFoundException" => {
3031 return RusotoError::Service(PutResourcePolicyError::ResourceNotFound(err.msg))
3032 }
3033 "ValidationException" => return RusotoError::Validation(err.msg),
3034 _ => {}
3035 }
3036 }
3037 RusotoError::Unknown(res)
3038 }
3039}
3040impl fmt::Display for PutResourcePolicyError {
3041 #[allow(unused_variables)]
3042 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3043 match *self {
3044 PutResourcePolicyError::InvalidInput(ref cause) => write!(f, "{}", cause),
3045 PutResourcePolicyError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
3046 }
3047 }
3048}
3049impl Error for PutResourcePolicyError {}
3050#[derive(Debug, PartialEq)]
3052pub enum StartBuildError {
3053 AccountLimitExceeded(String),
3055 InvalidInput(String),
3057 ResourceNotFound(String),
3059}
3060
3061impl StartBuildError {
3062 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartBuildError> {
3063 if let Some(err) = proto::json::Error::parse(&res) {
3064 match err.typ.as_str() {
3065 "AccountLimitExceededException" => {
3066 return RusotoError::Service(StartBuildError::AccountLimitExceeded(err.msg))
3067 }
3068 "InvalidInputException" => {
3069 return RusotoError::Service(StartBuildError::InvalidInput(err.msg))
3070 }
3071 "ResourceNotFoundException" => {
3072 return RusotoError::Service(StartBuildError::ResourceNotFound(err.msg))
3073 }
3074 "ValidationException" => return RusotoError::Validation(err.msg),
3075 _ => {}
3076 }
3077 }
3078 RusotoError::Unknown(res)
3079 }
3080}
3081impl fmt::Display for StartBuildError {
3082 #[allow(unused_variables)]
3083 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3084 match *self {
3085 StartBuildError::AccountLimitExceeded(ref cause) => write!(f, "{}", cause),
3086 StartBuildError::InvalidInput(ref cause) => write!(f, "{}", cause),
3087 StartBuildError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
3088 }
3089 }
3090}
3091impl Error for StartBuildError {}
3092#[derive(Debug, PartialEq)]
3094pub enum StopBuildError {
3095 InvalidInput(String),
3097 ResourceNotFound(String),
3099}
3100
3101impl StopBuildError {
3102 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StopBuildError> {
3103 if let Some(err) = proto::json::Error::parse(&res) {
3104 match err.typ.as_str() {
3105 "InvalidInputException" => {
3106 return RusotoError::Service(StopBuildError::InvalidInput(err.msg))
3107 }
3108 "ResourceNotFoundException" => {
3109 return RusotoError::Service(StopBuildError::ResourceNotFound(err.msg))
3110 }
3111 "ValidationException" => return RusotoError::Validation(err.msg),
3112 _ => {}
3113 }
3114 }
3115 RusotoError::Unknown(res)
3116 }
3117}
3118impl fmt::Display for StopBuildError {
3119 #[allow(unused_variables)]
3120 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3121 match *self {
3122 StopBuildError::InvalidInput(ref cause) => write!(f, "{}", cause),
3123 StopBuildError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
3124 }
3125 }
3126}
3127impl Error for StopBuildError {}
3128#[derive(Debug, PartialEq)]
3130pub enum UpdateProjectError {
3131 InvalidInput(String),
3133 ResourceNotFound(String),
3135}
3136
3137impl UpdateProjectError {
3138 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateProjectError> {
3139 if let Some(err) = proto::json::Error::parse(&res) {
3140 match err.typ.as_str() {
3141 "InvalidInputException" => {
3142 return RusotoError::Service(UpdateProjectError::InvalidInput(err.msg))
3143 }
3144 "ResourceNotFoundException" => {
3145 return RusotoError::Service(UpdateProjectError::ResourceNotFound(err.msg))
3146 }
3147 "ValidationException" => return RusotoError::Validation(err.msg),
3148 _ => {}
3149 }
3150 }
3151 RusotoError::Unknown(res)
3152 }
3153}
3154impl fmt::Display for UpdateProjectError {
3155 #[allow(unused_variables)]
3156 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3157 match *self {
3158 UpdateProjectError::InvalidInput(ref cause) => write!(f, "{}", cause),
3159 UpdateProjectError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
3160 }
3161 }
3162}
3163impl Error for UpdateProjectError {}
3164#[derive(Debug, PartialEq)]
3166pub enum UpdateReportGroupError {
3167 InvalidInput(String),
3169 ResourceNotFound(String),
3171}
3172
3173impl UpdateReportGroupError {
3174 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateReportGroupError> {
3175 if let Some(err) = proto::json::Error::parse(&res) {
3176 match err.typ.as_str() {
3177 "InvalidInputException" => {
3178 return RusotoError::Service(UpdateReportGroupError::InvalidInput(err.msg))
3179 }
3180 "ResourceNotFoundException" => {
3181 return RusotoError::Service(UpdateReportGroupError::ResourceNotFound(err.msg))
3182 }
3183 "ValidationException" => return RusotoError::Validation(err.msg),
3184 _ => {}
3185 }
3186 }
3187 RusotoError::Unknown(res)
3188 }
3189}
3190impl fmt::Display for UpdateReportGroupError {
3191 #[allow(unused_variables)]
3192 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3193 match *self {
3194 UpdateReportGroupError::InvalidInput(ref cause) => write!(f, "{}", cause),
3195 UpdateReportGroupError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
3196 }
3197 }
3198}
3199impl Error for UpdateReportGroupError {}
3200#[derive(Debug, PartialEq)]
3202pub enum UpdateWebhookError {
3203 InvalidInput(String),
3205 OAuthProvider(String),
3207 ResourceNotFound(String),
3209}
3210
3211impl UpdateWebhookError {
3212 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateWebhookError> {
3213 if let Some(err) = proto::json::Error::parse(&res) {
3214 match err.typ.as_str() {
3215 "InvalidInputException" => {
3216 return RusotoError::Service(UpdateWebhookError::InvalidInput(err.msg))
3217 }
3218 "OAuthProviderException" => {
3219 return RusotoError::Service(UpdateWebhookError::OAuthProvider(err.msg))
3220 }
3221 "ResourceNotFoundException" => {
3222 return RusotoError::Service(UpdateWebhookError::ResourceNotFound(err.msg))
3223 }
3224 "ValidationException" => return RusotoError::Validation(err.msg),
3225 _ => {}
3226 }
3227 }
3228 RusotoError::Unknown(res)
3229 }
3230}
3231impl fmt::Display for UpdateWebhookError {
3232 #[allow(unused_variables)]
3233 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3234 match *self {
3235 UpdateWebhookError::InvalidInput(ref cause) => write!(f, "{}", cause),
3236 UpdateWebhookError::OAuthProvider(ref cause) => write!(f, "{}", cause),
3237 UpdateWebhookError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
3238 }
3239 }
3240}
3241impl Error for UpdateWebhookError {}
3242#[async_trait]
3244pub trait CodeBuild {
3245 async fn batch_delete_builds(
3247 &self,
3248 input: BatchDeleteBuildsInput,
3249 ) -> Result<BatchDeleteBuildsOutput, RusotoError<BatchDeleteBuildsError>>;
3250
3251 async fn batch_get_builds(
3253 &self,
3254 input: BatchGetBuildsInput,
3255 ) -> Result<BatchGetBuildsOutput, RusotoError<BatchGetBuildsError>>;
3256
3257 async fn batch_get_projects(
3259 &self,
3260 input: BatchGetProjectsInput,
3261 ) -> Result<BatchGetProjectsOutput, RusotoError<BatchGetProjectsError>>;
3262
3263 async fn batch_get_report_groups(
3265 &self,
3266 input: BatchGetReportGroupsInput,
3267 ) -> Result<BatchGetReportGroupsOutput, RusotoError<BatchGetReportGroupsError>>;
3268
3269 async fn batch_get_reports(
3271 &self,
3272 input: BatchGetReportsInput,
3273 ) -> Result<BatchGetReportsOutput, RusotoError<BatchGetReportsError>>;
3274
3275 async fn create_project(
3277 &self,
3278 input: CreateProjectInput,
3279 ) -> Result<CreateProjectOutput, RusotoError<CreateProjectError>>;
3280
3281 async fn create_report_group(
3283 &self,
3284 input: CreateReportGroupInput,
3285 ) -> Result<CreateReportGroupOutput, RusotoError<CreateReportGroupError>>;
3286
3287 async fn create_webhook(
3289 &self,
3290 input: CreateWebhookInput,
3291 ) -> Result<CreateWebhookOutput, RusotoError<CreateWebhookError>>;
3292
3293 async fn delete_project(
3295 &self,
3296 input: DeleteProjectInput,
3297 ) -> Result<DeleteProjectOutput, RusotoError<DeleteProjectError>>;
3298
3299 async fn delete_report(
3301 &self,
3302 input: DeleteReportInput,
3303 ) -> Result<DeleteReportOutput, RusotoError<DeleteReportError>>;
3304
3305 async fn delete_report_group(
3307 &self,
3308 input: DeleteReportGroupInput,
3309 ) -> Result<DeleteReportGroupOutput, RusotoError<DeleteReportGroupError>>;
3310
3311 async fn delete_resource_policy(
3313 &self,
3314 input: DeleteResourcePolicyInput,
3315 ) -> Result<DeleteResourcePolicyOutput, RusotoError<DeleteResourcePolicyError>>;
3316
3317 async fn delete_source_credentials(
3319 &self,
3320 input: DeleteSourceCredentialsInput,
3321 ) -> Result<DeleteSourceCredentialsOutput, RusotoError<DeleteSourceCredentialsError>>;
3322
3323 async fn delete_webhook(
3325 &self,
3326 input: DeleteWebhookInput,
3327 ) -> Result<DeleteWebhookOutput, RusotoError<DeleteWebhookError>>;
3328
3329 async fn describe_test_cases(
3331 &self,
3332 input: DescribeTestCasesInput,
3333 ) -> Result<DescribeTestCasesOutput, RusotoError<DescribeTestCasesError>>;
3334
3335 async fn get_resource_policy(
3337 &self,
3338 input: GetResourcePolicyInput,
3339 ) -> Result<GetResourcePolicyOutput, RusotoError<GetResourcePolicyError>>;
3340
3341 async fn import_source_credentials(
3343 &self,
3344 input: ImportSourceCredentialsInput,
3345 ) -> Result<ImportSourceCredentialsOutput, RusotoError<ImportSourceCredentialsError>>;
3346
3347 async fn invalidate_project_cache(
3349 &self,
3350 input: InvalidateProjectCacheInput,
3351 ) -> Result<InvalidateProjectCacheOutput, RusotoError<InvalidateProjectCacheError>>;
3352
3353 async fn list_builds(
3355 &self,
3356 input: ListBuildsInput,
3357 ) -> Result<ListBuildsOutput, RusotoError<ListBuildsError>>;
3358
3359 async fn list_builds_for_project(
3361 &self,
3362 input: ListBuildsForProjectInput,
3363 ) -> Result<ListBuildsForProjectOutput, RusotoError<ListBuildsForProjectError>>;
3364
3365 async fn list_curated_environment_images(
3367 &self,
3368 ) -> Result<ListCuratedEnvironmentImagesOutput, RusotoError<ListCuratedEnvironmentImagesError>>;
3369
3370 async fn list_projects(
3372 &self,
3373 input: ListProjectsInput,
3374 ) -> Result<ListProjectsOutput, RusotoError<ListProjectsError>>;
3375
3376 async fn list_report_groups(
3378 &self,
3379 input: ListReportGroupsInput,
3380 ) -> Result<ListReportGroupsOutput, RusotoError<ListReportGroupsError>>;
3381
3382 async fn list_reports(
3384 &self,
3385 input: ListReportsInput,
3386 ) -> Result<ListReportsOutput, RusotoError<ListReportsError>>;
3387
3388 async fn list_reports_for_report_group(
3390 &self,
3391 input: ListReportsForReportGroupInput,
3392 ) -> Result<ListReportsForReportGroupOutput, RusotoError<ListReportsForReportGroupError>>;
3393
3394 async fn list_shared_projects(
3396 &self,
3397 input: ListSharedProjectsInput,
3398 ) -> Result<ListSharedProjectsOutput, RusotoError<ListSharedProjectsError>>;
3399
3400 async fn list_shared_report_groups(
3402 &self,
3403 input: ListSharedReportGroupsInput,
3404 ) -> Result<ListSharedReportGroupsOutput, RusotoError<ListSharedReportGroupsError>>;
3405
3406 async fn list_source_credentials(
3408 &self,
3409 ) -> Result<ListSourceCredentialsOutput, RusotoError<ListSourceCredentialsError>>;
3410
3411 async fn put_resource_policy(
3413 &self,
3414 input: PutResourcePolicyInput,
3415 ) -> Result<PutResourcePolicyOutput, RusotoError<PutResourcePolicyError>>;
3416
3417 async fn start_build(
3419 &self,
3420 input: StartBuildInput,
3421 ) -> Result<StartBuildOutput, RusotoError<StartBuildError>>;
3422
3423 async fn stop_build(
3425 &self,
3426 input: StopBuildInput,
3427 ) -> Result<StopBuildOutput, RusotoError<StopBuildError>>;
3428
3429 async fn update_project(
3431 &self,
3432 input: UpdateProjectInput,
3433 ) -> Result<UpdateProjectOutput, RusotoError<UpdateProjectError>>;
3434
3435 async fn update_report_group(
3437 &self,
3438 input: UpdateReportGroupInput,
3439 ) -> Result<UpdateReportGroupOutput, RusotoError<UpdateReportGroupError>>;
3440
3441 async fn update_webhook(
3443 &self,
3444 input: UpdateWebhookInput,
3445 ) -> Result<UpdateWebhookOutput, RusotoError<UpdateWebhookError>>;
3446}
3447#[derive(Clone)]
3449pub struct CodeBuildClient {
3450 client: Client,
3451 region: region::Region,
3452}
3453
3454impl CodeBuildClient {
3455 pub fn new(region: region::Region) -> CodeBuildClient {
3459 CodeBuildClient {
3460 client: Client::shared(),
3461 region,
3462 }
3463 }
3464
3465 pub fn new_with<P, D>(
3466 request_dispatcher: D,
3467 credentials_provider: P,
3468 region: region::Region,
3469 ) -> CodeBuildClient
3470 where
3471 P: ProvideAwsCredentials + Send + Sync + 'static,
3472 D: DispatchSignedRequest + Send + Sync + 'static,
3473 {
3474 CodeBuildClient {
3475 client: Client::new_with(credentials_provider, request_dispatcher),
3476 region,
3477 }
3478 }
3479
3480 pub fn new_with_client(client: Client, region: region::Region) -> CodeBuildClient {
3481 CodeBuildClient { client, region }
3482 }
3483}
3484
3485#[async_trait]
3486impl CodeBuild for CodeBuildClient {
3487 async fn batch_delete_builds(
3489 &self,
3490 input: BatchDeleteBuildsInput,
3491 ) -> Result<BatchDeleteBuildsOutput, RusotoError<BatchDeleteBuildsError>> {
3492 let mut request = self.new_signed_request("POST", "/");
3493 request.add_header("x-amz-target", "CodeBuild_20161006.BatchDeleteBuilds");
3494 let encoded = serde_json::to_string(&input).unwrap();
3495 request.set_payload(Some(encoded));
3496
3497 let response = self
3498 .sign_and_dispatch(request, BatchDeleteBuildsError::from_response)
3499 .await?;
3500 let mut response = response;
3501 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3502 proto::json::ResponsePayload::new(&response).deserialize::<BatchDeleteBuildsOutput, _>()
3503 }
3504
3505 async fn batch_get_builds(
3507 &self,
3508 input: BatchGetBuildsInput,
3509 ) -> Result<BatchGetBuildsOutput, RusotoError<BatchGetBuildsError>> {
3510 let mut request = self.new_signed_request("POST", "/");
3511 request.add_header("x-amz-target", "CodeBuild_20161006.BatchGetBuilds");
3512 let encoded = serde_json::to_string(&input).unwrap();
3513 request.set_payload(Some(encoded));
3514
3515 let response = self
3516 .sign_and_dispatch(request, BatchGetBuildsError::from_response)
3517 .await?;
3518 let mut response = response;
3519 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3520 proto::json::ResponsePayload::new(&response).deserialize::<BatchGetBuildsOutput, _>()
3521 }
3522
3523 async fn batch_get_projects(
3525 &self,
3526 input: BatchGetProjectsInput,
3527 ) -> Result<BatchGetProjectsOutput, RusotoError<BatchGetProjectsError>> {
3528 let mut request = self.new_signed_request("POST", "/");
3529 request.add_header("x-amz-target", "CodeBuild_20161006.BatchGetProjects");
3530 let encoded = serde_json::to_string(&input).unwrap();
3531 request.set_payload(Some(encoded));
3532
3533 let response = self
3534 .sign_and_dispatch(request, BatchGetProjectsError::from_response)
3535 .await?;
3536 let mut response = response;
3537 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3538 proto::json::ResponsePayload::new(&response).deserialize::<BatchGetProjectsOutput, _>()
3539 }
3540
3541 async fn batch_get_report_groups(
3543 &self,
3544 input: BatchGetReportGroupsInput,
3545 ) -> Result<BatchGetReportGroupsOutput, RusotoError<BatchGetReportGroupsError>> {
3546 let mut request = self.new_signed_request("POST", "/");
3547 request.add_header("x-amz-target", "CodeBuild_20161006.BatchGetReportGroups");
3548 let encoded = serde_json::to_string(&input).unwrap();
3549 request.set_payload(Some(encoded));
3550
3551 let response = self
3552 .sign_and_dispatch(request, BatchGetReportGroupsError::from_response)
3553 .await?;
3554 let mut response = response;
3555 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3556 proto::json::ResponsePayload::new(&response).deserialize::<BatchGetReportGroupsOutput, _>()
3557 }
3558
3559 async fn batch_get_reports(
3561 &self,
3562 input: BatchGetReportsInput,
3563 ) -> Result<BatchGetReportsOutput, RusotoError<BatchGetReportsError>> {
3564 let mut request = self.new_signed_request("POST", "/");
3565 request.add_header("x-amz-target", "CodeBuild_20161006.BatchGetReports");
3566 let encoded = serde_json::to_string(&input).unwrap();
3567 request.set_payload(Some(encoded));
3568
3569 let response = self
3570 .sign_and_dispatch(request, BatchGetReportsError::from_response)
3571 .await?;
3572 let mut response = response;
3573 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3574 proto::json::ResponsePayload::new(&response).deserialize::<BatchGetReportsOutput, _>()
3575 }
3576
3577 async fn create_project(
3579 &self,
3580 input: CreateProjectInput,
3581 ) -> Result<CreateProjectOutput, RusotoError<CreateProjectError>> {
3582 let mut request = self.new_signed_request("POST", "/");
3583 request.add_header("x-amz-target", "CodeBuild_20161006.CreateProject");
3584 let encoded = serde_json::to_string(&input).unwrap();
3585 request.set_payload(Some(encoded));
3586
3587 let response = self
3588 .sign_and_dispatch(request, CreateProjectError::from_response)
3589 .await?;
3590 let mut response = response;
3591 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3592 proto::json::ResponsePayload::new(&response).deserialize::<CreateProjectOutput, _>()
3593 }
3594
3595 async fn create_report_group(
3597 &self,
3598 input: CreateReportGroupInput,
3599 ) -> Result<CreateReportGroupOutput, RusotoError<CreateReportGroupError>> {
3600 let mut request = self.new_signed_request("POST", "/");
3601 request.add_header("x-amz-target", "CodeBuild_20161006.CreateReportGroup");
3602 let encoded = serde_json::to_string(&input).unwrap();
3603 request.set_payload(Some(encoded));
3604
3605 let response = self
3606 .sign_and_dispatch(request, CreateReportGroupError::from_response)
3607 .await?;
3608 let mut response = response;
3609 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3610 proto::json::ResponsePayload::new(&response).deserialize::<CreateReportGroupOutput, _>()
3611 }
3612
3613 async fn create_webhook(
3615 &self,
3616 input: CreateWebhookInput,
3617 ) -> Result<CreateWebhookOutput, RusotoError<CreateWebhookError>> {
3618 let mut request = self.new_signed_request("POST", "/");
3619 request.add_header("x-amz-target", "CodeBuild_20161006.CreateWebhook");
3620 let encoded = serde_json::to_string(&input).unwrap();
3621 request.set_payload(Some(encoded));
3622
3623 let response = self
3624 .sign_and_dispatch(request, CreateWebhookError::from_response)
3625 .await?;
3626 let mut response = response;
3627 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3628 proto::json::ResponsePayload::new(&response).deserialize::<CreateWebhookOutput, _>()
3629 }
3630
3631 async fn delete_project(
3633 &self,
3634 input: DeleteProjectInput,
3635 ) -> Result<DeleteProjectOutput, RusotoError<DeleteProjectError>> {
3636 let mut request = self.new_signed_request("POST", "/");
3637 request.add_header("x-amz-target", "CodeBuild_20161006.DeleteProject");
3638 let encoded = serde_json::to_string(&input).unwrap();
3639 request.set_payload(Some(encoded));
3640
3641 let response = self
3642 .sign_and_dispatch(request, DeleteProjectError::from_response)
3643 .await?;
3644 let mut response = response;
3645 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3646 proto::json::ResponsePayload::new(&response).deserialize::<DeleteProjectOutput, _>()
3647 }
3648
3649 async fn delete_report(
3651 &self,
3652 input: DeleteReportInput,
3653 ) -> Result<DeleteReportOutput, RusotoError<DeleteReportError>> {
3654 let mut request = self.new_signed_request("POST", "/");
3655 request.add_header("x-amz-target", "CodeBuild_20161006.DeleteReport");
3656 let encoded = serde_json::to_string(&input).unwrap();
3657 request.set_payload(Some(encoded));
3658
3659 let response = self
3660 .sign_and_dispatch(request, DeleteReportError::from_response)
3661 .await?;
3662 let mut response = response;
3663 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3664 proto::json::ResponsePayload::new(&response).deserialize::<DeleteReportOutput, _>()
3665 }
3666
3667 async fn delete_report_group(
3669 &self,
3670 input: DeleteReportGroupInput,
3671 ) -> Result<DeleteReportGroupOutput, RusotoError<DeleteReportGroupError>> {
3672 let mut request = self.new_signed_request("POST", "/");
3673 request.add_header("x-amz-target", "CodeBuild_20161006.DeleteReportGroup");
3674 let encoded = serde_json::to_string(&input).unwrap();
3675 request.set_payload(Some(encoded));
3676
3677 let response = self
3678 .sign_and_dispatch(request, DeleteReportGroupError::from_response)
3679 .await?;
3680 let mut response = response;
3681 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3682 proto::json::ResponsePayload::new(&response).deserialize::<DeleteReportGroupOutput, _>()
3683 }
3684
3685 async fn delete_resource_policy(
3687 &self,
3688 input: DeleteResourcePolicyInput,
3689 ) -> Result<DeleteResourcePolicyOutput, RusotoError<DeleteResourcePolicyError>> {
3690 let mut request = self.new_signed_request("POST", "/");
3691 request.add_header("x-amz-target", "CodeBuild_20161006.DeleteResourcePolicy");
3692 let encoded = serde_json::to_string(&input).unwrap();
3693 request.set_payload(Some(encoded));
3694
3695 let response = self
3696 .sign_and_dispatch(request, DeleteResourcePolicyError::from_response)
3697 .await?;
3698 let mut response = response;
3699 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3700 proto::json::ResponsePayload::new(&response).deserialize::<DeleteResourcePolicyOutput, _>()
3701 }
3702
3703 async fn delete_source_credentials(
3705 &self,
3706 input: DeleteSourceCredentialsInput,
3707 ) -> Result<DeleteSourceCredentialsOutput, RusotoError<DeleteSourceCredentialsError>> {
3708 let mut request = self.new_signed_request("POST", "/");
3709 request.add_header("x-amz-target", "CodeBuild_20161006.DeleteSourceCredentials");
3710 let encoded = serde_json::to_string(&input).unwrap();
3711 request.set_payload(Some(encoded));
3712
3713 let response = self
3714 .sign_and_dispatch(request, DeleteSourceCredentialsError::from_response)
3715 .await?;
3716 let mut response = response;
3717 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3718 proto::json::ResponsePayload::new(&response)
3719 .deserialize::<DeleteSourceCredentialsOutput, _>()
3720 }
3721
3722 async fn delete_webhook(
3724 &self,
3725 input: DeleteWebhookInput,
3726 ) -> Result<DeleteWebhookOutput, RusotoError<DeleteWebhookError>> {
3727 let mut request = self.new_signed_request("POST", "/");
3728 request.add_header("x-amz-target", "CodeBuild_20161006.DeleteWebhook");
3729 let encoded = serde_json::to_string(&input).unwrap();
3730 request.set_payload(Some(encoded));
3731
3732 let response = self
3733 .sign_and_dispatch(request, DeleteWebhookError::from_response)
3734 .await?;
3735 let mut response = response;
3736 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3737 proto::json::ResponsePayload::new(&response).deserialize::<DeleteWebhookOutput, _>()
3738 }
3739
3740 async fn describe_test_cases(
3742 &self,
3743 input: DescribeTestCasesInput,
3744 ) -> Result<DescribeTestCasesOutput, RusotoError<DescribeTestCasesError>> {
3745 let mut request = self.new_signed_request("POST", "/");
3746 request.add_header("x-amz-target", "CodeBuild_20161006.DescribeTestCases");
3747 let encoded = serde_json::to_string(&input).unwrap();
3748 request.set_payload(Some(encoded));
3749
3750 let response = self
3751 .sign_and_dispatch(request, DescribeTestCasesError::from_response)
3752 .await?;
3753 let mut response = response;
3754 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3755 proto::json::ResponsePayload::new(&response).deserialize::<DescribeTestCasesOutput, _>()
3756 }
3757
3758 async fn get_resource_policy(
3760 &self,
3761 input: GetResourcePolicyInput,
3762 ) -> Result<GetResourcePolicyOutput, RusotoError<GetResourcePolicyError>> {
3763 let mut request = self.new_signed_request("POST", "/");
3764 request.add_header("x-amz-target", "CodeBuild_20161006.GetResourcePolicy");
3765 let encoded = serde_json::to_string(&input).unwrap();
3766 request.set_payload(Some(encoded));
3767
3768 let response = self
3769 .sign_and_dispatch(request, GetResourcePolicyError::from_response)
3770 .await?;
3771 let mut response = response;
3772 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3773 proto::json::ResponsePayload::new(&response).deserialize::<GetResourcePolicyOutput, _>()
3774 }
3775
3776 async fn import_source_credentials(
3778 &self,
3779 input: ImportSourceCredentialsInput,
3780 ) -> Result<ImportSourceCredentialsOutput, RusotoError<ImportSourceCredentialsError>> {
3781 let mut request = self.new_signed_request("POST", "/");
3782 request.add_header("x-amz-target", "CodeBuild_20161006.ImportSourceCredentials");
3783 let encoded = serde_json::to_string(&input).unwrap();
3784 request.set_payload(Some(encoded));
3785
3786 let response = self
3787 .sign_and_dispatch(request, ImportSourceCredentialsError::from_response)
3788 .await?;
3789 let mut response = response;
3790 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3791 proto::json::ResponsePayload::new(&response)
3792 .deserialize::<ImportSourceCredentialsOutput, _>()
3793 }
3794
3795 async fn invalidate_project_cache(
3797 &self,
3798 input: InvalidateProjectCacheInput,
3799 ) -> Result<InvalidateProjectCacheOutput, RusotoError<InvalidateProjectCacheError>> {
3800 let mut request = self.new_signed_request("POST", "/");
3801 request.add_header("x-amz-target", "CodeBuild_20161006.InvalidateProjectCache");
3802 let encoded = serde_json::to_string(&input).unwrap();
3803 request.set_payload(Some(encoded));
3804
3805 let response = self
3806 .sign_and_dispatch(request, InvalidateProjectCacheError::from_response)
3807 .await?;
3808 let mut response = response;
3809 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3810 proto::json::ResponsePayload::new(&response)
3811 .deserialize::<InvalidateProjectCacheOutput, _>()
3812 }
3813
3814 async fn list_builds(
3816 &self,
3817 input: ListBuildsInput,
3818 ) -> Result<ListBuildsOutput, RusotoError<ListBuildsError>> {
3819 let mut request = self.new_signed_request("POST", "/");
3820 request.add_header("x-amz-target", "CodeBuild_20161006.ListBuilds");
3821 let encoded = serde_json::to_string(&input).unwrap();
3822 request.set_payload(Some(encoded));
3823
3824 let response = self
3825 .sign_and_dispatch(request, ListBuildsError::from_response)
3826 .await?;
3827 let mut response = response;
3828 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3829 proto::json::ResponsePayload::new(&response).deserialize::<ListBuildsOutput, _>()
3830 }
3831
3832 async fn list_builds_for_project(
3834 &self,
3835 input: ListBuildsForProjectInput,
3836 ) -> Result<ListBuildsForProjectOutput, RusotoError<ListBuildsForProjectError>> {
3837 let mut request = self.new_signed_request("POST", "/");
3838 request.add_header("x-amz-target", "CodeBuild_20161006.ListBuildsForProject");
3839 let encoded = serde_json::to_string(&input).unwrap();
3840 request.set_payload(Some(encoded));
3841
3842 let response = self
3843 .sign_and_dispatch(request, ListBuildsForProjectError::from_response)
3844 .await?;
3845 let mut response = response;
3846 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3847 proto::json::ResponsePayload::new(&response).deserialize::<ListBuildsForProjectOutput, _>()
3848 }
3849
3850 async fn list_curated_environment_images(
3852 &self,
3853 ) -> Result<ListCuratedEnvironmentImagesOutput, RusotoError<ListCuratedEnvironmentImagesError>>
3854 {
3855 let mut request = self.new_signed_request("POST", "/");
3856 request.add_header(
3857 "x-amz-target",
3858 "CodeBuild_20161006.ListCuratedEnvironmentImages",
3859 );
3860 request.set_payload(Some(bytes::Bytes::from_static(b"{}")));
3861
3862 let response = self
3863 .sign_and_dispatch(request, ListCuratedEnvironmentImagesError::from_response)
3864 .await?;
3865 let mut response = response;
3866 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3867 proto::json::ResponsePayload::new(&response)
3868 .deserialize::<ListCuratedEnvironmentImagesOutput, _>()
3869 }
3870
3871 async fn list_projects(
3873 &self,
3874 input: ListProjectsInput,
3875 ) -> Result<ListProjectsOutput, RusotoError<ListProjectsError>> {
3876 let mut request = self.new_signed_request("POST", "/");
3877 request.add_header("x-amz-target", "CodeBuild_20161006.ListProjects");
3878 let encoded = serde_json::to_string(&input).unwrap();
3879 request.set_payload(Some(encoded));
3880
3881 let response = self
3882 .sign_and_dispatch(request, ListProjectsError::from_response)
3883 .await?;
3884 let mut response = response;
3885 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3886 proto::json::ResponsePayload::new(&response).deserialize::<ListProjectsOutput, _>()
3887 }
3888
3889 async fn list_report_groups(
3891 &self,
3892 input: ListReportGroupsInput,
3893 ) -> Result<ListReportGroupsOutput, RusotoError<ListReportGroupsError>> {
3894 let mut request = self.new_signed_request("POST", "/");
3895 request.add_header("x-amz-target", "CodeBuild_20161006.ListReportGroups");
3896 let encoded = serde_json::to_string(&input).unwrap();
3897 request.set_payload(Some(encoded));
3898
3899 let response = self
3900 .sign_and_dispatch(request, ListReportGroupsError::from_response)
3901 .await?;
3902 let mut response = response;
3903 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3904 proto::json::ResponsePayload::new(&response).deserialize::<ListReportGroupsOutput, _>()
3905 }
3906
3907 async fn list_reports(
3909 &self,
3910 input: ListReportsInput,
3911 ) -> Result<ListReportsOutput, RusotoError<ListReportsError>> {
3912 let mut request = self.new_signed_request("POST", "/");
3913 request.add_header("x-amz-target", "CodeBuild_20161006.ListReports");
3914 let encoded = serde_json::to_string(&input).unwrap();
3915 request.set_payload(Some(encoded));
3916
3917 let response = self
3918 .sign_and_dispatch(request, ListReportsError::from_response)
3919 .await?;
3920 let mut response = response;
3921 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3922 proto::json::ResponsePayload::new(&response).deserialize::<ListReportsOutput, _>()
3923 }
3924
3925 async fn list_reports_for_report_group(
3927 &self,
3928 input: ListReportsForReportGroupInput,
3929 ) -> Result<ListReportsForReportGroupOutput, RusotoError<ListReportsForReportGroupError>> {
3930 let mut request = self.new_signed_request("POST", "/");
3931 request.add_header(
3932 "x-amz-target",
3933 "CodeBuild_20161006.ListReportsForReportGroup",
3934 );
3935 let encoded = serde_json::to_string(&input).unwrap();
3936 request.set_payload(Some(encoded));
3937
3938 let response = self
3939 .sign_and_dispatch(request, ListReportsForReportGroupError::from_response)
3940 .await?;
3941 let mut response = response;
3942 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3943 proto::json::ResponsePayload::new(&response)
3944 .deserialize::<ListReportsForReportGroupOutput, _>()
3945 }
3946
3947 async fn list_shared_projects(
3949 &self,
3950 input: ListSharedProjectsInput,
3951 ) -> Result<ListSharedProjectsOutput, RusotoError<ListSharedProjectsError>> {
3952 let mut request = self.new_signed_request("POST", "/");
3953 request.add_header("x-amz-target", "CodeBuild_20161006.ListSharedProjects");
3954 let encoded = serde_json::to_string(&input).unwrap();
3955 request.set_payload(Some(encoded));
3956
3957 let response = self
3958 .sign_and_dispatch(request, ListSharedProjectsError::from_response)
3959 .await?;
3960 let mut response = response;
3961 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3962 proto::json::ResponsePayload::new(&response).deserialize::<ListSharedProjectsOutput, _>()
3963 }
3964
3965 async fn list_shared_report_groups(
3967 &self,
3968 input: ListSharedReportGroupsInput,
3969 ) -> Result<ListSharedReportGroupsOutput, RusotoError<ListSharedReportGroupsError>> {
3970 let mut request = self.new_signed_request("POST", "/");
3971 request.add_header("x-amz-target", "CodeBuild_20161006.ListSharedReportGroups");
3972 let encoded = serde_json::to_string(&input).unwrap();
3973 request.set_payload(Some(encoded));
3974
3975 let response = self
3976 .sign_and_dispatch(request, ListSharedReportGroupsError::from_response)
3977 .await?;
3978 let mut response = response;
3979 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3980 proto::json::ResponsePayload::new(&response)
3981 .deserialize::<ListSharedReportGroupsOutput, _>()
3982 }
3983
3984 async fn list_source_credentials(
3986 &self,
3987 ) -> Result<ListSourceCredentialsOutput, RusotoError<ListSourceCredentialsError>> {
3988 let mut request = self.new_signed_request("POST", "/");
3989 request.add_header("x-amz-target", "CodeBuild_20161006.ListSourceCredentials");
3990 request.set_payload(Some(bytes::Bytes::from_static(b"{}")));
3991
3992 let response = self
3993 .sign_and_dispatch(request, ListSourceCredentialsError::from_response)
3994 .await?;
3995 let mut response = response;
3996 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
3997 proto::json::ResponsePayload::new(&response).deserialize::<ListSourceCredentialsOutput, _>()
3998 }
3999
4000 async fn put_resource_policy(
4002 &self,
4003 input: PutResourcePolicyInput,
4004 ) -> Result<PutResourcePolicyOutput, RusotoError<PutResourcePolicyError>> {
4005 let mut request = self.new_signed_request("POST", "/");
4006 request.add_header("x-amz-target", "CodeBuild_20161006.PutResourcePolicy");
4007 let encoded = serde_json::to_string(&input).unwrap();
4008 request.set_payload(Some(encoded));
4009
4010 let response = self
4011 .sign_and_dispatch(request, PutResourcePolicyError::from_response)
4012 .await?;
4013 let mut response = response;
4014 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
4015 proto::json::ResponsePayload::new(&response).deserialize::<PutResourcePolicyOutput, _>()
4016 }
4017
4018 async fn start_build(
4020 &self,
4021 input: StartBuildInput,
4022 ) -> Result<StartBuildOutput, RusotoError<StartBuildError>> {
4023 let mut request = self.new_signed_request("POST", "/");
4024 request.add_header("x-amz-target", "CodeBuild_20161006.StartBuild");
4025 let encoded = serde_json::to_string(&input).unwrap();
4026 request.set_payload(Some(encoded));
4027
4028 let response = self
4029 .sign_and_dispatch(request, StartBuildError::from_response)
4030 .await?;
4031 let mut response = response;
4032 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
4033 proto::json::ResponsePayload::new(&response).deserialize::<StartBuildOutput, _>()
4034 }
4035
4036 async fn stop_build(
4038 &self,
4039 input: StopBuildInput,
4040 ) -> Result<StopBuildOutput, RusotoError<StopBuildError>> {
4041 let mut request = self.new_signed_request("POST", "/");
4042 request.add_header("x-amz-target", "CodeBuild_20161006.StopBuild");
4043 let encoded = serde_json::to_string(&input).unwrap();
4044 request.set_payload(Some(encoded));
4045
4046 let response = self
4047 .sign_and_dispatch(request, StopBuildError::from_response)
4048 .await?;
4049 let mut response = response;
4050 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
4051 proto::json::ResponsePayload::new(&response).deserialize::<StopBuildOutput, _>()
4052 }
4053
4054 async fn update_project(
4056 &self,
4057 input: UpdateProjectInput,
4058 ) -> Result<UpdateProjectOutput, RusotoError<UpdateProjectError>> {
4059 let mut request = self.new_signed_request("POST", "/");
4060 request.add_header("x-amz-target", "CodeBuild_20161006.UpdateProject");
4061 let encoded = serde_json::to_string(&input).unwrap();
4062 request.set_payload(Some(encoded));
4063
4064 let response = self
4065 .sign_and_dispatch(request, UpdateProjectError::from_response)
4066 .await?;
4067 let mut response = response;
4068 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
4069 proto::json::ResponsePayload::new(&response).deserialize::<UpdateProjectOutput, _>()
4070 }
4071
4072 async fn update_report_group(
4074 &self,
4075 input: UpdateReportGroupInput,
4076 ) -> Result<UpdateReportGroupOutput, RusotoError<UpdateReportGroupError>> {
4077 let mut request = self.new_signed_request("POST", "/");
4078 request.add_header("x-amz-target", "CodeBuild_20161006.UpdateReportGroup");
4079 let encoded = serde_json::to_string(&input).unwrap();
4080 request.set_payload(Some(encoded));
4081
4082 let response = self
4083 .sign_and_dispatch(request, UpdateReportGroupError::from_response)
4084 .await?;
4085 let mut response = response;
4086 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
4087 proto::json::ResponsePayload::new(&response).deserialize::<UpdateReportGroupOutput, _>()
4088 }
4089
4090 async fn update_webhook(
4092 &self,
4093 input: UpdateWebhookInput,
4094 ) -> Result<UpdateWebhookOutput, RusotoError<UpdateWebhookError>> {
4095 let mut request = self.new_signed_request("POST", "/");
4096 request.add_header("x-amz-target", "CodeBuild_20161006.UpdateWebhook");
4097 let encoded = serde_json::to_string(&input).unwrap();
4098 request.set_payload(Some(encoded));
4099
4100 let response = self
4101 .sign_and_dispatch(request, UpdateWebhookError::from_response)
4102 .await?;
4103 let mut response = response;
4104 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
4105 proto::json::ResponsePayload::new(&response).deserialize::<UpdateWebhookOutput, _>()
4106 }
4107}