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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Represents the input of a <code>CreateScraper</code> operation.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CreateScraperInput {
/// <p>(optional) a name to associate with the scraper. This is for your use, and does not need to be unique.</p>
pub alias: ::std::option::Option<::std::string::String>,
/// <p>The configuration file to use in the new scraper. For more information, see <a href="prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration">Scraper configuration</a> in the <i>Amazon Managed Service for Prometheus User Guide</i>.</p>
pub scrape_configuration: ::std::option::Option<crate::types::ScrapeConfiguration>,
/// <p>The Amazon EKS cluster from which the scraper will collect metrics.</p>
pub source: ::std::option::Option<crate::types::Source>,
/// <p>The Amazon Managed Service for Prometheus workspace to send metrics to.</p>
pub destination: ::std::option::Option<crate::types::Destination>,
/// <p>(Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request.</p>
pub client_token: ::std::option::Option<::std::string::String>,
/// <p>(Optional) The list of tag keys and values to associate with the scraper.</p>
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateScraperInput {
/// <p>(optional) a name to associate with the scraper. This is for your use, and does not need to be unique.</p>
pub fn alias(&self) -> ::std::option::Option<&str> {
self.alias.as_deref()
}
/// <p>The configuration file to use in the new scraper. For more information, see <a href="prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration">Scraper configuration</a> in the <i>Amazon Managed Service for Prometheus User Guide</i>.</p>
pub fn scrape_configuration(&self) -> ::std::option::Option<&crate::types::ScrapeConfiguration> {
self.scrape_configuration.as_ref()
}
/// <p>The Amazon EKS cluster from which the scraper will collect metrics.</p>
pub fn source(&self) -> ::std::option::Option<&crate::types::Source> {
self.source.as_ref()
}
/// <p>The Amazon Managed Service for Prometheus workspace to send metrics to.</p>
pub fn destination(&self) -> ::std::option::Option<&crate::types::Destination> {
self.destination.as_ref()
}
/// <p>(Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request.</p>
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
/// <p>(Optional) The list of tag keys and values to associate with the scraper.</p>
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
}
impl CreateScraperInput {
/// Creates a new builder-style object to manufacture [`CreateScraperInput`](crate::operation::create_scraper::CreateScraperInput).
pub fn builder() -> crate::operation::create_scraper::builders::CreateScraperInputBuilder {
crate::operation::create_scraper::builders::CreateScraperInputBuilder::default()
}
}
/// A builder for [`CreateScraperInput`](crate::operation::create_scraper::CreateScraperInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct CreateScraperInputBuilder {
pub(crate) alias: ::std::option::Option<::std::string::String>,
pub(crate) scrape_configuration: ::std::option::Option<crate::types::ScrapeConfiguration>,
pub(crate) source: ::std::option::Option<crate::types::Source>,
pub(crate) destination: ::std::option::Option<crate::types::Destination>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateScraperInputBuilder {
/// <p>(optional) a name to associate with the scraper. This is for your use, and does not need to be unique.</p>
pub fn alias(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.alias = ::std::option::Option::Some(input.into());
self
}
/// <p>(optional) a name to associate with the scraper. This is for your use, and does not need to be unique.</p>
pub fn set_alias(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.alias = input;
self
}
/// <p>(optional) a name to associate with the scraper. This is for your use, and does not need to be unique.</p>
pub fn get_alias(&self) -> &::std::option::Option<::std::string::String> {
&self.alias
}
/// <p>The configuration file to use in the new scraper. For more information, see <a href="prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration">Scraper configuration</a> in the <i>Amazon Managed Service for Prometheus User Guide</i>.</p>
/// This field is required.
pub fn scrape_configuration(mut self, input: crate::types::ScrapeConfiguration) -> Self {
self.scrape_configuration = ::std::option::Option::Some(input);
self
}
/// <p>The configuration file to use in the new scraper. For more information, see <a href="prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration">Scraper configuration</a> in the <i>Amazon Managed Service for Prometheus User Guide</i>.</p>
pub fn set_scrape_configuration(mut self, input: ::std::option::Option<crate::types::ScrapeConfiguration>) -> Self {
self.scrape_configuration = input;
self
}
/// <p>The configuration file to use in the new scraper. For more information, see <a href="prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration">Scraper configuration</a> in the <i>Amazon Managed Service for Prometheus User Guide</i>.</p>
pub fn get_scrape_configuration(&self) -> &::std::option::Option<crate::types::ScrapeConfiguration> {
&self.scrape_configuration
}
/// <p>The Amazon EKS cluster from which the scraper will collect metrics.</p>
/// This field is required.
pub fn source(mut self, input: crate::types::Source) -> Self {
self.source = ::std::option::Option::Some(input);
self
}
/// <p>The Amazon EKS cluster from which the scraper will collect metrics.</p>
pub fn set_source(mut self, input: ::std::option::Option<crate::types::Source>) -> Self {
self.source = input;
self
}
/// <p>The Amazon EKS cluster from which the scraper will collect metrics.</p>
pub fn get_source(&self) -> &::std::option::Option<crate::types::Source> {
&self.source
}
/// <p>The Amazon Managed Service for Prometheus workspace to send metrics to.</p>
/// This field is required.
pub fn destination(mut self, input: crate::types::Destination) -> Self {
self.destination = ::std::option::Option::Some(input);
self
}
/// <p>The Amazon Managed Service for Prometheus workspace to send metrics to.</p>
pub fn set_destination(mut self, input: ::std::option::Option<crate::types::Destination>) -> Self {
self.destination = input;
self
}
/// <p>The Amazon Managed Service for Prometheus workspace to send metrics to.</p>
pub fn get_destination(&self) -> &::std::option::Option<crate::types::Destination> {
&self.destination
}
/// <p>(Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request.</p>
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
/// <p>(Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request.</p>
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
/// <p>(Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request.</p>
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
/// Adds a key-value pair to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>(Optional) The list of tag keys and values to associate with the scraper.</p>
pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = ::std::option::Option::Some(hash_map);
self
}
/// <p>(Optional) The list of tag keys and values to associate with the scraper.</p>
pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.tags = input;
self
}
/// <p>(Optional) The list of tag keys and values to associate with the scraper.</p>
pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.tags
}
/// Consumes the builder and constructs a [`CreateScraperInput`](crate::operation::create_scraper::CreateScraperInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_scraper::CreateScraperInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_scraper::CreateScraperInput {
alias: self.alias,
scrape_configuration: self.scrape_configuration,
source: self.source,
destination: self.destination,
client_token: self.client_token,
tags: self.tags,
})
}
}