All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.accesscontextmanager.kotlin.AccesscontextmanagerFunctions.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.accesscontextmanager.kotlin

import com.pulumi.gcp.accesscontextmanager.AccesscontextmanagerFunctions.getAccessPolicyIamPolicyPlain
import com.pulumi.gcp.accesscontextmanager.AccesscontextmanagerFunctions.getAccessPolicyPlain
import com.pulumi.gcp.accesscontextmanager.kotlin.inputs.GetAccessPolicyIamPolicyPlainArgs
import com.pulumi.gcp.accesscontextmanager.kotlin.inputs.GetAccessPolicyIamPolicyPlainArgsBuilder
import com.pulumi.gcp.accesscontextmanager.kotlin.inputs.GetAccessPolicyPlainArgs
import com.pulumi.gcp.accesscontextmanager.kotlin.inputs.GetAccessPolicyPlainArgsBuilder
import com.pulumi.gcp.accesscontextmanager.kotlin.outputs.GetAccessPolicyIamPolicyResult
import com.pulumi.gcp.accesscontextmanager.kotlin.outputs.GetAccessPolicyResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import com.pulumi.gcp.accesscontextmanager.kotlin.outputs.GetAccessPolicyIamPolicyResult.Companion.toKotlin as getAccessPolicyIamPolicyResultToKotlin
import com.pulumi.gcp.accesscontextmanager.kotlin.outputs.GetAccessPolicyResult.Companion.toKotlin as getAccessPolicyResultToKotlin

public object AccesscontextmanagerFunctions {
    /**
     * Get information about an Access Context Manager AccessPolicy.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as gcp from "@pulumi/gcp";
     * const policy-org = gcp.accesscontextmanager.getAccessPolicy({
     *     parent: "organizations/1234567",
     * });
     * const policy-scoped = gcp.accesscontextmanager.getAccessPolicy({
     *     parent: "organizations/1234567",
     *     scopes: ["projects/1234567"],
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_gcp as gcp
     * policy_org = gcp.accesscontextmanager.get_access_policy(parent="organizations/1234567")
     * policy_scoped = gcp.accesscontextmanager.get_access_policy(parent="organizations/1234567",
     *     scopes=["projects/1234567"])
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Gcp = Pulumi.Gcp;
     * return await Deployment.RunAsync(() =>
     * {
     *     var policy_org = Gcp.AccessContextManager.GetAccessPolicy.Invoke(new()
     *     {
     *         Parent = "organizations/1234567",
     *     });
     *     var policy_scoped = Gcp.AccessContextManager.GetAccessPolicy.Invoke(new()
     *     {
     *         Parent = "organizations/1234567",
     *         Scopes = new[]
     *         {
     *             "projects/1234567",
     *         },
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/accesscontextmanager"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := accesscontextmanager.LookupAccessPolicy(ctx, &accesscontextmanager.LookupAccessPolicyArgs{
     * 			Parent: "organizations/1234567",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		_, err = accesscontextmanager.LookupAccessPolicy(ctx, &accesscontextmanager.LookupAccessPolicyArgs{
     * 			Parent: "organizations/1234567",
     * 			Scopes: []string{
     * 				"projects/1234567",
     * 			},
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.accesscontextmanager.AccesscontextmanagerFunctions;
     * import com.pulumi.gcp.accesscontextmanager.inputs.GetAccessPolicyArgs;
     * import java.util.List;
     * import java.util.ArrayList;
     * 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) {
     *         final var policy-org = AccesscontextmanagerFunctions.getAccessPolicy(GetAccessPolicyArgs.builder()
     *             .parent("organizations/1234567")
     *             .build());
     *         final var policy-scoped = AccesscontextmanagerFunctions.getAccessPolicy(GetAccessPolicyArgs.builder()
     *             .parent("organizations/1234567")
     *             .scopes("projects/1234567")
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   policy-org:
     *     fn::invoke:
     *       function: gcp:accesscontextmanager:getAccessPolicy
     *       arguments:
     *         parent: organizations/1234567
     *   policy-scoped:
     *     fn::invoke:
     *       function: gcp:accesscontextmanager:getAccessPolicy
     *       arguments:
     *         parent: organizations/1234567
     *         scopes:
     *           - projects/1234567
     * ```
     * 
     * @param argument A collection of arguments for invoking getAccessPolicy.
     * @return A collection of values returned by getAccessPolicy.
     */
    public suspend fun getAccessPolicy(argument: GetAccessPolicyPlainArgs): GetAccessPolicyResult =
        getAccessPolicyResultToKotlin(getAccessPolicyPlain(argument.toJava()).await())

