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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct CreateFunctionInput {
/// <p>A name to identify the function.</p>
pub name: ::std::option::Option<::std::string::String>,
/// <p>Configuration information about the function, including an optional comment and the function's runtime.</p>
pub function_config: ::std::option::Option<crate::types::FunctionConfig>,
/// <p>The function code. For more information about writing a CloudFront function, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html">Writing function code for CloudFront Functions</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
pub function_code: ::std::option::Option<::aws_smithy_types::Blob>,
/// <p>A complex type that contains zero or more <code>Tag</code> elements.</p>
pub tags: ::std::option::Option<crate::types::Tags>,
}
impl CreateFunctionInput {
/// <p>A name to identify the function.</p>
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
/// <p>Configuration information about the function, including an optional comment and the function's runtime.</p>
pub fn function_config(&self) -> ::std::option::Option<&crate::types::FunctionConfig> {
self.function_config.as_ref()
}
/// <p>The function code. For more information about writing a CloudFront function, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html">Writing function code for CloudFront Functions</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
pub fn function_code(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
self.function_code.as_ref()
}
/// <p>A complex type that contains zero or more <code>Tag</code> elements.</p>
pub fn tags(&self) -> ::std::option::Option<&crate::types::Tags> {
self.tags.as_ref()
}
}
impl ::std::fmt::Debug for CreateFunctionInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateFunctionInput");
formatter.field("name", &self.name);
formatter.field("function_config", &self.function_config);
formatter.field("function_code", &"*** Sensitive Data Redacted ***");
formatter.field("tags", &self.tags);
formatter.finish()
}
}
impl CreateFunctionInput {
/// Creates a new builder-style object to manufacture [`CreateFunctionInput`](crate::operation::create_function::CreateFunctionInput).
pub fn builder() -> crate::operation::create_function::builders::CreateFunctionInputBuilder {
crate::operation::create_function::builders::CreateFunctionInputBuilder::default()
}
}
/// A builder for [`CreateFunctionInput`](crate::operation::create_function::CreateFunctionInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct CreateFunctionInputBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) function_config: ::std::option::Option<crate::types::FunctionConfig>,
pub(crate) function_code: ::std::option::Option<::aws_smithy_types::Blob>,
pub(crate) tags: ::std::option::Option<crate::types::Tags>,
}
impl CreateFunctionInputBuilder {
/// <p>A name to identify the function.</p>
/// This field is required.
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
/// <p>A name to identify the function.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>A name to identify the function.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>Configuration information about the function, including an optional comment and the function's runtime.</p>
/// This field is required.
pub fn function_config(mut self, input: crate::types::FunctionConfig) -> Self {
self.function_config = ::std::option::Option::Some(input);
self
}
/// <p>Configuration information about the function, including an optional comment and the function's runtime.</p>
pub fn set_function_config(mut self, input: ::std::option::Option<crate::types::FunctionConfig>) -> Self {
self.function_config = input;
self
}
/// <p>Configuration information about the function, including an optional comment and the function's runtime.</p>
pub fn get_function_config(&self) -> &::std::option::Option<crate::types::FunctionConfig> {
&self.function_config
}
/// <p>The function code. For more information about writing a CloudFront function, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html">Writing function code for CloudFront Functions</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
/// This field is required.
pub fn function_code(mut self, input: ::aws_smithy_types::Blob) -> Self {
self.function_code = ::std::option::Option::Some(input);
self
}
/// <p>The function code. For more information about writing a CloudFront function, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html">Writing function code for CloudFront Functions</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
pub fn set_function_code(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
self.function_code = input;
self
}
/// <p>The function code. For more information about writing a CloudFront function, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html">Writing function code for CloudFront Functions</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
pub fn get_function_code(&self) -> &::std::option::Option<::aws_smithy_types::Blob> {
&self.function_code
}
/// <p>A complex type that contains zero or more <code>Tag</code> elements.</p>
pub fn tags(mut self, input: crate::types::Tags) -> Self {
self.tags = ::std::option::Option::Some(input);
self
}
/// <p>A complex type that contains zero or more <code>Tag</code> elements.</p>
pub fn set_tags(mut self, input: ::std::option::Option<crate::types::Tags>) -> Self {
self.tags = input;
self
}
/// <p>A complex type that contains zero or more <code>Tag</code> elements.</p>
pub fn get_tags(&self) -> &::std::option::Option<crate::types::Tags> {
&self.tags
}
/// Consumes the builder and constructs a [`CreateFunctionInput`](crate::operation::create_function::CreateFunctionInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_function::CreateFunctionInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_function::CreateFunctionInput {
name: self.name,
function_config: self.function_config,
function_code: self.function_code,
tags: self.tags,
})
}
}
impl ::std::fmt::Debug for CreateFunctionInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateFunctionInputBuilder");
formatter.field("name", &self.name);
formatter.field("function_config", &self.function_config);
formatter.field("function_code", &"*** Sensitive Data Redacted ***");
formatter.field("tags", &self.tags);
formatter.finish()
}
}