Пример #1
0
                         storage_container_name=container.name,
                         type="Block",
                         source=asset.FileAsset("./README.md"))

app_service_plan = appservice.Plan("asp",
                                   resource_group_name=resource_group.name,
                                   kind="App",
                                   sku=appservice.PlanSkuArgs(tier="Basic",
                                                              size="B1"))

blob = storage.Blob(
    "zip",
    storage_account_name=storage_account.name,
    storage_container_name=container.name,
    type="Block",
    source=asset.FileArchive("./webapp/bin/Debug/netcoreapp3.1/publish"))

client_config = core.get_client_config()
tenant_id = client_config.tenant_id
current_principal = client_config.object_id

vault = keyvault.KeyVault(
    "vault",
    resource_group_name=resource_group.name,
    sku_name="standard",
    tenant_id=tenant_id,
    access_policies=[
        keyvault.KeyVaultAccessPolicyArgs(
            tenant_id=tenant_id,
            object_id=current_principal,
            secret_permissions=["delete", "get", "list", "set"])
Пример #2
0
                                      sku=web.SkuDescriptionArgs(
                                          tier="Basic",
                                          name="B1",
                                      ))

storage_container = BlobContainer("appservice-c",
                                  account_name=storage_account.name,
                                  public_access=PublicAccess.NONE,
                                  resource_group_name=resource_group.name)

blob = storage.Blob("appservice-b",
                    resource_group_name=resource_group.name,
                    account_name=storage_account.name,
                    container_name=storage_container.name,
                    type=storage.BlobType.BLOCK,
                    source=asset.FileArchive("wwwroot"))

blob_sas = storage.list_storage_account_service_sas_output(
    account_name=storage_account.name,
    protocols=storage.HttpProtocol.HTTPS,
    shared_access_start_time="2021-01-01",
    shared_access_expiry_time="2030-01-01",
    resource=storage.SignedResource.C,
    resource_group_name=resource_group.name,
    permissions=storage.Permissions.R,
    canonicalized_resource=Output.concat("/blob/", storage_account.name, "/",
                                         storage_container.name),
    content_type="application/json",
    cache_control="max-age=5",
    content_disposition="inline",
    content_encoding="deflate")
Пример #3
0
    resource_group_name=resource_group.name,
)

httpdotnet_container = storage.Container(
    "http-dotnet",
    storage_account_name=httpdotnet_storage_account.name,
    container_access_type="private")

httpdotnet_zib_blob = storage.ZipBlob(
    "http-dotnet",
    resource_group_name=resource_group.name,
    storage_account_name=httpdotnet_storage_account.name,
    storage_container_name=httpdotnet_container.name,
    type="block",
    content=asset.AssetArchive(
        {".": asset.FileArchive("./dotnet/bin/Debug/netcoreapp2.1/publish")}))

