Skip to content

Instantly share code, notes, and snippets.

@ivanignatiev
ivanignatiev / main.tf
Last active April 12, 2023 15:06
Get list of field values from Terraform map
locals {
users_object_ids = {
"user1": { object_id: "d6c7ce3e-9f1d-4310-8862-8ab64e872246" },
"user2": { object_id: "035c4713-14c0-43c3-a8b0-d4f21bc8ffca" },
}
}
#
# terraform console
# > values(local.users_object_ids)[*].object_id
@ivanignatiev
ivanignatiev / Resolve-Dependency.ps1
Created January 11, 2021 22:02
Dependency resolving algorithm
class Configuration {
[string] $Name
[string[]] $DependsOnNames
}
$Configurations = @{
}
$Configurations += @{
configuration1 = [Configuration]@{
@ivanignatiev
ivanignatiev / Test-PSHashtableMerge.ps1
Created December 29, 2020 15:33
Test: PowerShell Hashtables Merge
function Get-HashtablePartOne {
return @{
"a" = "a_value"
"c" = "c_value"
}
}
function Get-HashtablePartTwo {
return @{
"b" = "b_value"
@ivanignatiev
ivanignatiev / Test-ConvertFromJsonRef.ps1
Last active December 25, 2020 12:49
Test: JSON Reference ($ref) in PowerShell
$PSVersionTable
$TEST_JSON = '{
"foo": {"$ref": "#/bar"},
"bar": true
}'
$testObject = $TEST_JSON | ConvertFrom-Json -
$testObject | Format-List
@ivanignatiev
ivanignatiev / ApplyXSLTToXML.cs
Created December 20, 2015 21:41
Apply XSLT to XML transformation on C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.XPath;
using System.Xml.Xsl;
namespace ApplyXSLTToXML
@ivanignatiev
ivanignatiev / gist:d8fca4ff8b3f729f7337
Created February 17, 2015 18:10
HTTP request to Azure Event Hub with Curl
# REST API documentation https://msdn.microsoft.com/en-us/library/azure/dn790664.aspx
curl -H 'Authorization: SharedAccessSignature sr={Service Bus Namespace}.servicebus.windows.net&sig={Url Encoded Shared Access Key}&se={Time Stamp with Shared Access Key expration}&skn={Shared Access Policy name}' -H 'Content-Type:application/atom+xml;type=entry;charset=utf-8' --data '{Event Data}' https://{Service Bus Namespace}.servicebus.windows.net/{Event Hub Name}/messages
@ivanignatiev
ivanignatiev / gist:3ac6b4bafd1d98022c95
Last active August 29, 2015 14:14
Setting AMQP filter with Apache Qpid Proton C API
pn_messenger_t *m_messenger = pn_messenger(NULL);
// ...
// About addresses and filters for Azure Event Hubs:
// https://amqpnetlite.codeplex.com/wikipage?title=Using%20Amqp.Net%20Lite%20with%20Azure%20Server%20Bus%20Event%20Hub&referringTitle=Documentation
char address[] = "amqps://user:password@host:port/path";
char filter_section[] = "apache.org:selector-filter:string";
// timestamp in milliseconds
char filter_value[] = "amqp.annotation.x-opt-enqueuedtimeutc >= '1422627183000'";