pub struct UpdateIAMPolicyAssignment { /* private fields */ }Expand description
Operation shape for UpdateIAMPolicyAssignment.
This is usually constructed for you using the the fluent builder returned by
update_iam_policy_assignment.
See crate::client::fluent_builders::UpdateIAMPolicyAssignment for more details about the operation.
Implementations§
source§impl UpdateIAMPolicyAssignment
impl UpdateIAMPolicyAssignment
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture UpdateIamPolicyAssignmentInput.
sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new UpdateIAMPolicyAssignment operation.
Examples found in repository?
src/input.rs (line 25912)
25763 25764 25765 25766 25767 25768 25769 25770 25771 25772 25773 25774 25775 25776 25777 25778 25779 25780 25781 25782 25783 25784 25785 25786 25787 25788 25789 25790 25791 25792 25793 25794 25795 25796 25797 25798 25799 25800 25801 25802 25803 25804 25805 25806 25807 25808 25809 25810 25811 25812 25813 25814 25815 25816 25817 25818 25819 25820 25821 25822 25823 25824 25825 25826 25827 25828 25829 25830 25831 25832 25833 25834 25835 25836 25837 25838 25839 25840 25841 25842 25843 25844 25845 25846 25847 25848 25849 25850 25851 25852 25853 25854 25855 25856 25857 25858 25859 25860 25861 25862 25863 25864 25865 25866 25867 25868 25869 25870 25871 25872 25873 25874 25875 25876 25877 25878 25879 25880 25881 25882 25883 25884 25885 25886 25887 25888 25889 25890 25891 25892 25893 25894 25895 25896 25897 25898 25899 25900 25901 25902 25903 25904 25905 25906 25907 25908 25909 25910 25911 25912 25913 25914 25915 25916 25917 25918 25919 25920
pub async fn make_operation(
&self,
_config: &crate::config::Config,
) -> std::result::Result<
aws_smithy_http::operation::Operation<
crate::operation::UpdateIAMPolicyAssignment,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::operation::error::BuildError,
> {
let mut request = {
fn uri_base(
_input: &crate::input::UpdateIamPolicyAssignmentInput,
output: &mut String,
) -> Result<(), aws_smithy_http::operation::error::BuildError> {
let input_293 = &_input.aws_account_id;
let input_293 = input_293.as_ref().ok_or_else(|| {
aws_smithy_http::operation::error::BuildError::missing_field(
"aws_account_id",
"cannot be empty or unset",
)
})?;
let aws_account_id = aws_smithy_http::label::fmt_string(
input_293,
aws_smithy_http::label::EncodingStrategy::Default,
);
if aws_account_id.is_empty() {
return Err(
aws_smithy_http::operation::error::BuildError::missing_field(
"aws_account_id",
"cannot be empty or unset",
),
);
}
let input_294 = &_input.namespace;
let input_294 = input_294.as_ref().ok_or_else(|| {
aws_smithy_http::operation::error::BuildError::missing_field(
"namespace",
"cannot be empty or unset",
)
})?;
let namespace = aws_smithy_http::label::fmt_string(
input_294,
aws_smithy_http::label::EncodingStrategy::Default,
);
if namespace.is_empty() {
return Err(
aws_smithy_http::operation::error::BuildError::missing_field(
"namespace",
"cannot be empty or unset",
),
);
}
let input_295 = &_input.assignment_name;
let input_295 = input_295.as_ref().ok_or_else(|| {
aws_smithy_http::operation::error::BuildError::missing_field(
"assignment_name",
"cannot be empty or unset",
)
})?;
let assignment_name = aws_smithy_http::label::fmt_string(
input_295,
aws_smithy_http::label::EncodingStrategy::Default,
);
if assignment_name.is_empty() {
return Err(
aws_smithy_http::operation::error::BuildError::missing_field(
"assignment_name",
"cannot be empty or unset",
),
);
}
write!(output, "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", AwsAccountId = aws_account_id, Namespace = namespace, AssignmentName = assignment_name).expect("formatting should succeed");
Ok(())
}
#[allow(clippy::unnecessary_wraps)]
fn update_http_builder(
input: &crate::input::UpdateIamPolicyAssignmentInput,
builder: http::request::Builder,
) -> std::result::Result<
http::request::Builder,
aws_smithy_http::operation::error::BuildError,
> {
let mut uri = String::new();
uri_base(input, &mut uri)?;
Ok(builder.method("PUT").uri(uri))
}
let mut builder = update_http_builder(&self, http::request::Builder::new())?;
builder = aws_smithy_http::header::set_request_header_if_absent(
builder,
http::header::CONTENT_TYPE,
"application/json",
);
builder
};
let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
#[allow(clippy::useless_conversion)]
let body = aws_smithy_http::body::SdkBody::from(
crate::operation_ser::serialize_operation_crate_operation_update_iam_policy_assignment(
&self,
)?,
);
if let Some(content_length) = body.content_length() {
request = aws_smithy_http::header::set_request_header_if_absent(
request,
http::header::CONTENT_LENGTH,
content_length,
);
}
let request = request.body(body).expect("should be valid request");
let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
request
.properties_mut()
.insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
let mut user_agent = aws_http::user_agent::AwsUserAgent::new_from_environment(
aws_types::os_shim_internal::Env::real(),
crate::API_METADATA.clone(),
);
if let Some(app_name) = _config.app_name() {
user_agent = user_agent.with_app_name(app_name.clone());
}
request.properties_mut().insert(user_agent);
let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config();
request.properties_mut().insert(signing_config);
request
.properties_mut()
.insert(aws_types::SigningService::from_static(
_config.signing_service(),
));
if let Some(region) = &_config.region {
request
.properties_mut()
.insert(aws_types::region::SigningRegion::from(region.clone()));
}
let endpoint_params = aws_endpoint::Params::new(_config.region.clone());
request
.properties_mut()
.insert::<aws_smithy_http::endpoint::Result>(
_config.endpoint_resolver.resolve_endpoint(&endpoint_params),
);
if let Some(region) = &_config.region {
request.properties_mut().insert(region.clone());
}
aws_http::auth::set_provider(
&mut request.properties_mut(),
_config.credentials_provider.clone(),
);
let op = aws_smithy_http::operation::Operation::new(
request,
crate::operation::UpdateIAMPolicyAssignment::new(),
)
.with_metadata(aws_smithy_http::operation::Metadata::new(
"UpdateIAMPolicyAssignment",
"quicksight",
));
let op = op.with_retry_classifier(aws_http::retry::AwsResponseRetryClassifier::new());
Ok(op)
}Trait Implementations§
source§impl Clone for UpdateIAMPolicyAssignment
impl Clone for UpdateIAMPolicyAssignment
source§fn clone(&self) -> UpdateIAMPolicyAssignment
fn clone(&self) -> UpdateIAMPolicyAssignment
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for UpdateIAMPolicyAssignment
impl Debug for UpdateIAMPolicyAssignment
source§impl Default for UpdateIAMPolicyAssignment
impl Default for UpdateIAMPolicyAssignment
source§fn default() -> UpdateIAMPolicyAssignment
fn default() -> UpdateIAMPolicyAssignment
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl RefUnwindSafe for UpdateIAMPolicyAssignment
impl Send for UpdateIAMPolicyAssignment
impl Sync for UpdateIAMPolicyAssignment
impl Unpin for UpdateIAMPolicyAssignment
impl UnwindSafe for UpdateIAMPolicyAssignment
Blanket Implementations§
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> ParseHttpResponse for Twhere
T: ParseStrictResponse,
impl<T> ParseHttpResponse for Twhere
T: ParseStrictResponse,
§type Output = <T as ParseStrictResponse>::Output
type Output = <T as ParseStrictResponse>::Output
Output type of the HttpResponse. Read more
source§fn parse_unloaded(
&self,
_response: &mut Response
) -> Option<<T as ParseHttpResponse>::Output>
fn parse_unloaded(
&self,
_response: &mut Response
) -> Option<<T as ParseHttpResponse>::Output>
Parse an HTTP request without reading the body. If the body must be provided to proceed,
return
None Read moresource§fn parse_loaded(
&self,
response: &Response<Bytes>
) -> <T as ParseHttpResponse>::Output
fn parse_loaded(
&self,
response: &Response<Bytes>
) -> <T as ParseHttpResponse>::Output
Parse an HTTP request from a fully loaded body. This is for standard request/response style
APIs like AwsJson 1.0/1.1 and the error path of most streaming APIs Read more