R/ssoadmin_service.R

Defines functions service ssoadmin

Documented in ssoadmin

# 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 Single Sign-On Admin
#'
#' @description
#' AWS IAM Identity Center (successor to AWS Single Sign-On) helps you
#' securely create, or connect, your workforce identities and manage their
#' access centrally across AWS accounts and applications. IAM Identity
#' Center is the recommended approach for workforce authentication and
#' authorization in AWS, for organizations of any size and type.
#' 
#' Although AWS Single Sign-On was renamed, the `sso` and `identitystore`
#' API namespaces will continue to retain their original name for backward
#' compatibility purposes. For more information, see [IAM Identity Center
#' rename](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed).
#' 
#' This reference guide provides information on single sign-on operations
#' which could be used for access management of AWS accounts. For
#' information about IAM Identity Center features, see the [IAM Identity
#' Center User
#' Guide](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).
#' 
#' Many operations in the IAM Identity Center APIs rely on identifiers for
#' users and groups, known as principals. For more information about how to
#' work with principals and principal IDs in IAM Identity Center, see the
#' [Identity Store API
#' Reference](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
#' 
#' AWS provides SDKs that consist of libraries and sample code for various
#' programming languages and platforms (Java, Ruby, .Net, iOS, Android, and
#' more). The SDKs provide a convenient way to create programmatic access
#' to IAM Identity Center and other AWS services. For more information
#' about the AWS SDKs, including how to download and install them, see
#' [Tools for Amazon Web
#' Services](https://aws.amazon.com/developer/tools/).
#'
#' @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 <- ssoadmin(
#'   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 <- ssoadmin()
#' svc$attach_customer_managed_policy_reference_to_permission_set(
#'   Foo = 123
#' )
#' }
#'
#' @section Operations:
#' \tabular{ll}{
#'  \link[=ssoadmin_attach_customer_managed_policy_reference_to_permission_set]{attach_customer_managed_policy_reference_to_permission_set} \tab Attaches the specified customer managed policy to the specified PermissionSet\cr
#'  \link[=ssoadmin_attach_managed_policy_to_permission_set]{attach_managed_policy_to_permission_set} \tab Attaches an AWS managed policy ARN to a permission set\cr
#'  \link[=ssoadmin_create_account_assignment]{create_account_assignment} \tab Assigns access to a principal for a specified AWS account using a specified permission set\cr
#'  \link[=ssoadmin_create_instance_access_control_attribute_configuration]{create_instance_access_control_attribute_configuration} \tab Enables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance\cr
#'  \link[=ssoadmin_create_permission_set]{create_permission_set} \tab Creates a permission set within a specified IAM Identity Center instance\cr
#'  \link[=ssoadmin_delete_account_assignment]{delete_account_assignment} \tab Deletes a principal's access from a specified AWS account using a specified permission set\cr
#'  \link[=ssoadmin_delete_inline_policy_from_permission_set]{delete_inline_policy_from_permission_set} \tab Deletes the inline policy from a specified permission set\cr
#'  \link[=ssoadmin_delete_instance_access_control_attribute_configuration]{delete_instance_access_control_attribute_configuration} \tab Disables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance and deletes all of the attribute mappings that have been configured\cr
#'  \link[=ssoadmin_delete_permissions_boundary_from_permission_set]{delete_permissions_boundary_from_permission_set} \tab Deletes the permissions boundary from a specified PermissionSet\cr
#'  \link[=ssoadmin_delete_permission_set]{delete_permission_set} \tab Deletes the specified permission set\cr
#'  \link[=ssoadmin_describe_account_assignment_creation_status]{describe_account_assignment_creation_status} \tab Describes the status of the assignment creation request\cr
#'  \link[=ssoadmin_describe_account_assignment_deletion_status]{describe_account_assignment_deletion_status} \tab Describes the status of the assignment deletion request\cr
#'  \link[=ssoadmin_describe_instance_access_control_attribute_configuration]{describe_instance_access_control_attribute_configuration} \tab Returns the list of IAM Identity Center identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified IAM Identity Center instance\cr
#'  \link[=ssoadmin_describe_permission_set]{describe_permission_set} \tab Gets the details of the permission set\cr
#'  \link[=ssoadmin_describe_permission_set_provisioning_status]{describe_permission_set_provisioning_status} \tab Describes the status for the given permission set provisioning request\cr
#'  \link[=ssoadmin_detach_customer_managed_policy_reference_from_permission_set]{detach_customer_managed_policy_reference_from_permission_set} \tab Detaches the specified customer managed policy from the specified PermissionSet\cr
#'  \link[=ssoadmin_detach_managed_policy_from_permission_set]{detach_managed_policy_from_permission_set} \tab Detaches the attached AWS managed policy ARN from the specified permission set\cr
#'  \link[=ssoadmin_get_inline_policy_for_permission_set]{get_inline_policy_for_permission_set} \tab Obtains the inline policy assigned to the permission set\cr
#'  \link[=ssoadmin_get_permissions_boundary_for_permission_set]{get_permissions_boundary_for_permission_set} \tab Obtains the permissions boundary for a specified PermissionSet\cr
#'  \link[=ssoadmin_list_account_assignment_creation_status]{list_account_assignment_creation_status} \tab Lists the status of the AWS account assignment creation requests for a specified IAM Identity Center instance\cr
#'  \link[=ssoadmin_list_account_assignment_deletion_status]{list_account_assignment_deletion_status} \tab Lists the status of the AWS account assignment deletion requests for a specified IAM Identity Center instance\cr
#'  \link[=ssoadmin_list_account_assignments]{list_account_assignments} \tab Lists the assignee of the specified AWS account with the specified permission set\cr
#'  \link[=ssoadmin_list_accounts_for_provisioned_permission_set]{list_accounts_for_provisioned_permission_set} \tab Lists all the AWS accounts where the specified permission set is provisioned\cr
#'  \link[=ssoadmin_list_customer_managed_policy_references_in_permission_set]{list_customer_managed_policy_references_in_permission_set} \tab Lists all customer managed policies attached to a specified PermissionSet\cr
#'  \link[=ssoadmin_list_instances]{list_instances} \tab Lists the IAM Identity Center instances that the caller has access to\cr
#'  \link[=ssoadmin_list_managed_policies_in_permission_set]{list_managed_policies_in_permission_set} \tab Lists the AWS managed policy that is attached to a specified permission set\cr
#'  \link[=ssoadmin_list_permission_set_provisioning_status]{list_permission_set_provisioning_status} \tab Lists the status of the permission set provisioning requests for a specified IAM Identity Center instance\cr
#'  \link[=ssoadmin_list_permission_sets]{list_permission_sets} \tab Lists the PermissionSets in an IAM Identity Center instance\cr
#'  \link[=ssoadmin_list_permission_sets_provisioned_to_account]{list_permission_sets_provisioned_to_account} \tab Lists all the permission sets that are provisioned to a specified AWS account\cr
#'  \link[=ssoadmin_list_tags_for_resource]{list_tags_for_resource} \tab Lists the tags that are attached to a specified resource\cr
#'  \link[=ssoadmin_provision_permission_set]{provision_permission_set} \tab The process by which a specified permission set is provisioned to the specified target\cr
#'  \link[=ssoadmin_put_inline_policy_to_permission_set]{put_inline_policy_to_permission_set} \tab Attaches an inline policy to a permission set\cr
#'  \link[=ssoadmin_put_permissions_boundary_to_permission_set]{put_permissions_boundary_to_permission_set} \tab Attaches an AWS managed or customer managed policy to the specified PermissionSet as a permissions boundary\cr
#'  \link[=ssoadmin_tag_resource]{tag_resource} \tab Associates a set of tags with a specified resource\cr
#'  \link[=ssoadmin_untag_resource]{untag_resource} \tab Disassociates a set of tags from a specified resource\cr
#'  \link[=ssoadmin_update_instance_access_control_attribute_configuration]{update_instance_access_control_attribute_configuration} \tab Updates the IAM Identity Center identity store attributes that you can use with the IAM Identity Center instance for attributes-based access control (ABAC)\cr
#'  \link[=ssoadmin_update_permission_set]{update_permission_set} \tab Updates an existing permission set
#' }
#'
#' @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 ssoadmin
#' @export
ssoadmin <- function(config = list(), credentials = list(), endpoint = NULL, region = NULL) {
  config <- merge_config(
    config,
    list(
      credentials = credentials,
      endpoint = endpoint,
      region = region
    )
  )
  svc <- .ssoadmin$operations
  svc <- set_config(svc, config)
  return(svc)
}

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

.ssoadmin$operations <- list()

.ssoadmin$metadata <- list(
  service_name = "ssoadmin",
  endpoints = list("*" = list(endpoint = "sso.{region}.amazonaws.com", global = FALSE), "cn-*" = list(endpoint = "sso.{region}.amazonaws.com.cn", global = FALSE), "us-iso-*" = list(endpoint = "sso.{region}.c2s.ic.gov", global = FALSE), "us-isob-*" = list(endpoint = "sso.{region}.sc2s.sgov.gov", global = FALSE)),
  service_id = "SSO Admin",
  api_version = "2020-07-20",
  signing_name = "sso",
  json_version = "1.1",
  target_prefix = "SWBExternalService"
)

.ssoadmin$service <- function(config = list()) {
  handlers <- new_handlers("jsonrpc", "v4")
  new_service(.ssoadmin$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.