import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Generates an IAM policy document that may be referenced by and applied to * other Google Cloud Platform IAM resources, such as the `gcp.projects.IAMPolicy` resource. * * **Note:** Please review the documentation of the resource that you will be using the datasource with. Some resources such as `gcp.projects.IAMPolicy` and others have limitations in their API methods which are noted on their respective page. */ export declare function getIAMPolicy(args?: GetIAMPolicyArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getIAMPolicy. */ export interface GetIAMPolicyArgs { /** * A nested configuration block that defines logging additional configuration for your project. This field is only supported on `gcp.projects.IAMPolicy`, `gcp.folder.IAMPolicy` and `gcp.organizations.IAMPolicy`. */ auditConfigs?: inputs.organizations.GetIAMPolicyAuditConfig[]; /** * A nested configuration block (described below) * defining a binding to be included in the policy document. Multiple * `binding` arguments are supported. * * Each document configuration must have one or more `binding` blocks, which * each accept the following arguments: */ bindings?: inputs.organizations.GetIAMPolicyBinding[]; } /** * A collection of values returned by getIAMPolicy. */ export interface GetIAMPolicyResult { readonly auditConfigs?: outputs.organizations.GetIAMPolicyAuditConfig[]; readonly bindings?: outputs.organizations.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; } /** * Generates an IAM policy document that may be referenced by and applied to * other Google Cloud Platform IAM resources, such as the `gcp.projects.IAMPolicy` resource. * * **Note:** Please review the documentation of the resource that you will be using the datasource with. Some resources such as `gcp.projects.IAMPolicy` and others have limitations in their API methods which are noted on their respective page. */ export declare function getIAMPolicyOutput(args?: GetIAMPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getIAMPolicy. */ export interface GetIAMPolicyOutputArgs { /** * A nested configuration block that defines logging additional configuration for your project. This field is only supported on `gcp.projects.IAMPolicy`, `gcp.folder.IAMPolicy` and `gcp.organizations.IAMPolicy`. */ auditConfigs?: pulumi.Input[]>; /** * A nested configuration block (described below) * defining a binding to be included in the policy document. Multiple * `binding` arguments are supported. * * Each document configuration must have one or more `binding` blocks, which * each accept the following arguments: */ bindings?: pulumi.Input[]>; }