fn authorize_cluster_security_group_ingress(
        &self,
        input: AuthorizeClusterSecurityGroupIngressMessage,
    ) -> RusotoFuture<
        AuthorizeClusterSecurityGroupIngressResult,
        AuthorizeClusterSecurityGroupIngressError,
    > {
        let mut request = SignedRequest::new("POST", "redshift", &self.region, "/");
        let mut params = Params::new();

        params.put("Action", "AuthorizeClusterSecurityGroupIngress");
        params.put("Version", "2012-12-01");
        AuthorizeClusterSecurityGroupIngressMessageSerializer::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(AuthorizeClusterSecurityGroupIngressError::from_response(
                        response,
                    ))
                }));
            }

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

                if response.body.is_empty() {
                    result = AuthorizeClusterSecurityGroupIngressResult::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 = AuthorizeClusterSecurityGroupIngressResultDeserializer::deserialize(
                        "AuthorizeClusterSecurityGroupIngressResult",
                        &mut stack,
                    )?;
                    skip_tree(&mut stack);
                    end_element(&actual_tag_name, &mut stack)?;
                }
                // parse non-payload
                Ok(result)
            }))
        })
    }
/// <p>Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.</p> <p>If you authorize access to an Amazon EC2 security group, specify <i>EC2SecurityGroupName</i> and <i>EC2SecurityGroupOwnerId</i>. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region. </p> <p>If you authorize access to a CIDR/IP address range, specify <i>CIDRIP</i>. For an overview of CIDR blocks, see the Wikipedia article on <a href="http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless Inter-Domain Routing</a>. </p> <p>You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html">Working with Security Groups</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group. If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region.  If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain Routing.  You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security Groups in the Amazon Redshift Cluster Management Guide.
Adds an inbound ( ingress ) rule to an Amazon Redshift security group . Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance you can authorize inbound access to either a Classless Interdomain Routing ( CIDR ) / Internet Protocol ( IP ) range or to an Amazon EC2 security group . You can add as many as 20 ingress rules to an Amazon Redshift security group . If you authorize access to an Amazon EC2 security group specify EC2SecurityGroupName and EC2SecurityGroupOwnerId . The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region . If you authorize access to a CIDR / IP address range specify CIDRIP . For an overview of CIDR blocks see the Wikipedia article on Classless Inter - Domain Routing . You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster . For information about managing security groups go to Working with Security Groups in the Amazon Redshift Cluster Management Guide .
fn authorize_cluster_security_group_ingress(
        &self,
        input: AuthorizeClusterSecurityGroupIngressMessage,
    ) -> RusotoFuture<
        AuthorizeClusterSecurityGroupIngressResult,
        AuthorizeClusterSecurityGroupIngressError,
    > {
        let mut request = SignedRequest::new("POST", "redshift", &self.region, "/");
        let mut params = Params::new();
        params.put("Action", "AuthorizeClusterSecurityGroupIngress");
        params.put("Version", "2012-12-01");
        AuthorizeClusterSecurityGroupIngressMessageSerializer::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(AuthorizeClusterSecurityGroupIngressError::from_response(
                        response,
                    ))
                }));
            }
            Box::new(response.buffer().from_err().and_then(move |response| {
                let result;
                if response.body.is_empty() {
                    result = AuthorizeClusterSecurityGroupIngressResult::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 = AuthorizeClusterSecurityGroupIngressResultDeserializer::deserialize(
                        "AuthorizeClusterSecurityGroupIngressResult",
                        &mut stack,
                    )?;
                    skip_tree(&mut stack);
                    end_element(&actual_tag_name, &mut stack)?;
                }
                // parse non-payload
                Ok(result)
            }))
        })
    }
fn authorize_cluster_security_group_ingress ( & self , input : AuthorizeClusterSecurityGroupIngressMessage , ) -> RusotoFuture < AuthorizeClusterSecurityGroupIngressResult , AuthorizeClusterSecurityGroupIngressError , > { let mut request = SignedRequest :: new ( " " , " " , & self . region , " " ) ; let mut params = Params :: new ( ) ; params . put ( " " , " " ) ; params . put ( " " , " " ) ; AuthorizeClusterSecurityGroupIngressMessageSerializer :: 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 ( AuthorizeClusterSecurityGroupIngressError :: from_response ( response , ) ) } ) ) ; } Box :: new ( response . buffer ( ) . from_err ( ) . and_then ( move | response | { let result ; if response . body . is_empty ( ) { result = AuthorizeClusterSecurityGroupIngressResult :: 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 = AuthorizeClusterSecurityGroupIngressResultDeserializer :: deserialize ( " " , & mut stack , ) ? ; skip_tree ( & mut stack ) ; end_element ( & actual_tag_name , & mut stack ) ? ; } // parse non-payload Ok ( result ) } ) ) } ) }
<p>Adds an inbound (ingress) rule to an Amazon Redshift security group.
<p > Adds an inbound ( ingress ) rule to an Amazon Redshift security group .
&self
input
AuthorizeClusterSecurityGroupIngressMessage
&self
input
AuthorizeClusterSecurityGroupIngressMessage