mirror of https://github.com/pulumi/pulumi.git
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
import pulumi
|
|
import base64
|
|
import hashlib
|
|
import mimetypes
|
|
import os
|
|
import pulumi_aws as aws
|
|
|
|
def computeFilebase64sha256(path):
|
|
fileData = open(path).read().encode()
|
|
hashedData = hashlib.sha256(fileData.encode()).digest()
|
|
return base64.b64encode(hashedData).decode()
|
|
|
|
encoded = base64.b64encode("haha business".encode()).decode()
|
|
decoded = base64.b64decode(encoded.encode()).decode()
|
|
joined = "-".join([
|
|
encoded,
|
|
decoded,
|
|
"2",
|
|
])
|
|
# tests that we initialize "var, err" with ":=" first, then "=" subsequently (Go specific)
|
|
zone = aws.get_availability_zones()
|
|
zone2 = aws.get_availability_zones()
|
|
bucket = aws.s3.Bucket("bucket")
|
|
encoded2 = bucket.id.apply(lambda id: base64.b64encode(id.encode()).decode())
|
|
decoded2 = bucket.id.apply(lambda id: base64.b64decode(id.encode()).decode())
|
|
secret_value = pulumi.Output.secret("hello")
|
|
plain_value = pulumi.Output.unsecret(secret_value)
|
|
current_stack = pulumi.get_stack()
|
|
current_project = pulumi.get_project()
|
|
working_directory = os.getcwd()
|
|
file_mime_type = mimetypes.guess_type("./base64.txt")[0]
|
|
# using the filebase64 function
|
|
first = aws.s3.BucketObject("first",
|
|
bucket=bucket.id,
|
|
source=pulumi.StringAsset((lambda path: base64.b64encode(open(path).read().encode()).decode())("./base64.txt")),
|
|
content_type=file_mime_type,
|
|
tags={
|
|
"stack": current_stack,
|
|
"project": current_project,
|
|
"cwd": working_directory,
|
|
})
|
|
# using the filebase64sha256 function
|
|
second = aws.s3.BucketObject("second",
|
|
bucket=bucket.id,
|
|
source=pulumi.StringAsset(computeFilebase64sha256("./base64.txt")))
|
|
# using the sha1 function
|
|
third = aws.s3.BucketObject("third",
|
|
bucket=bucket.id,
|
|
source=pulumi.StringAsset(hashlib.sha1("content".encode()).hexdigest()))
|