    /**
     * @see [getAccessPolicy].
     * @param parent The parent of this AccessPolicy in the Cloud Resource Hierarchy. Format: `organizations/{{organization_id}}`
     * @param scopes Folder or project on which this policy is applicable. Format: `folders/{{folder_id}}` or `projects/{{project_number}}`
     * @return A collection of values returned by getAccessPolicy.
     */
    public suspend fun getAccessPolicy(parent: String, scopes: List? = null): GetAccessPolicyResult {
        val argument = GetAccessPolicyPlainArgs(
            parent = parent,
            scopes = scopes,
        )
        return getAccessPolicyResultToKotlin(getAccessPolicyPlain(argument.toJava()).await())
    }

    /**
     * @see [getAccessPolicy].
     * @param argument Builder for [com.pulumi.gcp.accesscontextmanager.kotlin.inputs.GetAccessPolicyPlainArgs].
     * @return A collection of values returned by getAccessPolicy.
     */
    public suspend fun getAccessPolicy(argument: suspend GetAccessPolicyPlainArgsBuilder.() -> Unit): GetAccessPolicyResult {
        val builder = GetAccessPolicyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAccessPolicyResultToKotlin(getAccessPolicyPlain(builtArgument.toJava()).await())
    }

    /**
     * Retrieves the current IAM policy data for accesspolicy
     * ## example
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as gcp from "@pulumi/gcp";
     * const policy = gcp.accesscontextmanager.getAccessPolicyIamPolicy({
     *     name: access_policy.name,
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_gcp as gcp
     * policy = gcp.accesscontextmanager.get_access_policy_iam_policy(name=access_policy["name"])
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Gcp = Pulumi.Gcp;
     * return await Deployment.RunAsync(() =>
     * {
     *     var policy = Gcp.AccessContextManager.GetAccessPolicyIamPolicy.Invoke(new()
     *     {
     *         Name = access_policy.Name,
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/accesscontextmanager"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := accesscontextmanager.LookupAccessPolicyIamPolicy(ctx, &accesscontextmanager.LookupAccessPolicyIamPolicyArgs{
     * 			Name: access_policy.Name,
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.accesscontextmanager.AccesscontextmanagerFunctions;
     * import com.pulumi.gcp.accesscontextmanager.inputs.GetAccessPolicyIamPolicyArgs;
     * import java.util.List;
     * import java.util.ArrayList;
     * 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) {
     *         final var policy = AccesscontextmanagerFunctions.getAccessPolicyIamPolicy(GetAccessPolicyIamPolicyArgs.builder()
     *             .name(access_policy.name())
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   policy:
     *     fn::invoke:
     *       function: gcp:accesscontextmanager:getAccessPolicyIamPolicy
     *       arguments:
     *         name: ${["access-policy"].name}
     * ```
     * 
     * @param argument A collection of arguments for invoking getAccessPolicyIamPolicy.
     * @return A collection of values returned by getAccessPolicyIamPolicy.
     */
    public suspend fun getAccessPolicyIamPolicy(argument: GetAccessPolicyIamPolicyPlainArgs): GetAccessPolicyIamPolicyResult =
        getAccessPolicyIamPolicyResultToKotlin(getAccessPolicyIamPolicyPlain(argument.toJava()).await())

    /**
     * @see [getAccessPolicyIamPolicy].
     * @param name Used to find the parent resource to bind the IAM policy to
     * @return A collection of values returned by getAccessPolicyIamPolicy.
     */
    public suspend fun getAccessPolicyIamPolicy(name: String): GetAccessPolicyIamPolicyResult {
        val argument = GetAccessPolicyIamPolicyPlainArgs(
            name = name,
        )
        return getAccessPolicyIamPolicyResultToKotlin(getAccessPolicyIamPolicyPlain(argument.toJava()).await())
    }

    /**
     * @see [getAccessPolicyIamPolicy].
     * @param argument Builder for [com.pulumi.gcp.accesscontextmanager.kotlin.inputs.GetAccessPolicyIamPolicyPlainArgs].
     * @return A collection of values returned by getAccessPolicyIamPolicy.
     */
    public suspend fun getAccessPolicyIamPolicy(argument: suspend GetAccessPolicyIamPolicyPlainArgsBuilder.() -> Unit): GetAccessPolicyIamPolicyResult {
        val builder = GetAccessPolicyIamPolicyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAccessPolicyIamPolicyResultToKotlin(getAccessPolicyIamPolicyPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy