Releases: paws-r/paws
Releases · paws-r/paws
paws.common-v0.7.0
New Features: 💡
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
- add pagination StopOnSameToken option (#721) aligns with aws-sdk-js-v3 implementation (https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.78.0). Thanks to @wlandau for raising error in paginate.
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
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
- 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
methodas.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
paws.common-v0.6.1
Feature:
- support nested content within ini files (#667) Configuration and credential file settings
Bug Fix:
- fix how nested structure are parsed from xml (#675)
paws-v0.4.0
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")))
- Support paginator for paws methods paws paginators (linked issues: #30 #487).
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:
- applicationinsights_add_workload
- applicationinsights_list_workloads
- applicationinsights_remove_workload
- applicationinsights_update_problem
- applicationinsights_update_workload
appstream:
- appstream_associate_app_block_builder_app_block
- appstream_create_app_block_builder_streaming_url
- appstream_create_app_block_builder
- appstream_delete_app_block_builder
- appstream_describe_app_block_builder_app_block_associations
- appstream_describe_app_block_builders
- appstream_disassociate_app_block_builder_app_block
- appstream_start_app_block_builder
- appstream_stop_app_block_builder
- appstream_update_app_block_builder
auditmanager:
backup:
cloudformation:
codecommit:
cognitoidentityprovider:
- cognitoidentityprovider_get_log_delivery_configuration
- cognitoidentityprovider_set_log_delivery_configuration
computeoptimizer:
connect:
- connect_associate_traffic_distribution_group_user
- connect_delete_queue
- connect_delete_routing_profile
- connect_disassociate_traffic_distribution_group_user
- connect_list_traffic_distribution_group_users
- connect_search_resource_tags
- connect_update_routing_profile_agent_availability_timer
connectparticipant:
costexplorer:
customerprofile:
elasticache:
emr:
health:
iam:
inspector2:
- inspector2_batch_get_code_snippet
- inspector2_batch_get_finding_details
- inspector2_cancel_sbom_export
- inspector2_create_sbom_export
- inspector2_get_encryption_key
- inspector2_get_sbom_export
- inspector2_reset_encryption_key
- inspector2_update_encryption_key
ivs:
kafka:
kendra:
lexmodelsv2:
- lexmodelsv2_list_intent_metrics
- lexmodelsv2_list_intent_paths
- lexmodelsv2_list_intent_stage_metrics
- lexmodelsv2_list_session_analytics_data
- lexmodelsv2_list_session_metrics
- lexmodelsv2_list_utterance_analytics_data
- lexmodelsv2_list_utterance_metrics
lookoutequipment:
- lookoutequipment_delete_resource_policy
- lookoutequipment_describe_model_version
- lookoutequipment_describe_resource_policy
- lookoutequipment_import_dataset
- lookoutequipment_import_model_version
- lookoutequipment_list_model_versions
- lookoutequipment_put_resource_policy
- lookoutequipment_update_active_model_version
managedgrafana:
mq:
personalize:
pi:
- pi_create_performance_analysis_report
- pi_delete_performance_analysis_report
- pi_get_performance_analysis_report
- [pi_list_tags_for_reso...
paws.common-v0.6.0
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
toconfig
(#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))
paws-v0.3.0
Service Update:
To find out more please go to: www.paws-r-sdk.com
Fix:
s3_list_parts and s3_list_multipart_uploads return lists with empty elements #608
paws.common-v0.5.6
- add logging to credentials (#599 thanks to @jonocarroll for contribution)
- display log output while code is still running (jupyter notebook issue)
paws-v0.2.0
🍾 🎉 🍾 🎉 🍾 🎉 🍾 🎉 paws 0.2.0
has been released onto the cran 🍾 🎉 🍾 🎉 🍾 🎉 🍾 🎉
Key Differences:
- Package documentation is split into long and short versions. Short versions are stored within the packages. Whereas long version are stored https://paws-r.github.io/. This is to keep each paws package size down.
New Features:
paws/paws.storage:
supportgenerate_presigned_url
Bug fixes:
paws/paws.storage:
methodupload_part_copy
paws/paws.storage:
methoddownload_file
preserveAWS Region
and download object straight to disk.
Following services available on CRAN:
- paws.analytics:
- gluedatabrew (https://aws.amazon.com/glue/features/databrew/)
- healthlake (https://aws.amazon.com/healthlake/)
- ivs (https://aws.amazon.com/ivs/)
- kafkaconnect (https://aws.amazon.com/msk/)
- kendra (https://aws.amazon.com/kendra/)
- opensearchservice (https://aws.amazon.com/opensearch-service/)
- paws.application.integration:
- paws.compute:
- apprunner (https://aws.amazon.com/apprunner/)
- braket (https://aws.amazon.com/braket/)
- computeoptimizer (https://aws.amazon.com/compute-optimizer/)
- ecrpublic (https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)
- emrcontainers (https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/Welcome.html)
- emrserverless (https://aws.amazon.com/emr/serverless/)
- imagebuilder (https://aws.amazon.com/image-builder/)
- proton (https://aws.amazon.com/proton/)
- paws.cost.management:
- billingconductor (https://aws.amazon.com/aws-cost-management/aws-billing-conductor/)
- marketplacecatalog (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html)
- savingsplans (https://aws.amazon.com/savingsplans/)
- paws.customer.engagement:
- connectcampaignservice (https://aws.amazon.com/connect/outbound/)
- connectcontactlens (https://aws.amazon.com/connect/contact-lens/)
- connectparticipant (https://docs.aws.amazon.com/connect-participant/latest/APIReference/Welcome.html)
- connectwisdomservice (https://aws.amazon.com/connect/wisdom/)
- customerprofiles (https://aws.amazon.com/connect/customer-profiles/)
- pinpointsmsvoicev2 (https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/Welcome.html)
- sesv2 (https://docs.aws.amazon.com/ses/latest/APIReference-V2/Welcome.html)
- paws.database:
- keyspaces (https://aws.amazon.com/keyspaces/)
- lakeformation (https://aws.amazon.com/lake-formation/)
- memorydb (https://aws.amazon.com/memorydb/)
- qldb (https://aws.amazon.com/qldb/)
- qldbsession (https://docs.aws.amazon.com/qldb/latest/developerguide/API_Types_Amazon_QLDB_Session.html)
- redshiftdataapiservice (https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html)
- redshiftserverless (https://aws.amazon.com/redshift/redshift-serverless/)
- timestreamquery (https://docs.aws.amazon.com/timestream/latest/developerguide/queries.html)
- timestreamwrite (https://docs.aws.amazon.com/timestream/latest/developerguide/writes.html)
- paws.developer.tools:
- cloudcontrolapi (https://aws.amazon.com/cloudcontrolapi/)
- codeartifact (https://aws.amazon.com/codeartifact/)
- codeguruprofiler (https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html)
- codegurureviewer (https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)
- codestarconnections (https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html)
- codestarnotifications (https://docs.aws.amazon.com/codestar-notifications/latest/APIReference/Welcome.html)
- devopsguru (https://aws.amazon.com/devops-guru/)
- drs (https://aws.amazon.com/disaster-recovery/)
- fis (https://aws.amazon.com/fis/)
- wellarchitected (https://aws.amazon.com/well-architected-tool/)
- paws.end.user.computing:
- ivschat (https://aws.amazon.com/ivs/features/chat/)
- nimblestudio (https://aws.amazon.com/nimble-studio/)
- workmail (https://aws.amazon.com/workmail/)
- workmailmessageflow (https://docs.aws.amazon.com/workmail/latest/APIReference/API_Operations_Amazon_WorkMail_Message_Flow.html)
- workspacesweb (https://aws.amazon.com/workspaces/web/)
- paws.machine.learning:
- augmentedairuntime (https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html)
- elasticinference (https://aws.amazon.com/machine-learning/elastic-inference/)
- forecastqueryservice (https://docs.aws.amazon.com/forecast/latest/dg/API_forecastquery_QueryForecast.html)
- forecastservice (https://aws.amazon.com/forecast/)
- frauddetector (https://aws.amazon.com/fraud-detector/)
- lexmodelsv2 (https://docs.aws.amazon.com/lexv2/latest/APIReference/API_Operations_Amazon_Lex_Model_Building_V2.html)
- lexruntimev2 (https://docs.aws.amazon.com/lexv2/latest/APIReference/API_Types_Amazon_Lex_Runtime_V2.html)
- lookoutequipment (https://aws.amazon.com/lookout-for-equipment/)
- lookoutmetrics (https://aws.amazon.com/lookout-for-metrics/)
- panorama (https://aws.amazon.com/panorama/)
- sagemakeredgemanager (https://aws.amazon.com/sagemaker/edge/?sagemaker-data-wrangler-whats-new.sort-by=item.additionalFields.postDateTime&sagemaker-data-wrangler-whats-new.sort-order=desc)
- sagemakerfeaturestoreruntime (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Types_Amazon_SageMaker_Feature_Store_Runtime.html)
- voiceid (https://aws.amazon.com/connect/voice-id/)
- paws.management:
- applicationcostprofiler (https://aws.amazon.com/about-aws/whats-new/2021/05/aws-application-cost-profiler/)
- appregistry (https://docs.aws.amazon.com/servicecatalog/latest/arguide/intro-app-registry.html)
- auditmanager (https://aws.amazon.com/audit-manager/)
- cloudwatchevidently (https://aws.amazon.com/blogs/aws/cloudwatch-evidently/)
- cloudwatchrum (https://aws.amazon.com/blogs/aws/cloudwatch-rum/)
- finspace (https://aws.amazon.com/finspace/)
- licensemanagerusersubscriptions (https://docs.aws.amazon.com/license-manager/latest/userguide/user-based-subscriptions.html)
- managedgrafana (https://aws.amazon.com/grafana/)
- prometheusservice (https://aws.amazon.com/prometheus/)
- resiliencehub (https://aws.amazon.com/resilience-hub/)
- ssmcontacts (https://docs.aws.amazon.com/incident-manager/latest/userguide/contacts.html)
- ssmincidents (https://aws.amazon.com/about-aws/whats-new/2021/05/introducing-incident-manager-aws-systems-manager/)
- synthetics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)
- paws.networking:
- backupgateway (https://docs.aws.amazon.com/aws-backup/latest/devguide/working-with-gateways.html)
- networkfirewall (https://aws.amazon.com/network-firewall/)
- networkmanager (https://aws.amazon.com/transit-gateway/network-manager/)
- route53recoverycluster (https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycluster.html)
- route53recoverycontrolconfig (https://docs.aws.amazon.com/recovery-cluster/latest/api/what-is-recovery-control.html)
- route53recoveryreadiness (https://docs.aws.amazon.com/recovery-readiness/latest/api/what-is-recovery-readiness.html)
- paws.security.identity:
- accessanalyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html)
- account (https://docs.aws.amazon.com/accounts/latest/reference/accounts-welcome.html)
- detective (https://aws.amazon.com/detective/)
- iamrolesanywhere (https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html)
- identitystore (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/welcome.html)
- inspector2 (https://docs.aws.amazon.com/inspector/v2/APIReference/Welcome.html)
- macie2 (https://aws.amazon.com/macie/)
- sso (https://aws.amazon.com/iam/identity-center/)
- ssoadmin (https://aws.amazon.com/iam/identity-center/)
- ssooidc (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
- wafv2 (https://docs.aws.amazon.com/waf/latest/APIReference/Welcome.html)
- paws.storage:
- backupstorage (https://aws.amazon.com/backup/)
- ebs (https://aws.amazon.com/ebs/)
- finspacedata (https://docs.aws.amazon.com/finspace/latest/data-api/fs-using-the-finspace-api.html)
- recyclebin (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html)
- s3outposts (https://aws.amazon.com/s3/outposts/)