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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::get_component_version_artifact::_get_component_version_artifact_input::GetComponentVersionArtifactInputBuilder;
pub use crate::operation::get_component_version_artifact::_get_component_version_artifact_output::GetComponentVersionArtifactOutputBuilder;
impl crate::operation::get_component_version_artifact::builders::GetComponentVersionArtifactInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::get_component_version_artifact::GetComponentVersionArtifactOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::get_component_version_artifact::GetComponentVersionArtifactError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.get_component_version_artifact();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `GetComponentVersionArtifact`.
///
/// <p>Gets the pre-signed URL to download a public or a Lambda component artifact. Core devices call this operation to identify the URL that they can use to download an artifact to install.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct GetComponentVersionArtifactFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::get_component_version_artifact::builders::GetComponentVersionArtifactInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::get_component_version_artifact::GetComponentVersionArtifactOutput,
crate::operation::get_component_version_artifact::GetComponentVersionArtifactError,
> for GetComponentVersionArtifactFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::get_component_version_artifact::GetComponentVersionArtifactOutput,
crate::operation::get_component_version_artifact::GetComponentVersionArtifactError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl GetComponentVersionArtifactFluentBuilder {
/// Creates a new `GetComponentVersionArtifactFluentBuilder`.
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 GetComponentVersionArtifact as a reference.
pub fn as_input(&self) -> &crate::operation::get_component_version_artifact::builders::GetComponentVersionArtifactInputBuilder {
&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::get_component_version_artifact::GetComponentVersionArtifactOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::get_component_version_artifact::GetComponentVersionArtifactError,
::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::get_component_version_artifact::GetComponentVersionArtifact::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::get_component_version_artifact::GetComponentVersionArtifact::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::get_component_version_artifact::GetComponentVersionArtifactOutput,
crate::operation::get_component_version_artifact::GetComponentVersionArtifactError,
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
}
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> of the component version. Specify the ARN of a public or a Lambda component version.</p>
pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.arn(input.into());
self
}
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> of the component version. Specify the ARN of a public or a Lambda component version.</p>
pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_arn(input);
self
}
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> of the component version. Specify the ARN of a public or a Lambda component version.</p>
pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_arn()
}
/// <p>The name of the artifact.</p>
/// <p>You can use the <a href="https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html">GetComponent</a> operation to download the component recipe, which includes the URI of the artifact. The artifact name is the section of the URI after the scheme. For example, in the artifact URI <code>greengrass:SomeArtifact.zip</code>, the artifact name is <code>SomeArtifact.zip</code>.</p>
pub fn artifact_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.artifact_name(input.into());
self
}
/// <p>The name of the artifact.</p>
/// <p>You can use the <a href="https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html">GetComponent</a> operation to download the component recipe, which includes the URI of the artifact. The artifact name is the section of the URI after the scheme. For example, in the artifact URI <code>greengrass:SomeArtifact.zip</code>, the artifact name is <code>SomeArtifact.zip</code>.</p>
pub fn set_artifact_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_artifact_name(input);
self
}
/// <p>The name of the artifact.</p>
/// <p>You can use the <a href="https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html">GetComponent</a> operation to download the component recipe, which includes the URI of the artifact. The artifact name is the section of the URI after the scheme. For example, in the artifact URI <code>greengrass:SomeArtifact.zip</code>, the artifact name is <code>SomeArtifact.zip</code>.</p>
pub fn get_artifact_name(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_artifact_name()
}
/// <p>Specifies the endpoint to use when getting Amazon S3 pre-signed URLs.</p>
/// <p>All Amazon Web Services Regions except US East (N. Virginia) use <code>REGIONAL</code> in all cases. In the US East (N. Virginia) Region the default is <code>GLOBAL</code>, but you can change it to <code>REGIONAL</code> with this parameter.</p>
pub fn s3_endpoint_type(mut self, input: crate::types::S3EndpointType) -> Self {
self.inner = self.inner.s3_endpoint_type(input);
self
}
/// <p>Specifies the endpoint to use when getting Amazon S3 pre-signed URLs.</p>
/// <p>All Amazon Web Services Regions except US East (N. Virginia) use <code>REGIONAL</code> in all cases. In the US East (N. Virginia) Region the default is <code>GLOBAL</code>, but you can change it to <code>REGIONAL</code> with this parameter.</p>
pub fn set_s3_endpoint_type(mut self, input: ::std::option::Option<crate::types::S3EndpointType>) -> Self {
self.inner = self.inner.set_s3_endpoint_type(input);
self
}
/// <p>Specifies the endpoint to use when getting Amazon S3 pre-signed URLs.</p>
/// <p>All Amazon Web Services Regions except US East (N. Virginia) use <code>REGIONAL</code> in all cases. In the US East (N. Virginia) Region the default is <code>GLOBAL</code>, but you can change it to <code>REGIONAL</code> with this parameter.</p>
pub fn get_s3_endpoint_type(&self) -> &::std::option::Option<crate::types::S3EndpointType> {
self.inner.get_s3_endpoint_type()
}
/// <p>Determines if the Amazon S3 URL returned is a FIPS pre-signed URL endpoint. Specify <code>fips</code> if you want the returned Amazon S3 pre-signed URL to point to an Amazon S3 FIPS endpoint. If you don't specify a value, the default is <code>standard</code>.</p>
pub fn iot_endpoint_type(mut self, input: crate::types::IotEndpointType) -> Self {
self.inner = self.inner.iot_endpoint_type(input);
self
}
/// <p>Determines if the Amazon S3 URL returned is a FIPS pre-signed URL endpoint. Specify <code>fips</code> if you want the returned Amazon S3 pre-signed URL to point to an Amazon S3 FIPS endpoint. If you don't specify a value, the default is <code>standard</code>.</p>
pub fn set_iot_endpoint_type(mut self, input: ::std::option::Option<crate::types::IotEndpointType>) -> Self {
self.inner = self.inner.set_iot_endpoint_type(input);
self
}
/// <p>Determines if the Amazon S3 URL returned is a FIPS pre-signed URL endpoint. Specify <code>fips</code> if you want the returned Amazon S3 pre-signed URL to point to an Amazon S3 FIPS endpoint. If you don't specify a value, the default is <code>standard</code>.</p>
pub fn get_iot_endpoint_type(&self) -> &::std::option::Option<crate::types::IotEndpointType> {
self.inner.get_iot_endpoint_type()
}
}