getUserWorkloadsSecret function

Future<GetUserWorkloadsSecretResult> getUserWorkloadsSecret(
  1. GetUserWorkloadsSecretArgs args, {
  2. InvokeOptions? options,
})

Provides access to Kubernetes Secret configuration for a given project, region and Managed Airflow Environment.

To get more information about Managed Airflow User Workloads Secrets, see:

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
import * as std from "@pulumi/std";

const exampleEnvironment = new gcp.composer.Environment("example", {
    name: "example-environment",
    config: {
        softwareConfig: {
            imageVersion: "composer-3-airflow-2",
        },
    },
});
const exampleUserWorkloadsSecret = new gcp.composer.UserWorkloadsSecret("example", {
    environment: exampleEnvironment.name,
    name: "example-secret",
    data: {
        username: std.base64encode({
            input: "username",
        }).then(invoke => invoke.result),
        password: std.base64encode({
            input: "password",
        }).then(invoke => invoke.result),
    },
});
const example = gcp.composer.getUserWorkloadsSecretOutput({
    environment: exampleEnvironment.name,
    name: googleComposerUserWorkloadsSecret.example.name,
});
export const debug = example;
import pulumi
import pulumi_gcp as gcp
import pulumi_std as std

example_environment = gcp.composer.Environment("example",
    name="example-environment",
    config={
        "software_config": {
            "image_version": "composer-3-airflow-2",
        },
    })
example_user_workloads_secret = gcp.composer.UserWorkloadsSecret("example",
    environment=example_environment.name,
    name="example-secret",
    data={
        "username": std.base64encode(input="username").result,
        "password": std.base64encode(input="password").result,
    })
example = gcp.composer.get_user_workloads_secret_output(environment=example_environment.name,
    name=google_composer_user_workloads_secret["example"]["name"])
pulumi.export("debug", example)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
using Std = Pulumi.Std;

return await Deployment.RunAsync(() =>
{
    var exampleEnvironment = new Gcp.Composer.Environment("example", new()
    {
        Name = "example-environment",
        Config = new Gcp.Composer.Inputs.EnvironmentConfigArgs
        {
            SoftwareConfig = new Gcp.Composer.Inputs.EnvironmentConfigSoftwareConfigArgs
            {
                ImageVersion = "composer-3-airflow-2",
            },
        },
    });

    var exampleUserWorkloadsSecret = new Gcp.Composer.UserWorkloadsSecret("example", new()
    {
        Environment = exampleEnvironment.Name,
        Name = "example-secret",
        Data =
        {
            { "username", Std.Base64encode.Invoke(new()
            {
                Input = "username",
            }).Apply(invoke => invoke.Result) },
            { "password", Std.Base64encode.Invoke(new()
            {
                Input = "password",
            }).Apply(invoke => invoke.Result) },
        },
    });

    var example = Gcp.Composer.GetUserWorkloadsSecret.Invoke(new()
    {
        Environment = exampleEnvironment.Name,
        Name = googleComposerUserWorkloadsSecret.Example.Name,
    });

    return new Dictionary<string, object?>
    {
        ["debug"] = example,
    };
});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/composer"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleEnvironment, err := composer.NewEnvironment(ctx, "example", &composer.EnvironmentArgs{
			Name: pulumi.String("example-environment"),
			Config: &composer.EnvironmentConfigArgs{
				SoftwareConfig: &composer.EnvironmentConfigSoftwareConfigArgs{
					ImageVersion: pulumi.String("composer-3-airflow-2"),
				},
			},
		})
		if err != nil {
			return err
		}
		invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
			Input: "username",
		}, nil)
		if err != nil {
			return err
		}
		invokeBase64encode1, err := std.Base64encode(ctx, &std.Base64encodeArgs{
			Input: "password",
		}, nil)
		if err != nil {
			return err
		}
		_, err = composer.NewUserWorkloadsSecret(ctx, "example", &composer.UserWorkloadsSecretArgs{
			Environment: exampleEnvironment.Name,
			Name:        pulumi.String("example-secret"),
			Data: pulumi.StringMap{
				"username": pulumi.String(invokeBase64encode.Result),
				"password": pulumi.String(invokeBase64encode1.Result),
			},
		})
		if err != nil {
			return err
		}
		example := composer.LookupUserWorkloadsSecretOutput(ctx, composer.GetUserWorkloadsSecretOutputArgs{
			Environment: exampleEnvironment.Name,
			Name:        pulumi.Any(googleComposerUserWorkloadsSecret.Example.Name),
		}, nil)
		ctx.Export("debug", example)
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
    std = {
      source = "pulumi/std"
    }
  }
}

