import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Create a Service Perimeter. The longrunning operation from this RPC will have a successful status once the Service Perimeter has propagated to long-lasting storage. Service Perimeters containing errors will result in an error response for the first error encountered. */ export declare class ServicePerimeter extends pulumi.CustomResource { /** * Get an existing ServicePerimeter resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ServicePerimeter; /** * Returns true if the given object is an instance of ServicePerimeter. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ServicePerimeter; readonly accessPolicyId: pulumi.Output; /** * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ readonly description: pulumi.Output; /** * Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ readonly name: pulumi.Output; /** * Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, restricted/unrestricted service lists as well as access lists must be empty. */ readonly perimeterType: pulumi.Output; /** * Current ServicePerimeter configuration. Specifies sets of resources, restricted/unrestricted services and access levels that determine perimeter content and boundaries. */ readonly status: pulumi.Output; /** * Human readable title. Must be unique within the Policy. */ readonly title: pulumi.Output; /** * Create a ServicePerimeter resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ServicePerimeterArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ServicePerimeter resource. */ export interface ServicePerimeterArgs { accessPolicyId: pulumi.Input; /** * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ description?: pulumi.Input; /** * Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ name?: pulumi.Input; /** * Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, restricted/unrestricted service lists as well as access lists must be empty. */ perimeterType?: pulumi.Input; /** * Human readable title. Must be unique within the Policy. */ title?: pulumi.Input; }