import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Use this data source to retrieve a Cloud Identity policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const test = gcp.cloudidentity.getPolicy({ * name: "policies/{policy_id}", * }); * export const policyCustomer = test.then(test => test.customer); * export const policyQueryQuery = test.then(test => test.policyQueries?.[0]?.query); * export const policyQueryOrgUnit = test.then(test => test.policyQueries?.[0]?.orgUnit); * export const policyQueryGroup = test.then(test => test.policyQueries?.[0]?.group); * export const policyQuerySortOrder = test.then(test => test.policyQueries?.[0]?.sortOrder); * export const policySetting = test.then(test => test.setting); * ``` */ export declare function getPolicy(args: GetPolicyArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getPolicy. */ export interface GetPolicyArgs { /** * The resource name of the policy to retrieve. Format: `policies/{policy_id}`. */ name: string; } /** * A collection of values returned by getPolicy. */ export interface GetPolicyResult { /** * The customer that the policy belongs to. */ readonly customer: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The resource name of the policy. */ readonly name: string; /** * A list containing the CEL query that defines which entities the policy applies to. Structure is documented below. */ readonly policyQueries: outputs.cloudidentity.GetPolicyPolicyQuery[]; /** * The setting configured by this policy, represented as a JSON string. */ readonly setting: string; /** * The type of the policy. */ readonly type: string; } /** * Use this data source to retrieve a Cloud Identity policy. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const test = gcp.cloudidentity.getPolicy({ * name: "policies/{policy_id}", * }); * export const policyCustomer = test.then(test => test.customer); * export const policyQueryQuery = test.then(test => test.policyQueries?.[0]?.query); * export const policyQueryOrgUnit = test.then(test => test.policyQueries?.[0]?.orgUnit); * export const policyQueryGroup = test.then(test => test.policyQueries?.[0]?.group); * export const policyQuerySortOrder = test.then(test => test.policyQueries?.[0]?.sortOrder); * export const policySetting = test.then(test => test.setting); * ``` */ export declare function getPolicyOutput(args: GetPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getPolicy. */ export interface GetPolicyOutputArgs { /** * The resource name of the policy to retrieve. Format: `policies/{policy_id}`. */ name: pulumi.Input; }