account_sas = storage.get_account_sas(
    connection_string=httpdotnet_storage_account.primary_connection_string,
    start="2019-01-01",
    expiry="2029-01-01",
    services={
        "blob": "true",
        "queue": "false",
        "table": "false",
        "file": "false"
    },
    resource_types={
        "service": "false",
        "container": "false",
        "object": "true"
Пример #4
0
from pulumi_gcp import storage, cloudfunctions
from pulumi import export, asset

bucket = storage.Bucket("bucket")

py_bucket_object = storage.BucketObject(
    "python-zip",
    bucket=bucket.name,
    source=asset.AssetArchive({".": asset.FileArchive("./pythonfunc")}))

py_function = cloudfunctions.Function(
    "python-func",
    source_archive_bucket=bucket.name,
    runtime="python37",
    source_archive_object=py_bucket_object.name,
    entry_point="handler",
    trigger_http="true",
    available_memory_mb=128,
)

py_invoker = cloudfunctions.FunctionIamMember(
    "py-invoker",
    project=py_function.project,
    region=py_function.region,
    cloud_function=py_function.name,
    role="roles/cloudfunctions.invoker",
    member="allUsers",
)

export("python_endpoint", py_function.https_trigger_url)
Пример #5
0
import pulumi
from pulumi import asset
from pulumi_gcp import storage, cloudfunctions

# Create a GCP resource (Storage Bucket)
bucket = storage.Bucket('my-bucket')

# Create the function source asset
api_bucket_object = storage.BucketObject(
    'api-zip',
    bucket=bucket.name,
    source=pulumi.AssetArchive({'.': asset.FileArchive('./api')}))

api_function = cloudfunctions.Function(
    'api-func',
    source_archive_bucket=bucket.name,
    source_archive_object=api_bucket_object.name,
    runtime='nodejs10',
    entry_point='handler',
    trigger_http='true',
    available_memory_mb=128)

api_invoker = cloudfunctions.FunctionIamMember(
    'api-invoker',
    project=api_function.project,
    region=api_function.region,
    cloud_function=api_function.name,
    role='roles/cloudfunctions.invoker',
    member='allUsers')

pulumi.export('endpoint', api_function.https_trigger_url)
Пример #6
0
    account_tier="Standard",
    account_replication_type="LRS",
    resource_group_name=resource_group.name,
)

http_container = storage.Container(
    "http",
    storage_account_name=http_storage_account.name,
    container_access_type="private")

http_zib_blob = storage.Blob("http",
                             storage_account_name=http_storage_account.name,
                             storage_container_name=http_container.name,
                             type="Block",
                             source=asset.AssetArchive(
                                 {".": asset.FileArchive("./python")}))


def get_sas(args):
    blob_sas = storage.get_account_blob_container_sas(
        connection_string=args[1],
        start="2020-01-01",
        expiry="2030-01-01",
        container_name=args[2],
        permissions=storage.GetAccountBlobContainerSASPermissionsArgs(
            read=True,
            write=False,
            delete=False,
            list=False,
            add=False,
            create=False,
Пример #7
0
    "asp",
    resource_group_name=resource_group.name,
    kind="App",
    sku={
        "tier": "Basic",
        "size": "B1"
    }
)

blob = storage.ZipBlob(
    "zip",
    resource_group_name=resource_group.name,
    storage_account_name=storage_account.name,
    storage_container_name=container.name,
    type="block",
    content=asset.FileArchive("./webapp/bin/Debug/netcoreapp2.2/publish")
)

client_config = core.get_client_config()
tenant_id = client_config.tenant_id
current_principal = client_config.service_principal_object_id or json.loads(os.popen("az ad signed-in-user show --query objectId").read())

vault = keyvault.KeyVault(
    "vault",
    resource_group_name=resource_group.name,
    sku_name="standard",
    tenant_id=tenant_id,
    access_policies=[{
        "tenant_id": tenant_id,
        "object_id": current_principal,
        "secret_permissions": ["delete", "get", "list", "set"]
Пример #8
0
from pulumi_gcp import storage, cloudfunctions
from pulumi import export, asset

bucket = storage.Bucket("bucket")

py_bucket_object = storage.BucketObject(
    "python-zip",
    bucket=bucket.name,
    source=asset.AssetArchive({
        ".": asset.FileArchive("./pythonfunc")
    }))

py_function = cloudfunctions.Function(
    "python-func",
    source_archive_bucket=bucket.name,
    runtime="python37",
    source_archive_object=py_bucket_object.name,
    entry_point="handler",
    trigger_http="true",
    available_memory_mb=128,
)

export("python_endpoint", py_function.https_trigger_url)

go_bucket_object = storage.BucketObject(
    "go-zip",
    bucket=bucket.name,
    source=asset.AssetArchive({
        ".": asset.FileArchive("./gofunc")
    }))
Пример #9
0
                                   sku={
                                       "tier": "Basic",
                                       "size": "B1",
                                   })

storage_container = storage.Container(
    "appservice-c",
    storage_account_name=storage_account.name,
    container_access_type="private")

blob = storage.ZipBlob("appservice-b",
                       resource_group_name=resource_group.name,
                       storage_account_name=storage_account.name,
                       storage_container_name=storage_container.name,
                       type="block",
                       content=asset.FileArchive("wwwroot"))

account_sas = storage.get_account_sas(
    connection_string=storage_account.primary_connection_string,
    start="2019-01-01",
    expiry="2029-01-01",
    services={
        "blob": "true",
        "queue": "false",
        "table": "false",
        "file": "false"
    },
    resource_types={
        "service": "false",
        "container": "false",
        "object": "true"