Skip to content

Create Gateway Rule

bedrockagentcorecontrol_create_gateway_rule R Documentation

Creates a rule for a gateway

Description

Creates a rule for a gateway. Rules define conditions and actions that control how requests are routed and processed through the gateway, including principal-based access control and path-based routing.

Usage

bedrockagentcorecontrol_create_gateway_rule(gatewayIdentifier,
  clientToken, priority, conditions, actions, description)

Arguments

gatewayIdentifier

[required] The identifier of the gateway to create a rule for.

clientToken

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 Ensuring idempotency.

priority

[required] 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.

conditions

The conditions that must be met for the rule to apply. Conditions can match on principals (IAM ARNs) or request paths.

actions

[required] The actions to take when the rule conditions are met. Actions can route to a specific target or apply a configuration bundle override.

description

The description of the gateway rule.

Value

A list with the following syntax:

list(
  ruleId = "string",
  gatewayArn = "string",
  priority = 123,
  conditions = list(
    list(
      matchPrincipals = list(
        anyOf = list(
          list(
            iamPrincipal = list(
              arn = "string",
              operator = "StringEquals"|"StringLike"
            )
          )
        )
      ),
      matchPaths = list(
        anyOf = list(
          "string"
        )
      )
    )
  ),
  actions = list(
    list(
      configurationBundle = list(
        staticOverride = list(
          bundleArn = "string",
          bundleVersion = "string"
        ),
        weightedOverride = list(
          trafficSplit = list(
            list(
              name = "string",
              weight = 123,
              configurationBundle = list(
                bundleArn = "string",
                bundleVersion = "string"
              ),
              description = "string",
              metadata = list(
                "string"
              )
            )
          )
        )
      ),
      routeToTarget = list(
        staticRoute = list(
          targetName = "string"
        ),
        weightedRoute = list(
          trafficSplit = list(
            list(
              name = "string",
              weight = 123,
              targetName = "string",
              description = "string",
              metadata = list(
                "string"
              )
            )
          )
        )
      )
    )
  ),
  description = "string",
  createdAt = as.POSIXct(
    "2015-01-01"
  ),
  status = "CREATING"|"ACTIVE"|"UPDATING"|"DELETING",
  system = list(
    managedBy = "string"
  )
)

Request syntax

svc$create_gateway_rule(
  gatewayIdentifier = "string",
  clientToken = "string",
  priority = 123,
  conditions = list(
    list(
      matchPrincipals = list(
        anyOf = list(
          list(
            iamPrincipal = list(
              arn = "string",
              operator = "StringEquals"|"StringLike"
            )
          )
        )
      ),
      matchPaths = list(
        anyOf = list(
          "string"
        )
      )
    )
  ),
  actions = list(
    list(
      configurationBundle = list(
        staticOverride = list(
          bundleArn = "string",
          bundleVersion = "string"
        ),
        weightedOverride = list(
          trafficSplit = list(
            list(
              name = "string",
              weight = 123,
              configurationBundle = list(
                bundleArn = "string",
                bundleVersion = "string"
              ),
              description = "string",
              metadata = list(
                "string"
              )
            )
          )
        )
      ),
      routeToTarget = list(
        staticRoute = list(
          targetName = "string"
        ),
        weightedRoute = list(
          trafficSplit = list(
            list(
              name = "string",
              weight = 123,
              targetName = "string",
              description = "string",
              metadata = list(
                "string"
              )
            )
          )
        )
      )
    )
  ),
  description = "string"
)