aws_sdk_elasticache/operation/describe_replication_groups/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::describe_replication_groups::_describe_replication_groups_output::DescribeReplicationGroupsOutputBuilder;
3
4pub use crate::operation::describe_replication_groups::_describe_replication_groups_input::DescribeReplicationGroupsInputBuilder;
5
6impl crate::operation::describe_replication_groups::builders::DescribeReplicationGroupsInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::describe_replication_groups::DescribeReplicationGroupsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::describe_replication_groups::DescribeReplicationGroupsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.describe_replication_groups();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `DescribeReplicationGroups`.
24///
25/// <p>Returns information about a particular replication group. If no identifier is specified, <code>DescribeReplicationGroups</code> returns information about all replication groups.</p><note>
26/// <p>This operation is valid for Valkey or Redis OSS only.</p>
27/// </note>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct DescribeReplicationGroupsFluentBuilder {
30    handle: ::std::sync::Arc<crate::client::Handle>,
31    inner: crate::operation::describe_replication_groups::builders::DescribeReplicationGroupsInputBuilder,
32    config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35    crate::client::customize::internal::CustomizableSend<
36        crate::operation::describe_replication_groups::DescribeReplicationGroupsOutput,
37        crate::operation::describe_replication_groups::DescribeReplicationGroupsError,
38    > for DescribeReplicationGroupsFluentBuilder
39{
40    fn send(
41        self,
42        config_override: crate::config::Builder,
43    ) -> crate::client::customize::internal::BoxFuture<
44        crate::client::customize::internal::SendResult<
45            crate::operation::describe_replication_groups::DescribeReplicationGroupsOutput,
46            crate::operation::describe_replication_groups::DescribeReplicationGroupsError,
47        >,
48    > {
49        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50    }
51}
52impl DescribeReplicationGroupsFluentBuilder {
53    /// Creates a new `DescribeReplicationGroupsFluentBuilder`.
54    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55        Self {
56            handle,
57            inner: ::std::default::Default::default(),
58            config_override: ::std::option::Option::None,
59        }
60    }
61    /// Access the DescribeReplicationGroups as a reference.
62    pub fn as_input(&self) -> &crate::operation::describe_replication_groups::builders::DescribeReplicationGroupsInputBuilder {
63        &self.inner
64    }
65    /// Sends the request and returns the response.
66    ///
67    /// If an error occurs, an `SdkError` will be returned with additional details that
68    /// can be matched against.
69    ///
70    /// By default, any retryable failures will be retried twice. Retry behavior
71    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72    /// set when configuring the client.
73    pub async fn send(
74        self,
75    ) -> ::std::result::Result<
76        crate::operation::describe_replication_groups::DescribeReplicationGroupsOutput,
77        ::aws_smithy_runtime_api::client::result::SdkError<
78            crate::operation::describe_replication_groups::DescribeReplicationGroupsError,
79            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80        >,
81    > {
82        let input = self
83            .inner
84            .build()
85            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86        let runtime_plugins = crate::operation::describe_replication_groups::DescribeReplicationGroups::operation_runtime_plugins(
87            self.handle.runtime_plugins.clone(),
88            &self.handle.conf,
89            self.config_override,
90        );
91        crate::operation::describe_replication_groups::DescribeReplicationGroups::orchestrate(&runtime_plugins, input).await
92    }
93
94    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95    pub fn customize(
96        self,
97    ) -> crate::client::customize::CustomizableOperation<
98        crate::operation::describe_replication_groups::DescribeReplicationGroupsOutput,
99        crate::operation::describe_replication_groups::DescribeReplicationGroupsError,
100        Self,
101    > {
102        crate::client::customize::CustomizableOperation::new(self)
103    }
104    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105        self.set_config_override(::std::option::Option::Some(config_override.into()));
106        self
107    }
108
109    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110        self.config_override = config_override;
111        self
112    }
113    /// Create a paginator for this request
114    ///
115    /// Paginators are used by calling [`send().await`](crate::operation::describe_replication_groups::paginator::DescribeReplicationGroupsPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
116    pub fn into_paginator(self) -> crate::operation::describe_replication_groups::paginator::DescribeReplicationGroupsPaginator {
117        crate::operation::describe_replication_groups::paginator::DescribeReplicationGroupsPaginator::new(self.handle, self.inner)
118    }
119    /// <p>The identifier for the replication group to be described. This parameter is not case sensitive.</p>
120    /// <p>If you do not specify this parameter, information about all replication groups is returned.</p>
121    pub fn replication_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
122        self.inner = self.inner.replication_group_id(input.into());
123        self
124    }
125    /// <p>The identifier for the replication group to be described. This parameter is not case sensitive.</p>
126    /// <p>If you do not specify this parameter, information about all replication groups is returned.</p>
127    pub fn set_replication_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128        self.inner = self.inner.set_replication_group_id(input);
129        self
130    }
131    /// <p>The identifier for the replication group to be described. This parameter is not case sensitive.</p>
132    /// <p>If you do not specify this parameter, information about all replication groups is returned.</p>
133    pub fn get_replication_group_id(&self) -> &::std::option::Option<::std::string::String> {
134        self.inner.get_replication_group_id()
135    }
136    /// <p>The maximum number of records to include in the response. If more records exist than the specified <code>MaxRecords</code> value, a marker is included in the response so that the remaining results can be retrieved.</p>
137    /// <p>Default: 100</p>
138    /// <p>Constraints: minimum 20; maximum 100.</p>
139    pub fn max_records(mut self, input: i32) -> Self {
140        self.inner = self.inner.max_records(input);
141        self
142    }
143    /// <p>The maximum number of records to include in the response. If more records exist than the specified <code>MaxRecords</code> value, a marker is included in the response so that the remaining results can be retrieved.</p>
144    /// <p>Default: 100</p>
145    /// <p>Constraints: minimum 20; maximum 100.</p>
146    pub fn set_max_records(mut self, input: ::std::option::Option<i32>) -> Self {
147        self.inner = self.inner.set_max_records(input);
148        self
149    }
150    /// <p>The maximum number of records to include in the response. If more records exist than the specified <code>MaxRecords</code> value, a marker is included in the response so that the remaining results can be retrieved.</p>
151    /// <p>Default: 100</p>
152    /// <p>Constraints: minimum 20; maximum 100.</p>
153    pub fn get_max_records(&self) -> &::std::option::Option<i32> {
154        self.inner.get_max_records()
155    }
156    /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
157    pub fn marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
158        self.inner = self.inner.marker(input.into());
159        self
160    }
161    /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
162    pub fn set_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
163        self.inner = self.inner.set_marker(input);
164        self
165    }
166    /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
167    pub fn get_marker(&self) -> &::std::option::Option<::std::string::String> {
168        self.inner.get_marker()
169    }
170}