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
// 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 CreateHostInput {
/// <p>The name of the host to be created. The name must be unique in the calling AWS account.</p>
pub name: ::std::option::Option<::std::string::String>,
/// <p>The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.</p>
pub provider_type: ::std::option::Option<crate::types::ProviderType>,
/// <p>The endpoint of the infrastructure to be represented by the host after it is created.</p>
pub provider_endpoint: ::std::option::Option<::std::string::String>,
/// <p>The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.</p>
pub vpc_configuration: ::std::option::Option<crate::types::VpcConfiguration>,
#[allow(missing_docs)] // documentation missing in model
pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateHostInput {
/// <p>The name of the host to be created. The name must be unique in the calling AWS account.</p>
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
/// <p>The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.</p>
pub fn provider_type(&self) -> ::std::option::Option<&crate::types::ProviderType> {
self.provider_type.as_ref()
}
/// <p>The endpoint of the infrastructure to be represented by the host after it is created.</p>
pub fn provider_endpoint(&self) -> ::std::option::Option<&str> {
self.provider_endpoint.as_deref()
}
/// <p>The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.</p>
pub fn vpc_configuration(&self) -> ::std::option::Option<&crate::types::VpcConfiguration> {
self.vpc_configuration.as_ref()
}
#[allow(missing_docs)] // documentation missing in model
pub fn tags(&self) -> ::std::option::Option<&[crate::types::Tag]> {
self.tags.as_deref()
}
}
impl CreateHostInput {
/// Creates a new builder-style object to manufacture [`CreateHostInput`](crate::operation::create_host::CreateHostInput).
pub fn builder() -> crate::operation::create_host::builders::CreateHostInputBuilder {
crate::operation::create_host::builders::CreateHostInputBuilder::default()
}
}
/// A builder for [`CreateHostInput`](crate::operation::create_host::CreateHostInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct CreateHostInputBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) provider_type: ::std::option::Option<crate::types::ProviderType>,
pub(crate) provider_endpoint: ::std::option::Option<::std::string::String>,
pub(crate) vpc_configuration: ::std::option::Option<crate::types::VpcConfiguration>,
pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateHostInputBuilder {
/// <p>The name of the host to be created. The name must be unique in the calling AWS account.</p>
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 host to be created. The name must be unique in the calling AWS account.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>The name of the host to be created. The name must be unique in the calling AWS account.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.</p>
pub fn provider_type(mut self, input: crate::types::ProviderType) -> Self {
self.provider_type = ::std::option::Option::Some(input);
self
}
/// <p>The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.</p>
pub fn set_provider_type(mut self, input: ::std::option::Option<crate::types::ProviderType>) -> Self {
self.provider_type = input;
self
}
/// <p>The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.</p>
pub fn get_provider_type(&self) -> &::std::option::Option<crate::types::ProviderType> {
&self.provider_type
}
/// <p>The endpoint of the infrastructure to be represented by the host after it is created.</p>
pub fn provider_endpoint(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.provider_endpoint = ::std::option::Option::Some(input.into());
self
}
/// <p>The endpoint of the infrastructure to be represented by the host after it is created.</p>
pub fn set_provider_endpoint(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.provider_endpoint = input;
self
}
/// <p>The endpoint of the infrastructure to be represented by the host after it is created.</p>
pub fn get_provider_endpoint(&self) -> &::std::option::Option<::std::string::String> {
&self.provider_endpoint
}
/// <p>The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.</p>
pub fn vpc_configuration(mut self, input: crate::types::VpcConfiguration) -> Self {
self.vpc_configuration = ::std::option::Option::Some(input);
self
}
/// <p>The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.</p>
pub fn set_vpc_configuration(mut self, input: ::std::option::Option<crate::types::VpcConfiguration>) -> Self {
self.vpc_configuration = input;
self
}
/// <p>The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.</p>
pub fn get_vpc_configuration(&self) -> &::std::option::Option<crate::types::VpcConfiguration> {
&self.vpc_configuration
}
/// Appends an item to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
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
}
#[allow(missing_docs)] // documentation missing in model
pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
self.tags = input;
self
}
#[allow(missing_docs)] // documentation missing in model
pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
&self.tags
}
/// Consumes the builder and constructs a [`CreateHostInput`](crate::operation::create_host::CreateHostInput).
pub fn build(self) -> ::std::result::Result<crate::operation::create_host::CreateHostInput, ::aws_smithy_http::operation::error::BuildError> {
::std::result::Result::Ok(crate::operation::create_host::CreateHostInput {
name: self.name,
provider_type: self.provider_type,
provider_endpoint: self.provider_endpoint,
vpc_configuration: self.vpc_configuration,
tags: self.tags,
})
}
}