This is a neat discussion thread where a core goal is to send data to an existing VisiData session.
This sample explores one way to do that, combining:
- A remote control plugin
- Ray's shared memory object store
This is a neat discussion thread where a core goal is to send data to an existing VisiData session.
This sample explores one way to do that, combining:
Note: This is a lower level, open source / policy-level response to this announcement.
Cloud Custodian allows folks to write policies that help manage cloud resources. c7n-left provides a way to apply Cloud Custodian's policy structure to infrastructure as code (IaC) resource definitions.
Tagging is just one helpful use case here. Consider an organization that expects to use tags to track resource owners. They might use Cloud Custodian to catch and fix
These are user-defined snippets that can remove some manual typing when writing c7n-left policies.
pol
) and hit Tab
to insert the snippet.By default, Cloud Custodian caches resource data for 15 minutes in ~/.cache/cloud-custodian.cache
.
This lets you run multiple policies or filters against the same resource data without having to hit
cloud provider APIs each time.
Have you ever wanted to look inside that cache? You can!
The cache is a SQLite database, where keys and values are pickle-encoded blobs. We can use VisiData to deserialize those pickled blobs and expand them into a
Some experimentation with providing dynamic sidebar help information following discussion in saulpw/visidata#1733
The idea is to conditionally override the help text on a DirSheet
only if it looks like we're in a
Cloud Custodian output directory.
This is a hack that could be added to ~/.visidatarc
... but probably shouldn't yet.
Some sample code to query VPC flow logs via CloudWatch Logs, and show some information about timed out TCP requests by destination.
Some assumptions:
/aws/vpc-flow-log/<vpc id>
log group{ | |
"a2c": [], | |
"a4b": [ | |
"addressbook", | |
"conferenceprovider", | |
"contact", | |
"device", | |
"gateway", | |
"gatewaygroup", | |
"networkprofile", |
#!vd -p | |
{"longname": "open-file", "input": "noahs-customers.csv", "keystrokes": "o"} | |
{"sheet": "noahs-customers", "col": "name", "row": "", "longname": "phone-keys-for-col", "input": "", "comment": ""} | |
{"sheet": "noahs-customers", "col": "", "row": "", "longname": "select-expr", "input": "phone.replace('-','') in name_phonekeys", "keystrokes": "z|", "comment": "select rows matching Python expression in any visible column"} | |
{"sheet": "noahs-customers", "col": "", "row": "", "longname": "dup-selected", "input": "", "keystrokes": "\"", "comment": "open duplicate sheet with only selected rows"} |
from glom import glom, Coalesce, Val | |
from rich.pretty import pprint | |
nodes = [ | |
{ | |
"owner": {"login": "python"}, | |
"name": "cpython", | |
"stargazerCount": 48591, | |
"createdAt": "2017-02-10T19:23:51Z", | |
"updatedAt": "2022-11-03T04:49:20Z", |