import * as pulumi from "@pulumi/pulumi"; /** * Retrieves the current IAM policy data for tunnelinstance * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const policy = gcp.iap.getTunnelInstanceIamPolicy({ * project: tunnelvm.project, * zone: tunnelvm.zone, * instance: tunnelvm.name, * }); * ``` */ export declare function getTunnelInstanceIamPolicy(args: GetTunnelInstanceIamPolicyArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getTunnelInstanceIamPolicy. */ export interface GetTunnelInstanceIamPolicyArgs { /** * Used to find the parent resource to bind the IAM policy to */ instance: string; /** * The ID of the project in which the resource belongs. * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used. */ project?: string; /** * Used to find the parent resource to bind the IAM policy to. If not specified, * the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no * zone is specified, it is taken from the provider configuration. */ zone?: string; } /** * A collection of values returned by getTunnelInstanceIamPolicy. */ export interface GetTunnelInstanceIamPolicyResult { /** * (Computed) The etag of the IAM policy. */ readonly etag: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly instance: string; /** * (Required only by `gcp.iap.TunnelInstanceIAMPolicy`) The policy data generated by * a `gcp.organizations.getIAMPolicy` data source. */ readonly policyData: string; readonly project: string; readonly zone: string; } /** * Retrieves the current IAM policy data for tunnelinstance * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const policy = gcp.iap.getTunnelInstanceIamPolicy({ * project: tunnelvm.project, * zone: tunnelvm.zone, * instance: tunnelvm.name, * }); * ``` */ export declare function getTunnelInstanceIamPolicyOutput(args: GetTunnelInstanceIamPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getTunnelInstanceIamPolicy. */ export interface GetTunnelInstanceIamPolicyOutputArgs { /** * Used to find the parent resource to bind the IAM policy to */ instance: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used. */ project?: pulumi.Input; /** * Used to find the parent resource to bind the IAM policy to. If not specified, * the value will be parsed from the identifier of the parent resource. If no zone is provided in the parent identifier and no * zone is specified, it is taken from the provider configuration. */ zone?: pulumi.Input; }