#[non_exhaustive]pub struct RegisterTypeInput {
pub type: Option<RegistryType>,
pub type_name: Option<String>,
pub schema_handler_package: Option<String>,
pub logging_config: Option<LoggingConfig>,
pub execution_role_arn: Option<String>,
pub client_request_token: Option<String>,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.type: Option<RegistryType>
The kind of extension.
type_name: Option<String>
The name of the extension being registered.
We suggest that extension names adhere to the following patterns:
-
For resource types, company_or_organization::service::type.
-
For modules, company_or_organization::service::type::MODULE.
-
For hooks, MyCompany::Testing::MyTestHook.
The following organization namespaces are reserved and can't be used in your extension names:
-
Alexa
-
AMZN
-
Amazon
-
AWS
-
Custom
-
Dev
schema_handler_package: Option<String>
A URL to the S3 bucket containing the extension project package that contains the necessary files for the extension you want to register.
For information about generating a schema handler package for the extension you want to register, see submit in the CloudFormation CLI User Guide.
The user registering the extension must be able to access the package in the S3 bucket. That's, the user needs to have GetObject permissions for the schema handler package. For more information, see Actions, Resources, and Condition Keys for Amazon S3 in the Identity and Access Management User Guide.
logging_config: Option<LoggingConfig>
Specifies logging configuration information for an extension.
execution_role_arn: Option<String>
The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the extension.
For CloudFormation to assume the specified execution role, the role must contain a trust relationship with the CloudFormation service principal (resources.cloudformation.amazonaws.com
). For more information about adding trust relationships, see Modifying a role trust policy in the Identity and Access Management User Guide.
If your extension calls Amazon Web Services APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those Amazon Web Services APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.
client_request_token: Option<String>
A unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of an extension from the same registration request, even if the request is submitted multiple times.
Implementations§
source§impl RegisterTypeInput
impl RegisterTypeInput
sourcepub fn type(&self) -> Option<&RegistryType>
pub fn type(&self) -> Option<&RegistryType>
The kind of extension.
sourcepub fn type_name(&self) -> Option<&str>
pub fn type_name(&self) -> Option<&str>
The name of the extension being registered.
We suggest that extension names adhere to the following patterns:
-
For resource types, company_or_organization::service::type.
-
For modules, company_or_organization::service::type::MODULE.
-
For hooks, MyCompany::Testing::MyTestHook.
The following organization namespaces are reserved and can't be used in your extension names:
-
Alexa
-
AMZN
-
Amazon
-
AWS
-
Custom
-
Dev
sourcepub fn schema_handler_package(&self) -> Option<&str>
pub fn schema_handler_package(&self) -> Option<&str>
A URL to the S3 bucket containing the extension project package that contains the necessary files for the extension you want to register.
For information about generating a schema handler package for the extension you want to register, see submit in the CloudFormation CLI User Guide.
The user registering the extension must be able to access the package in the S3 bucket. That's, the user needs to have GetObject permissions for the schema handler package. For more information, see Actions, Resources, and Condition Keys for Amazon S3 in the Identity and Access Management User Guide.
sourcepub fn logging_config(&self) -> Option<&LoggingConfig>
pub fn logging_config(&self) -> Option<&LoggingConfig>
Specifies logging configuration information for an extension.
sourcepub fn execution_role_arn(&self) -> Option<&str>
pub fn execution_role_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the extension.
For CloudFormation to assume the specified execution role, the role must contain a trust relationship with the CloudFormation service principal (resources.cloudformation.amazonaws.com
). For more information about adding trust relationships, see Modifying a role trust policy in the Identity and Access Management User Guide.
If your extension calls Amazon Web Services APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those Amazon Web Services APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.
sourcepub fn client_request_token(&self) -> Option<&str>
pub fn client_request_token(&self) -> Option<&str>
A unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of an extension from the same registration request, even if the request is submitted multiple times.
source§impl RegisterTypeInput
impl RegisterTypeInput
sourcepub fn builder() -> RegisterTypeInputBuilder
pub fn builder() -> RegisterTypeInputBuilder
Creates a new builder-style object to manufacture RegisterTypeInput
.
Trait Implementations§
source§impl Clone for RegisterTypeInput
impl Clone for RegisterTypeInput
source§fn clone(&self) -> RegisterTypeInput
fn clone(&self) -> RegisterTypeInput
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RegisterTypeInput
impl Debug for RegisterTypeInput
source§impl PartialEq for RegisterTypeInput
impl PartialEq for RegisterTypeInput
source§fn eq(&self, other: &RegisterTypeInput) -> bool
fn eq(&self, other: &RegisterTypeInput) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for RegisterTypeInput
Auto Trait Implementations§
impl Freeze for RegisterTypeInput
impl RefUnwindSafe for RegisterTypeInput
impl Send for RegisterTypeInput
impl Sync for RegisterTypeInput
impl Unpin for RegisterTypeInput
impl UnwindSafe for RegisterTypeInput
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more