1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::download_db_log_file_portion::_download_db_log_file_portion_input::DownloadDbLogFilePortionInputBuilder;
pub use crate::operation::download_db_log_file_portion::_download_db_log_file_portion_output::DownloadDbLogFilePortionOutputBuilder;
impl crate::operation::download_db_log_file_portion::builders::DownloadDbLogFilePortionInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::download_db_log_file_portion::DownloadDbLogFilePortionOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::download_db_log_file_portion::DownloadDBLogFilePortionError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.download_db_log_file_portion();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `DownloadDBLogFilePortion`.
///
/// <p>Downloads all or a portion of the specified log file, up to 1 MB in size.</p>
/// <p>This command doesn't apply to RDS Custom.</p><note>
/// <p>This operation uses resources on database instances. Because of this, we recommend publishing database logs to CloudWatch and then using the GetLogEvents operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogEvents.html">GetLogEvents</a> in the <i>Amazon CloudWatch Logs API Reference</i>.</p>
/// </note>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct DownloadDBLogFilePortionFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::download_db_log_file_portion::builders::DownloadDbLogFilePortionInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::download_db_log_file_portion::DownloadDbLogFilePortionOutput,
crate::operation::download_db_log_file_portion::DownloadDBLogFilePortionError,
> for DownloadDBLogFilePortionFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::download_db_log_file_portion::DownloadDbLogFilePortionOutput,
crate::operation::download_db_log_file_portion::DownloadDBLogFilePortionError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl DownloadDBLogFilePortionFluentBuilder {
/// Creates a new `DownloadDBLogFilePortionFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the DownloadDBLogFilePortion as a reference.
pub fn as_input(&self) -> &crate::operation::download_db_log_file_portion::builders::DownloadDbLogFilePortionInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::download_db_log_file_portion::DownloadDbLogFilePortionOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::download_db_log_file_portion::DownloadDBLogFilePortionError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::download_db_log_file_portion::DownloadDBLogFilePortion::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::download_db_log_file_portion::DownloadDBLogFilePortion::orchestrate(&runtime_plugins, input).await
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::download_db_log_file_portion::DownloadDbLogFilePortionOutput,
crate::operation::download_db_log_file_portion::DownloadDBLogFilePortionError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// Create a paginator for this request
///
/// Paginators are used by calling [`send().await`](crate::operation::download_db_log_file_portion::paginator::DownloadDbLogFilePortionPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
pub fn into_paginator(self) -> crate::operation::download_db_log_file_portion::paginator::DownloadDbLogFilePortionPaginator {
crate::operation::download_db_log_file_portion::paginator::DownloadDbLogFilePortionPaginator::new(self.handle, self.inner)
}
/// <p>The customer-assigned name of the DB instance that contains the log files you want to list.</p>
/// <p>Constraints:</p>
/// <ul>
/// <li>
/// <p>Must match the identifier of an existing DBInstance.</p></li>
/// </ul>
pub fn db_instance_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.db_instance_identifier(input.into());
self
}
/// <p>The customer-assigned name of the DB instance that contains the log files you want to list.</p>
/// <p>Constraints:</p>
/// <ul>
/// <li>
/// <p>Must match the identifier of an existing DBInstance.</p></li>
/// </ul>
pub fn set_db_instance_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_db_instance_identifier(input);
self
}
/// <p>The customer-assigned name of the DB instance that contains the log files you want to list.</p>
/// <p>Constraints:</p>
/// <ul>
/// <li>
/// <p>Must match the identifier of an existing DBInstance.</p></li>
/// </ul>
pub fn get_db_instance_identifier(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_db_instance_identifier()
}
/// <p>The name of the log file to be downloaded.</p>
pub fn log_file_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.log_file_name(input.into());
self
}
/// <p>The name of the log file to be downloaded.</p>
pub fn set_log_file_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_log_file_name(input);
self
}
/// <p>The name of the log file to be downloaded.</p>
pub fn get_log_file_name(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_log_file_name()
}
/// <p>The pagination token provided in the previous request or "0". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.</p>
pub fn marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.marker(input.into());
self
}
/// <p>The pagination token provided in the previous request or "0". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.</p>
pub fn set_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_marker(input);
self
}
/// <p>The pagination token provided in the previous request or "0". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.</p>
pub fn get_marker(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_marker()
}
/// <p>The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file is truncated at 1 MB in size.</p>
/// <p>If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter.</p>
/// <ul>
/// <li>
/// <p>If neither Marker or NumberOfLines are specified, the entire log file is returned up to a maximum of 10000 lines, starting with the most recent log entries first.</p></li>
/// <li>
/// <p>If NumberOfLines is specified and Marker isn't specified, then the most recent lines from the end of the log file are returned.</p></li>
/// <li>
/// <p>If Marker is specified as "0", then the specified number of lines from the beginning of the log file are returned.</p></li>
/// <li>
/// <p>You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of "0" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false.</p></li>
/// </ul>
pub fn number_of_lines(mut self, input: i32) -> Self {
self.inner = self.inner.number_of_lines(input);
self
}
/// <p>The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file is truncated at 1 MB in size.</p>
/// <p>If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter.</p>
/// <ul>
/// <li>
/// <p>If neither Marker or NumberOfLines are specified, the entire log file is returned up to a maximum of 10000 lines, starting with the most recent log entries first.</p></li>
/// <li>
/// <p>If NumberOfLines is specified and Marker isn't specified, then the most recent lines from the end of the log file are returned.</p></li>
/// <li>
/// <p>If Marker is specified as "0", then the specified number of lines from the beginning of the log file are returned.</p></li>
/// <li>
/// <p>You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of "0" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false.</p></li>
/// </ul>
pub fn set_number_of_lines(mut self, input: ::std::option::Option<i32>) -> Self {
self.inner = self.inner.set_number_of_lines(input);
self
}
/// <p>The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file is truncated at 1 MB in size.</p>
/// <p>If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter.</p>
/// <ul>
/// <li>
/// <p>If neither Marker or NumberOfLines are specified, the entire log file is returned up to a maximum of 10000 lines, starting with the most recent log entries first.</p></li>
/// <li>
/// <p>If NumberOfLines is specified and Marker isn't specified, then the most recent lines from the end of the log file are returned.</p></li>
/// <li>
/// <p>If Marker is specified as "0", then the specified number of lines from the beginning of the log file are returned.</p></li>
/// <li>
/// <p>You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of "0" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false.</p></li>
/// </ul>
pub fn get_number_of_lines(&self) -> &::std::option::Option<i32> {
self.inner.get_number_of_lines()
}
}