Skip to content

Releases: paws-r/paws

paws.common-v0.7.2

10 Apr 09:49
b08cc72
Compare
Choose a tag to compare

Performance: 🚀

  • improve performance of restxml_unmarshal up to ~ x3

New Feature: 💡

  • support global endpoint_url in config file and environmental variables (#764), thanks to @James-G-Hill for raising issue

Bug Fix: 🐞

  • fix rest_unmarshal_location_elements only skip header if location is not found (#761)
  • ensure custom endpoints aren't modified

paws.common-v0.7.1

05 Mar 21:09
83a5017
Compare
Choose a tag to compare

Performance: 🚀

  • minor performance enhancements
  • convert json_convert_string to cpp for significant performance improvement (#754)
  • convert components of resolve_endpoint to cpp to get a x2 performance enhancements

New Feature: 💡

  • export locate_credentials (#750), thanks to @tyner for raising request.

Bug Fix: 🐞

  • fix MIME type for AWS BedrockRuntime Client (#749), thanks to @alex23lemm for raising issue.

paws-v0.5.0

15 Jan 14:29
beb8e31
Compare
Choose a tag to compare

New Methods for paws categories:

  • accessanalyzer
  • appfabric
  • apprunner
  • arczonalshift
  • backup
  • bedrock
  • bedrockruntime
  • billingconductor
  • cloudtraildataservice
  • cloudwatchinternetmonitor
  • cloudwatchlogs
  • cloudwatchobservabilityaccessmanager
  • codecatalyst
  • codecommit
  • codegurusecurity
  • codestarconnections
  • comprehend
  • connect
  • connectcases
  • connectwisdomservice
  • controltower
  • costandusagereportservice
  • customerprofiles
  • datazone
  • detective
  • docdbelastic
  • drs
  • ec2
  • ecr
  • efs
  • eks
  • elasticache
  • elbv2
  • emr
  • entityresolution
  • eventbridgepipes
  • eventbridgescheduler
  • finspace
  • fis
  • fsx
  • globalaccelerator
  • glue
  • guardduty
  • Imagebuilder
  • ivsrealtime
  • kafka
  • kendraranking
  • kinesis
  • lakeformation
  • lexmodelsv2
  • licensemanagerlinuxsubscriptions
  • lookoutequipment
  • marketplacecatalog
  • neptunedata
  • omics
  • opensearchingestion
  • opensearchservice
  • opensearchserviceserverless
  • paymentcryptographycontrolplane
  • paymentcryptographydataplane
  • pcaconnectorad
  • personalizeevents
  • personalizeruntime
  • pinpointsmsvoicev2
  • prometheusservice
  • quicksight
  • rds
  • redshift
  • redshiftserverless
  • rekognition
  • resourceexplorer
  • route53recoverycontrolconfig
  • s3
  • s3control
  • sagemaker
  • sagemakergeospatialcapabilities
  • sagemakermetrics
  • secretsmanager
  • securitylake
  • servicediscovery
  • sfn
  • ssm
  • ssmincidents
  • ssmsap
  • ssoadmin
  • supportapp
  • telconetworkbuilder
  • textract
  • transcribeservice
  • verifiedpermissions
  • vpclattice
  • wellarchitected
  • workmail
  • workspaces

Remove Api methods:

  • Macie

paws.common-v0.7.0

09 Jan 10:40
f3a64ae
Compare
Choose a tag to compare

New Features: 💡

  • support sse md5 (#718). Thanks to @odysseu for raising issue.

Example of how to use SSECustomerKey and SSECustomerAlgorithm

library(paws)

KEY <- openssl::rand_bytes(32)
BUCKET <- 'mybucket'

client <- s3()
resp1 <- client$put_object(
  Bucket=BUCKET,
  Key='encrypt-key-1',
  Body=charToRaw('foobar'),
  SSECustomerKey= KEY,
  SSECustomerAlgorithm='AES256'
)

resp2 <- client$get_object(
  Bucket=BUCKET,
  Key='encrypt-key-1',
  SSECustomerKey=KEY,
  SSECustomerAlgorithm='AES256'
)
resp2$Body |> rawToChar()
#> [1] "foobar"

# saving key to file for later use:
temp_file <- tempfile()
writeBin(KEY, temp_file)

resp3 <- client$put_object(
  Bucket=BUCKET,
  Key='encrypt-key-2',
  Body=charToRaw('did it work?'),
  SSECustomerKey=readBin(temp_file, "raw", n = file.size(temp_file)),
  SSECustomerAlgorithm='AES256'
)

resp4 <- client$get_object(
  Bucket=BUCKET,
  Key='encrypt-key-2',
  SSECustomerKey=readBin(temp_file, "raw", n = file.size(temp_file)),
  SSECustomerAlgorithm='AES256'
)
resp4$Body |> rawToChar()
#> [1] "did it work?"

Created on 2024-01-09 with reprex v2.0.2

Example:

library(paws)

client = cloudwatchlogs()

pages <- paws.common::paginate(
  client$get_log_events(
    logGroupName = "/aws/sagemaker/NotebookInstances",
    logStreamName = "paws-demo/jupyter.log",
    startFromHead = TRUE
  ),
  StopOnSameToken = TRUE
)
length(pages)
#> [1] 9

Created on 2024-01-09 with reprex v2.0.2

  • support AWS_CONTAINER_CREDENTIALS_FULL_URI environmental variable. This supports services like sagemaker serverless endpoints (#737). Thanks to @ncullen93 for raising issue and testing.

Bug Fix: 🐞

  • fix aws-global region when resolving endpoint (#730). Thanks to @atheriel for identifying the issue.
  • fix default region for service s3 (#730). Thanks to @atheriel for identifying the issue.

Internal: ⚙️

  • tidy up internal function jmespath_index

paws.common 0.6.4

12 Nov 10:00
6ca494b
Compare
Choose a tag to compare

Build Fixes 🐛

  • ensure xml build structure is correctly flattened (#597)
  • fix cache failing to initialize on certain environments. Restrict scope of cached environment variables to only those starting with AWS_* (#706, @fh-mthomson)
  • fix issue of sorting query mapping causing misalignment (#711). Thanks to @matthias-Q for raising issue.

paws.common 0.6.3

06 Nov 20:12
8dcef09
Compare
Choose a tag to compare
  • minor performance improvement for read_ini
  • cache read_ini for improved performance
  • cache unix os environment variables to improve performance on unix systems.
  • support web_identity_token_file in AWS config file thanks to @liuquinlin for implementation.
  • fix paginate functions failing to receive argument inputs when called within a function (#696). Thanks to @fh-mthomson for identifying issue.
  • fix NULL method as.POSIXct.default for older versions of R (#698). Thanks to @gp-dev-pw for identifying issue
  • fix escape function by removing protocol check (#701)

paws.common-v0.6.2

13 Oct 15:26
596de1a
Compare
Choose a tag to compare

New Features:

  • support service specific endpoints (#667). Thanks to @dpprdan for raising ticket and testing methods

Bug fixes:

  • fix how read_ini reads empty profiles from ini files (#680)
  • fix is.atomic behavior for R v4.4+ (#679)

paws.common-v0.6.1

03 Oct 09:37
Compare
Choose a tag to compare

Feature:

Bug Fix:

  • fix how nested structure are parsed from xml (#675)

paws-v0.4.0

15 Sep 16:06
Compare
Choose a tag to compare

New Features:

  • Helper functions config, credentails, cred . These functions build paws config allowing for code complete (linked issues: #421).
library(paws)
client <- s3(config(credentials(profile = "paws")))
library(paws)

client <- s3()

# list client paginators
list_paginators(client)
#> [1] "list_multipart_uploads" "list_object_versions"   "list_objects"          
#> [4] "list_objects_v2"        "list_parts"

# paginate over
resp <- client$list_objects_v2("my-bucket") |> paginate()

Created on 2023-09-15 with reprex v2.0.2

  • Generating pre-signed using s3v4 signature version (linked issues: #645).
library(paws)
client <- s3(config(signature_version = "s3v4"))

client$generate_presigned_url("list_objects", params = list(Bucket = "my-bucket"))

New methods:

applicationinsights:

appstream:

auditmanager:

backup:

cloudformation:

codecommit:

cognitoidentityprovider:

computeoptimizer:

connect:

connectparticipant:

costexplorer:

customerprofile:

elasticache:

emr:

health:

iam:

inspector2:

ivs:

kafka:

kendra:

lexmodelsv2:

lookoutequipment:

managedgrafana:

mq:

personalize:

pi:

Read more

paws.common-v0.6.0

06 Sep 16:44
61e0fb8
Compare
Choose a tag to compare

Performance:

  • use known interface when parsing xml (#619) improving performance by 3-6x. Thanks to @mgirlich for raising, implementing initial method and testing. 🚀

Enhancements:

  • add expiration parameter to creds
  • add signature_version to config (#645)
  • add the ability to paginate paws methods (#30). Note: this prep work for paws 0.4.0
  • overwrite file destination when writing to disk. This mimics python's boto3 sdk behaviour.
  • add standard retry handler (#520). Thanks to @wlandau for testing.

Example:

install.packages('paws', repos = c(pawsr = 'https://paws-r.r-universe.dev', CRAN = 'https://cloud.r-project.org'))

# Note: using paws v0.4.0 to paginate over AWS call to demonstrate the new retry functionality
library(paws)

client <- sagemaker()
resp <- client$list_processing_jobs() |> paginate()

#> ERROR [2023-08-31 15:44:41.206]: Request failed. Retrying in 0.016 seconds...
#> ERROR [2023-08-31 15:44:41.229]: Request failed. Retrying in 3.026 seconds...
#> ERROR [2023-08-31 15:44:44.289]: Request failed. Retrying in 2.505 seconds...
#> Error: ThrottlingException (HTTP 400). Rate exceeded
library(paws)

# increasing max number of retries from default 3 to 10.
client <- s3(config = list(max_retries =  10))