// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateGatewayRule`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`gateway_identifier(impl Into<String>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::gateway_identifier) / [`set_gateway_identifier(Option<String>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::set_gateway_identifier):<br>required: **true**<br><p>The identifier of the gateway to create a rule for.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.</p><br>
/// - [`priority(i32)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::priority) / [`set_priority(Option<i32>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::set_priority):<br>required: **true**<br><p>The priority of the rule. Rules are evaluated in order of priority, with lower numbers evaluated first. Must be between 1 and 1,000,000.</p><br>
/// - [`conditions(Condition)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::conditions) / [`set_conditions(Option<Vec::<Condition>>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::set_conditions):<br>required: **false**<br><p>The conditions that must be met for the rule to apply. Conditions can match on principals (IAM ARNs) or request paths.</p><br>
/// - [`actions(Action)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::actions) / [`set_actions(Option<Vec::<Action>>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::set_actions):<br>required: **true**<br><p>The actions to take when the rule conditions are met. Actions can route to a specific target or apply a configuration bundle override.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::set_description):<br>required: **false**<br><p>The description of the gateway rule.</p><br>
/// - On success, responds with [`CreateGatewayRuleOutput`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput) with field(s):
/// - [`rule_id(String)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::rule_id): <p>The unique identifier of the gateway rule.</p>
/// - [`gateway_arn(String)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::gateway_arn): <p>The Amazon Resource Name (ARN) of the gateway that the rule belongs to.</p>
/// - [`priority(i32)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::priority): <p>The priority of the rule. Rules are evaluated in order of priority, with lower numbers evaluated first.</p>
/// - [`conditions(Option<Vec::<Condition>>)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::conditions): <p>The conditions that must be met for the rule to apply.</p>
/// - [`actions(Vec::<Action>)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::actions): <p>The actions to take when the rule conditions are met.</p>
/// - [`description(Option<String>)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::description): <p>The description of the gateway rule.</p>
/// - [`created_at(DateTime)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::created_at): <p>The timestamp when the rule was created.</p>
/// - [`status(GatewayRuleStatus)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::status): <p>The current status of the rule.</p>
/// - [`system(Option<SystemManagedBlock>)`](crate::operation::create_gateway_rule::CreateGatewayRuleOutput::system): <p>System-managed metadata for rules created by automated processes.</p>
/// - On failure, responds with [`SdkError<CreateGatewayRuleError>`](crate::operation::create_gateway_rule::CreateGatewayRuleError)
pub fn create_gateway_rule(&self) -> crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder {
crate::operation::create_gateway_rule::builders::CreateGatewayRuleFluentBuilder::new(self.handle.clone())
}
}