R/waf_service.R

Defines functions service waf

Documented in waf

# This file is generated by make.paws. Please do not edit here.
#' @importFrom paws.common new_handlers new_service set_config merge_config
NULL

#' AWS WAF
#'
#' @description
#' This is **AWS WAF Classic** documentation. For more information, see
#' [AWS WAF
#' Classic](https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
#' in the developer guide.
#' 
#' **For the latest version of AWS WAF**, use the AWS WAFV2 API and see the
#' [AWS WAF Developer
#' Guide](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
#' With the latest version, AWS WAF has a single set of endpoints for
#' regional and global use.
#' 
#' This is the *AWS WAF Classic API Reference* for using AWS WAF Classic
#' with Amazon CloudFront. The AWS WAF Classic actions and data types
#' listed in the reference are available for protecting Amazon CloudFront
#' distributions. You can use these actions and data types via the endpoint
#' *waf.amazonaws.com*. This guide is for developers who need detailed
#' information about the AWS WAF Classic API actions, data types, and
#' errors. For detailed information about AWS WAF Classic features and an
#' overview of how to use the AWS WAF Classic API, see the [AWS WAF
#' Classic](https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
#' in the developer guide.
#'
#' @param
#' config
#' Optional configuration of credentials, endpoint, and/or region.
#' \itemize{
#' \item{\strong{credentials}:} {\itemize{
#' \item{\strong{creds}:} {\itemize{
#' \item{\strong{access_key_id}:} {AWS access key ID}
#' \item{\strong{secret_access_key}:} {AWS secret access key}
#' \item{\strong{session_token}:} {AWS temporary session token}
#' }}
#' \item{\strong{profile}:} {The name of a profile to use. If not given, then the default profile is used.}
#' \item{\strong{anonymous}:} {Set anonymous credentials.}
#' \item{\strong{endpoint}:} {The complete URL to use for the constructed client.}
#' \item{\strong{region}:} {The AWS Region used in instantiating the client.}
#' }}
#' \item{\strong{close_connection}:} {Immediately close all HTTP connections.}
#' \item{\strong{timeout}:} {The time in seconds till a timeout exception is thrown when attempting to make a connection. The default is 60 seconds.}
#' \item{\strong{s3_force_path_style}:} {Set this to `true` to force the request to use path-style addressing, i.e. `http://s3.amazonaws.com/BUCKET/KEY`.}
#' \item{\strong{sts_regional_endpoint}:} {Set sts regional endpoint resolver to regional or legacy \url{https://docs.aws.amazon.com/sdkref/latest/guide/feature-sts-regionalized-endpoints.html}}
#' }
#' @param
#' credentials
#' Optional credentials shorthand for the config parameter
#' \itemize{
#' \item{\strong{creds}:} {\itemize{
#' \item{\strong{access_key_id}:} {AWS access key ID}
#' \item{\strong{secret_access_key}:} {AWS secret access key}
#' \item{\strong{session_token}:} {AWS temporary session token}
#' }}
#' \item{\strong{profile}:} {The name of a profile to use. If not given, then the default profile is used.}
#' \item{\strong{anonymous}:} {Set anonymous credentials.}
#' }
#' @param
#' endpoint
#' Optional shorthand for complete URL to use for the constructed client.
#' @param
#' region
#' Optional shorthand for AWS Region used in instantiating the client.
#'
#' @section Service syntax:
#' ```
#' svc <- waf(
#'   config = list(
#'     credentials = list(
#'       creds = list(
#'         access_key_id = "string",
#'         secret_access_key = "string",
#'         session_token = "string"
#'       ),
#'       profile = "string",
#'       anonymous = "logical"
#'     ),
#'     endpoint = "string",
#'     region = "string",
#'     close_connection = "logical",
#'     timeout = "numeric",
#'     s3_force_path_style = "logical",
#'     sts_regional_endpoint = "string"
#'   ),
#'   credentials = list(
#'     creds = list(
#'       access_key_id = "string",
#'       secret_access_key = "string",
#'       session_token = "string"
#'     ),
#'     profile = "string",
#'     anonymous = "logical"
#'   ),
#'   endpoint = "string",
#'   region = "string"
#' )
#' ```
#'
#' @examples
#' \dontrun{
#' svc <- waf()
#' # The following example creates an IP match set named MyIPSetFriendlyName.
#' svc$create_ip_set(
#'   ChangeToken = "abcd12f2-46da-4fdb-b8d5-fbd4c466928f",
#'   Name = "MyIPSetFriendlyName"
#' )
#' }
#'
#' @section Operations:
#' \tabular{ll}{
#'  \link[=waf_create_byte_match_set]{create_byte_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_geo_match_set]{create_geo_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_ip_set]{create_ip_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_rate_based_rule]{create_rate_based_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_regex_match_set]{create_regex_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_regex_pattern_set]{create_regex_pattern_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_rule]{create_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_rule_group]{create_rule_group} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_size_constraint_set]{create_size_constraint_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_sql_injection_match_set]{create_sql_injection_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_web_acl]{create_web_acl} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_create_web_acl_migration_stack]{create_web_acl_migration_stack} \tab Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the specified Amazon S3 bucket\cr
#'  \link[=waf_create_xss_match_set]{create_xss_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_byte_match_set]{delete_byte_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_geo_match_set]{delete_geo_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_ip_set]{delete_ip_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_logging_configuration]{delete_logging_configuration} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_permission_policy]{delete_permission_policy} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_rate_based_rule]{delete_rate_based_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_regex_match_set]{delete_regex_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_regex_pattern_set]{delete_regex_pattern_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_rule]{delete_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_rule_group]{delete_rule_group} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_size_constraint_set]{delete_size_constraint_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_sql_injection_match_set]{delete_sql_injection_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_web_acl]{delete_web_acl} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_delete_xss_match_set]{delete_xss_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_byte_match_set]{get_byte_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_change_token]{get_change_token} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_change_token_status]{get_change_token_status} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_geo_match_set]{get_geo_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_ip_set]{get_ip_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_logging_configuration]{get_logging_configuration} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_permission_policy]{get_permission_policy} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_rate_based_rule]{get_rate_based_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_rate_based_rule_managed_keys]{get_rate_based_rule_managed_keys} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_regex_match_set]{get_regex_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_regex_pattern_set]{get_regex_pattern_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_rule]{get_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_rule_group]{get_rule_group} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_sampled_requests]{get_sampled_requests} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_size_constraint_set]{get_size_constraint_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_sql_injection_match_set]{get_sql_injection_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_web_acl]{get_web_acl} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_get_xss_match_set]{get_xss_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_activated_rules_in_rule_group]{list_activated_rules_in_rule_group} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_byte_match_sets]{list_byte_match_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_geo_match_sets]{list_geo_match_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_ip_sets]{list_ip_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_logging_configurations]{list_logging_configurations} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_rate_based_rules]{list_rate_based_rules} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_regex_match_sets]{list_regex_match_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_regex_pattern_sets]{list_regex_pattern_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_rule_groups]{list_rule_groups} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_rules]{list_rules} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_size_constraint_sets]{list_size_constraint_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_sql_injection_match_sets]{list_sql_injection_match_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_subscribed_rule_groups]{list_subscribed_rule_groups} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_tags_for_resource]{list_tags_for_resource} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_web_ac_ls]{list_web_ac_ls} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_list_xss_match_sets]{list_xss_match_sets} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_put_logging_configuration]{put_logging_configuration} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_put_permission_policy]{put_permission_policy} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_tag_resource]{tag_resource} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_untag_resource]{untag_resource} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_byte_match_set]{update_byte_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_geo_match_set]{update_geo_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_ip_set]{update_ip_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_rate_based_rule]{update_rate_based_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_regex_match_set]{update_regex_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_regex_pattern_set]{update_regex_pattern_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_rule]{update_rule} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_rule_group]{update_rule_group} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_size_constraint_set]{update_size_constraint_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_sql_injection_match_set]{update_sql_injection_match_set} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_web_acl]{update_web_acl} \tab This is AWS WAF Classic documentation\cr
#'  \link[=waf_update_xss_match_set]{update_xss_match_set} \tab This is AWS WAF Classic documentation
#' }
#'
#' @return
#' A client for the service. You can call the service's operations using
#' syntax like `svc$operation(...)`, where `svc` is the name you've assigned
#' to the client. The available operations are listed in the
#' Operations section.
#'
#' @rdname waf
#' @export
waf <- function(config = list(), credentials = list(), endpoint = NULL, region = NULL) {
  config <- merge_config(
    config,
    list(
      credentials = credentials,
      endpoint = endpoint,
      region = region
    )
  )
  svc <- .waf$operations
  svc <- set_config(svc, config)
  return(svc)
}

# Private API objects: metadata, handlers, interfaces, etc.
.waf <- list()

.waf$operations <- list()

.waf$metadata <- list(
  service_name = "waf",
  endpoints = list("*" = list(endpoint = "https://waf.amazonaws.com", global = TRUE), "cn-*" = list(endpoint = "waf.{region}.amazonaws.com.cn", global = FALSE), "us-iso-*" = list(endpoint = "waf.{region}.c2s.ic.gov", global = FALSE), "us-isob-*" = list(endpoint = "waf.{region}.sc2s.sgov.gov", global = FALSE)),
  service_id = "WAF",
  api_version = "2015-08-24",
  signing_name = "waf",
  json_version = "1.1",
  target_prefix = "AWSWAF_20150824"
)

.waf$service <- function(config = list()) {
  handlers <- new_handlers("jsonrpc", "v4")
  new_service(.waf$metadata, handlers, config)
}

Try the paws.security.identity package in your browser

Any scripts or data that you put into this service are public.

paws.security.identity documentation built on Sept. 12, 2023, 1:10 a.m.