fn delete_cluster_snapshot(
        &self,
        input: DeleteClusterSnapshotMessage,
    ) -> RusotoFuture<DeleteClusterSnapshotResult, DeleteClusterSnapshotError> {
        let mut request = SignedRequest::new("POST", "redshift", &self.region, "/");
        let mut params = Params::new();

        params.put("Action", "DeleteClusterSnapshot");
        params.put("Version", "2012-12-01");
        DeleteClusterSnapshotMessageSerializer::serialize(&mut params, "", &input);
        request.set_payload(Some(serde_urlencoded::to_string(&params).unwrap()));
        request.set_content_type("application/x-www-form-urlencoded".to_owned());

        self.client.sign_and_dispatch(request, |response| {
            if !response.status.is_success() {
                return Box::new(response.buffer().from_err().and_then(|response| {
                    Err(DeleteClusterSnapshotError::from_response(response))
                }));
            }

            Box::new(response.buffer().from_err().and_then(move |response| {
                let result;

                if response.body.is_empty() {
                    result = DeleteClusterSnapshotResult::default();
                } else {
                    let reader = EventReader::new_with_config(
                        response.body.as_ref(),
                        ParserConfig::new().trim_whitespace(false),
                    );
                    let mut stack = XmlResponse::new(reader.into_iter().peekable());
                    let _start_document = stack.next();
                    let actual_tag_name = peek_at_name(&mut stack)?;
                    start_element(&actual_tag_name, &mut stack)?;
                    result = DeleteClusterSnapshotResultDeserializer::deserialize(
                        "DeleteClusterSnapshotResult",
                        &mut stack,
                    )?;
                    skip_tree(&mut stack);
                    end_element(&actual_tag_name, &mut stack)?;
                }
                // parse non-payload
                Ok(result)
            }))
        })
    }
/// <p>Deletes the specified manual snapshot. The snapshot must be in the <code>available</code> state, with no other users authorized to access the snapshot. </p> <p>Unlike automated snapshots, manual snapshots are retained even after you delete your cluster. Amazon Redshift does not delete your manual snapshots. You must delete manual snapshot explicitly to avoid getting charged. If other accounts are authorized to access the snapshot, you must revoke all of the authorizations before you can delete the snapshot.</p>
Deletes the specified manual snapshot. The snapshot must be in the available state, with no other users authorized to access the snapshot.  Unlike automated snapshots, manual snapshots are retained even after you delete your cluster. Amazon Redshift does not delete your manual snapshots. You must delete manual snapshot explicitly to avoid getting charged. If other accounts are authorized to access the snapshot, you must revoke all of the authorizations before you can delete the snapshot.
Deletes the specified manual snapshot . The snapshot must be in the available state with no other users authorized to access the snapshot . Unlike automated snapshots manual snapshots are retained even after you delete your cluster . Amazon Redshift does not delete your manual snapshots . You must delete manual snapshot explicitly to avoid getting charged . If other accounts are authorized to access the snapshot you must revoke all of the authorizations before you can delete the snapshot .
fn delete_cluster_snapshot(
        &self,
        input: DeleteClusterSnapshotMessage,
    ) -> RusotoFuture<DeleteClusterSnapshotResult, DeleteClusterSnapshotError> {
        let mut request = SignedRequest::new("POST", "redshift", &self.region, "/");
        let mut params = Params::new();
        params.put("Action", "DeleteClusterSnapshot");
        params.put("Version", "2012-12-01");
        DeleteClusterSnapshotMessageSerializer::serialize(&mut params, "", &input);
        request.set_payload(Some(serde_urlencoded::to_string(&params).unwrap()));
        request.set_content_type("application/x-www-form-urlencoded".to_owned());
        self.client.sign_and_dispatch(request, |response| {
            if !response.status.is_success() {
                return Box::new(response.buffer().from_err().and_then(|response| {
                    Err(DeleteClusterSnapshotError::from_response(response))
                }));
            }
            Box::new(response.buffer().from_err().and_then(move |response| {
                let result;
                if response.body.is_empty() {
                    result = DeleteClusterSnapshotResult::default();
                } else {
                    let reader = EventReader::new_with_config(
                        response.body.as_ref(),
                        ParserConfig::new().trim_whitespace(false),
                    );
                    let mut stack = XmlResponse::new(reader.into_iter().peekable());
                    let _start_document = stack.next();
                    let actual_tag_name = peek_at_name(&mut stack)?;
                    start_element(&actual_tag_name, &mut stack)?;
                    result = DeleteClusterSnapshotResultDeserializer::deserialize(
                        "DeleteClusterSnapshotResult",
                        &mut stack,
                    )?;
                    skip_tree(&mut stack);
                    end_element(&actual_tag_name, &mut stack)?;
                }
                // parse non-payload
                Ok(result)
            }))
        })
    }
fn delete_cluster_snapshot ( & self , input : DeleteClusterSnapshotMessage , ) -> RusotoFuture < DeleteClusterSnapshotResult , DeleteClusterSnapshotError > { let mut request = SignedRequest :: new ( " " , " " , & self . region , " " ) ; let mut params = Params :: new ( ) ; params . put ( " " , " " ) ; params . put ( " " , " " ) ; DeleteClusterSnapshotMessageSerializer :: serialize ( & mut params , " " , & input ) ; request . set_payload ( Some ( serde_urlencoded :: to_string ( & params ) . unwrap ( ) ) ) ; request . set_content_type ( " " . to_owned ( ) ) ; self . client . sign_and_dispatch ( request , | response | { if ! response . status . is_success ( ) { return Box :: new ( response . buffer ( ) . from_err ( ) . and_then ( | response | { Err ( DeleteClusterSnapshotError :: from_response ( response ) ) } ) ) ; } Box :: new ( response . buffer ( ) . from_err ( ) . and_then ( move | response | { let result ; if response . body . is_empty ( ) { result = DeleteClusterSnapshotResult :: default ( ) ; } else { let reader = EventReader :: new_with_config ( response . body . as_ref ( ) , ParserConfig :: new ( ) . trim_whitespace ( false ) , ) ; let mut stack = XmlResponse :: new ( reader . into_iter ( ) . peekable ( ) ) ; let _start_document = stack . next ( ) ; let actual_tag_name = peek_at_name ( & mut stack ) ? ; start_element ( & actual_tag_name , & mut stack ) ? ; result = DeleteClusterSnapshotResultDeserializer :: deserialize ( " " , & mut stack , ) ? ; skip_tree ( & mut stack ) ; end_element ( & actual_tag_name , & mut stack ) ? ; } // parse non-payload Ok ( result ) } ) ) } ) }
<p>Deletes the specified manual snapshot.
<p > Deletes the specified manual snapshot .
&self
input
DeleteClusterSnapshotMessage
&self
input
DeleteClusterSnapshotMessage