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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Filter criteria to use in determining which extensions to return.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct TypeFilters {
/// <p>The category of extensions to return.</p>
/// <ul>
/// <li>
/// <p><code>REGISTERED</code>: Private extensions that have been registered for this account and Region.</p></li>
/// <li>
/// <p><code>ACTIVATED</code>: Public extensions that have been activated for this account and Region.</p></li>
/// <li>
/// <p><code>THIRD_PARTY</code>: Extensions available for use from publishers other than Amazon. This includes:</p>
/// <ul>
/// <li>
/// <p>Private extensions registered in the account.</p></li>
/// <li>
/// <p>Public extensions from publishers other than Amazon, whether activated or not.</p></li>
/// </ul></li>
/// <li>
/// <p><code>AWS_TYPES</code>: Extensions available for use from Amazon.</p></li>
/// </ul>
pub category: ::std::option::Option<crate::types::Category>,
/// <p>The id of the publisher of the extension.</p>
/// <p>Extensions published by Amazon aren't assigned a publisher ID. Use the <code>AWS_TYPES</code> category to specify a list of types published by Amazon.</p>
pub publisher_id: ::std::option::Option<::std::string::String>,
/// <p>A prefix to use as a filter for results.</p>
pub type_name_prefix: ::std::option::Option<::std::string::String>,
}
impl TypeFilters {
/// <p>The category of extensions to return.</p>
/// <ul>
/// <li>
/// <p><code>REGISTERED</code>: Private extensions that have been registered for this account and Region.</p></li>
/// <li>
/// <p><code>ACTIVATED</code>: Public extensions that have been activated for this account and Region.</p></li>
/// <li>
/// <p><code>THIRD_PARTY</code>: Extensions available for use from publishers other than Amazon. This includes:</p>
/// <ul>
/// <li>
/// <p>Private extensions registered in the account.</p></li>
/// <li>
/// <p>Public extensions from publishers other than Amazon, whether activated or not.</p></li>
/// </ul></li>
/// <li>
/// <p><code>AWS_TYPES</code>: Extensions available for use from Amazon.</p></li>
/// </ul>
pub fn category(&self) -> ::std::option::Option<&crate::types::Category> {
self.category.as_ref()
}
/// <p>The id of the publisher of the extension.</p>
/// <p>Extensions published by Amazon aren't assigned a publisher ID. Use the <code>AWS_TYPES</code> category to specify a list of types published by Amazon.</p>
pub fn publisher_id(&self) -> ::std::option::Option<&str> {
self.publisher_id.as_deref()
}
/// <p>A prefix to use as a filter for results.</p>
pub fn type_name_prefix(&self) -> ::std::option::Option<&str> {
self.type_name_prefix.as_deref()
}
}
impl TypeFilters {
/// Creates a new builder-style object to manufacture [`TypeFilters`](crate::types::TypeFilters).
pub fn builder() -> crate::types::builders::TypeFiltersBuilder {
crate::types::builders::TypeFiltersBuilder::default()
}
}
/// A builder for [`TypeFilters`](crate::types::TypeFilters).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct TypeFiltersBuilder {
pub(crate) category: ::std::option::Option<crate::types::Category>,
pub(crate) publisher_id: ::std::option::Option<::std::string::String>,
pub(crate) type_name_prefix: ::std::option::Option<::std::string::String>,
}
impl TypeFiltersBuilder {
/// <p>The category of extensions to return.</p>
/// <ul>
/// <li>
/// <p><code>REGISTERED</code>: Private extensions that have been registered for this account and Region.</p></li>
/// <li>
/// <p><code>ACTIVATED</code>: Public extensions that have been activated for this account and Region.</p></li>
/// <li>
/// <p><code>THIRD_PARTY</code>: Extensions available for use from publishers other than Amazon. This includes:</p>
/// <ul>
/// <li>
/// <p>Private extensions registered in the account.</p></li>
/// <li>
/// <p>Public extensions from publishers other than Amazon, whether activated or not.</p></li>
/// </ul></li>
/// <li>
/// <p><code>AWS_TYPES</code>: Extensions available for use from Amazon.</p></li>
/// </ul>
pub fn category(mut self, input: crate::types::Category) -> Self {
self.category = ::std::option::Option::Some(input);
self
}
/// <p>The category of extensions to return.</p>
/// <ul>
/// <li>
/// <p><code>REGISTERED</code>: Private extensions that have been registered for this account and Region.</p></li>
/// <li>
/// <p><code>ACTIVATED</code>: Public extensions that have been activated for this account and Region.</p></li>
/// <li>
/// <p><code>THIRD_PARTY</code>: Extensions available for use from publishers other than Amazon. This includes:</p>
/// <ul>
/// <li>
/// <p>Private extensions registered in the account.</p></li>
/// <li>
/// <p>Public extensions from publishers other than Amazon, whether activated or not.</p></li>
/// </ul></li>
/// <li>
/// <p><code>AWS_TYPES</code>: Extensions available for use from Amazon.</p></li>
/// </ul>
pub fn set_category(mut self, input: ::std::option::Option<crate::types::Category>) -> Self {
self.category = input;
self
}
/// <p>The category of extensions to return.</p>
/// <ul>
/// <li>
/// <p><code>REGISTERED</code>: Private extensions that have been registered for this account and Region.</p></li>
/// <li>
/// <p><code>ACTIVATED</code>: Public extensions that have been activated for this account and Region.</p></li>
/// <li>
/// <p><code>THIRD_PARTY</code>: Extensions available for use from publishers other than Amazon. This includes:</p>
/// <ul>
/// <li>
/// <p>Private extensions registered in the account.</p></li>
/// <li>
/// <p>Public extensions from publishers other than Amazon, whether activated or not.</p></li>
/// </ul></li>
/// <li>
/// <p><code>AWS_TYPES</code>: Extensions available for use from Amazon.</p></li>
/// </ul>
pub fn get_category(&self) -> &::std::option::Option<crate::types::Category> {
&self.category
}
/// <p>The id of the publisher of the extension.</p>
/// <p>Extensions published by Amazon aren't assigned a publisher ID. Use the <code>AWS_TYPES</code> category to specify a list of types published by Amazon.</p>
pub fn publisher_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.publisher_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The id of the publisher of the extension.</p>
/// <p>Extensions published by Amazon aren't assigned a publisher ID. Use the <code>AWS_TYPES</code> category to specify a list of types published by Amazon.</p>
pub fn set_publisher_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.publisher_id = input;
self
}
/// <p>The id of the publisher of the extension.</p>
/// <p>Extensions published by Amazon aren't assigned a publisher ID. Use the <code>AWS_TYPES</code> category to specify a list of types published by Amazon.</p>
pub fn get_publisher_id(&self) -> &::std::option::Option<::std::string::String> {
&self.publisher_id
}
/// <p>A prefix to use as a filter for results.</p>
pub fn type_name_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.type_name_prefix = ::std::option::Option::Some(input.into());
self
}
/// <p>A prefix to use as a filter for results.</p>
pub fn set_type_name_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.type_name_prefix = input;
self
}
/// <p>A prefix to use as a filter for results.</p>
pub fn get_type_name_prefix(&self) -> &::std::option::Option<::std::string::String> {
&self.type_name_prefix
}
/// Consumes the builder and constructs a [`TypeFilters`](crate::types::TypeFilters).
pub fn build(self) -> crate::types::TypeFilters {
crate::types::TypeFilters {
category: self.category,
publisher_id: self.publisher_id,
type_name_prefix: self.type_name_prefix,
}
}
}