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
// 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, ::std::fmt::Debug)]
pub struct CreateCollectionGroupInput {
/// <p>The name of the collection group.</p>
pub name: ::std::option::Option<::std::string::String>,
/// <p>Indicates whether standby replicas should be used for a collection group.</p>
pub standby_replicas: ::std::option::Option<crate::types::StandbyReplicas>,
/// <p>A description of the collection group.</p>
pub description: ::std::option::Option<::std::string::String>,
/// <p>An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Serverless collection group.</p>
pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
/// <p>The capacity limits for the collection group, in OpenSearch Compute Units (OCUs). These limits control the maximum and minimum capacity for collections within the group.</p>
pub capacity_limits: ::std::option::Option<crate::types::CollectionGroupCapacityLimits>,
/// <p>Unique, case-sensitive identifier to ensure idempotency of the request.</p>
pub client_token: ::std::option::Option<::std::string::String>,
}
impl CreateCollectionGroupInput {
/// <p>The name of the collection group.</p>
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
/// <p>Indicates whether standby replicas should be used for a collection group.</p>
pub fn standby_replicas(&self) -> ::std::option::Option<&crate::types::StandbyReplicas> {
self.standby_replicas.as_ref()
}
/// <p>A description of the collection group.</p>
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
/// <p>An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Serverless collection group.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
pub fn tags(&self) -> &[crate::types::Tag] {
self.tags.as_deref().unwrap_or_default()
}
/// <p>The capacity limits for the collection group, in OpenSearch Compute Units (OCUs). These limits control the maximum and minimum capacity for collections within the group.</p>
pub fn capacity_limits(&self) -> ::std::option::Option<&crate::types::CollectionGroupCapacityLimits> {
self.capacity_limits.as_ref()
}
/// <p>Unique, case-sensitive identifier to ensure idempotency of the request.</p>
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
}
impl CreateCollectionGroupInput {
/// Creates a new builder-style object to manufacture [`CreateCollectionGroupInput`](crate::operation::create_collection_group::CreateCollectionGroupInput).
pub fn builder() -> crate::operation::create_collection_group::builders::CreateCollectionGroupInputBuilder {
crate::operation::create_collection_group::builders::CreateCollectionGroupInputBuilder::default()
}
}
/// A builder for [`CreateCollectionGroupInput`](crate::operation::create_collection_group::CreateCollectionGroupInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateCollectionGroupInputBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) standby_replicas: ::std::option::Option<crate::types::StandbyReplicas>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
pub(crate) capacity_limits: ::std::option::Option<crate::types::CollectionGroupCapacityLimits>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
}
impl CreateCollectionGroupInputBuilder {
/// <p>The name of the collection group.</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>The name of the collection group.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>The name of the collection group.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>Indicates whether standby replicas should be used for a collection group.</p>
/// This field is required.
pub fn standby_replicas(mut self, input: crate::types::StandbyReplicas) -> Self {
self.standby_replicas = ::std::option::Option::Some(input);
self
}
/// <p>Indicates whether standby replicas should be used for a collection group.</p>
pub fn set_standby_replicas(mut self, input: ::std::option::Option<crate::types::StandbyReplicas>) -> Self {
self.standby_replicas = input;
self
}
/// <p>Indicates whether standby replicas should be used for a collection group.</p>
pub fn get_standby_replicas(&self) -> &::std::option::Option<crate::types::StandbyReplicas> {
&self.standby_replicas
}
/// <p>A description of the collection group.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
/// <p>A description of the collection group.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
/// <p>A description of the collection group.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
/// Appends an item to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Serverless collection group.</p>
pub fn tags(mut self, input: crate::types::Tag) -> Self {
let mut v = self.tags.unwrap_or_default();
v.push(input);
self.tags = ::std::option::Option::Some(v);
self
}
/// <p>An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Serverless collection group.</p>
pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
self.tags = input;
self
}
/// <p>An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Serverless collection group.</p>
pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
&self.tags
}
/// <p>The capacity limits for the collection group, in OpenSearch Compute Units (OCUs). These limits control the maximum and minimum capacity for collections within the group.</p>
pub fn capacity_limits(mut self, input: crate::types::CollectionGroupCapacityLimits) -> Self {
self.capacity_limits = ::std::option::Option::Some(input);
self
}
/// <p>The capacity limits for the collection group, in OpenSearch Compute Units (OCUs). These limits control the maximum and minimum capacity for collections within the group.</p>
pub fn set_capacity_limits(mut self, input: ::std::option::Option<crate::types::CollectionGroupCapacityLimits>) -> Self {
self.capacity_limits = input;
self
}
/// <p>The capacity limits for the collection group, in OpenSearch Compute Units (OCUs). These limits control the maximum and minimum capacity for collections within the group.</p>
pub fn get_capacity_limits(&self) -> &::std::option::Option<crate::types::CollectionGroupCapacityLimits> {
&self.capacity_limits
}
/// <p>Unique, case-sensitive identifier to ensure 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>Unique, case-sensitive identifier to ensure 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>Unique, case-sensitive identifier to ensure idempotency of the request.</p>
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
/// Consumes the builder and constructs a [`CreateCollectionGroupInput`](crate::operation::create_collection_group::CreateCollectionGroupInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_collection_group::CreateCollectionGroupInput, ::aws_smithy_types::error::operation::BuildError>
{
::std::result::Result::Ok(crate::operation::create_collection_group::CreateCollectionGroupInput {
name: self.name,
standby_replicas: self.standby_replicas,
description: self.description,
tags: self.tags,
capacity_limits: self.capacity_limits,
client_token: self.client_token,
})
}
}