import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Generates an [IAM] policy document that may be referenced by and applied to * other Yandex.Cloud Platform resources, such as the `yandex.ResourcemanagerFolder` resource. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as yandex from "@pulumi/yandex"; * * const admin = pulumi.output(yandex.getIamPolicy({ * bindings: [ * { * members: ["userAccount:user_id_1"], * role: "admin", * }, * { * members: ["userAccount:user_id_2"], * role: "viewer", * }, * ], * })); * ``` * * This data source is used to define [IAM] policies to apply to other resources. * Currently, defining a policy through a data source and referencing that policy * from another resource is the only way to apply an IAM policy to a resource. */ export declare function getIamPolicy(args: GetIamPolicyArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getIamPolicy. */ export interface GetIamPolicyArgs { /** * A nested configuration block (described below) * that defines a binding to be included in the policy document. Multiple * `binding` arguments are supported. */ bindings: inputs.GetIamPolicyBinding[]; } /** * A collection of values returned by getIamPolicy. */ export interface GetIamPolicyResult { readonly bindings: outputs.GetIamPolicyBinding[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The above bindings serialized in a format suitable for * referencing from a resource that supports IAM. */ readonly policyData: string; } export declare function getIamPolicyOutput(args: GetIamPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; /** * A collection of arguments for invoking getIamPolicy. */ export interface GetIamPolicyOutputArgs { /** * A nested configuration block (described below) * that defines a binding to be included in the policy document. Multiple * `binding` arguments are supported. */ bindings: pulumi.Input[]>; }