data "gcp_composer_getuserworkloadssecret" "example" {
  environment = gcp_composer_environment.example.name
  name        = googleComposerUserWorkloadsSecret.example.name
}

resource "gcp_composer_environment" "example" {
  name = "example-environment"
  config = {
    software_config = {
      image_version = "composer-3-airflow-2"
    }
  }
}
resource "gcp_composer_userworkloadssecret" "example" {
  environment = gcp_composer_environment.example.name
  name        = "example-secret"
  data = {
    "username" = base64encode("username")
    "password" = base64encode("password")
  }
}
output "debug" {
  value = data.gcp_composer_getuserworkloadssecret.example
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.composer.Environment;
import com.pulumi.gcp.composer.EnvironmentArgs;
import com.pulumi.gcp.composer.inputs.EnvironmentConfigArgs;
import com.pulumi.gcp.composer.inputs.EnvironmentConfigSoftwareConfigArgs;
import com.pulumi.gcp.composer.UserWorkloadsSecret;
import com.pulumi.gcp.composer.UserWorkloadsSecretArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.Base64encodeArgs;
import com.pulumi.gcp.composer.ComposerFunctions;
import com.pulumi.gcp.composer.inputs.GetUserWorkloadsSecretArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleEnvironment = new Environment("exampleEnvironment", EnvironmentArgs.builder()
            .name("example-environment")
            .config(EnvironmentConfigArgs.builder()
                .softwareConfig(EnvironmentConfigSoftwareConfigArgs.builder()
                    .imageVersion("composer-3-airflow-2")
                    .build())
                .build())
            .build());

        var exampleUserWorkloadsSecret = new UserWorkloadsSecret("exampleUserWorkloadsSecret", UserWorkloadsSecretArgs.builder()
            .environment(exampleEnvironment.name())
            .name("example-secret")
            .data(Map.ofEntries(
                Map.entry("username", StdFunctions.base64encode(Base64encodeArgs.builder()
                    .input("username")
                    .build()).result()),
                Map.entry("password", StdFunctions.base64encode(Base64encodeArgs.builder()
                    .input("password")
                    .build()).result())
            ))
            .build());

        final var example = ComposerFunctions.getUserWorkloadsSecret(GetUserWorkloadsSecretArgs.builder()
            .environment(exampleEnvironment.name())
            .name(googleComposerUserWorkloadsSecret.get("example").get("name"))
            .build());

        ctx.export("debug", example);
    }
}
resources:
  exampleEnvironment:
    type: gcp:composer:Environment
    name: example
    properties:
      name: example-environment
      config:
        softwareConfig:
          imageVersion: composer-3-airflow-2
  exampleUserWorkloadsSecret:
    type: gcp:composer:UserWorkloadsSecret
    name: example
    properties:
      environment: ${exampleEnvironment.name}
      name: example-secret
      data:
        username:
          fn::invoke:
            function: std:base64encode
            arguments:
              input: username
            return: result
        password:
          fn::invoke:
            function: std:base64encode
            arguments:
              input: password
            return: result
variables:
  example:
    fn::invoke:
      function: gcp:composer:getUserWorkloadsSecret
      arguments:
        environment: ${exampleEnvironment.name}
        name: ${googleComposerUserWorkloadsSecret.example.name}
outputs:
  debug: ${example}

args Arguments passed to this invoke. Arguments for getUserWorkloadsSecret. options Invoke options controlling this call.

Implementation

Future<GetUserWorkloadsSecretResult> getUserWorkloadsSecret(
  GetUserWorkloadsSecretArgs args, {
  pulumi.InvokeOptions? options,
}) async {
  final deployment = pulumi.Deployment.instance;
  final result = await deployment.invoke<Map<String, dynamic>>(
    'gcp:composer/getUserWorkloadsSecret:getUserWorkloadsSecret',
    args.toMap(),
    options: pulumi.toDeploymentInvokeOptions(options),
  );
  return GetUserWorkloadsSecretResult.fromMap(result);
}