Class AccessPolicy


  • public class AccessPolicy
    extends com.pulumi.resources.CustomResource
    AccessPolicy is a container for AccessLevels (which define the necessary attributes to use GCP services) and ServicePerimeters (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization. To get more information about AccessPolicy, see: * [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies) * How-to Guides * [Access Policy Quickstart](https://cloud.google.com/access-context-manager/docs/quickstart) > **Warning:** If you are using User ADCs (Application Default Credentials) with this resource, you must specify a `billing_project` and set `user_project_override` to true in the provider configuration. Otherwise the ACM API will return a 403 error. Your account must have the `serviceusage.services.use` permission on the `billing_project` you defined. ## Example Usage ### Access Context Manager Access Policy Basic ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.accesscontextmanager.AccessPolicy; import com.pulumi.gcp.accesscontextmanager.AccessPolicyArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var access_policy = new AccessPolicy("access-policy", AccessPolicyArgs.builder() .parent("organizations/123456789") .title("Org Access Policy") .build()); } } ``` ### Access Context Manager Access Policy Scoped ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.organizations.Project; import com.pulumi.gcp.organizations.ProjectArgs; import com.pulumi.gcp.accesscontextmanager.AccessPolicy; import com.pulumi.gcp.accesscontextmanager.AccessPolicyArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var project = new Project("project", ProjectArgs.builder() .orgId("123456789") .projectId("acm-test-proj-123") .build()); var access_policy = new AccessPolicy("access-policy", AccessPolicyArgs.builder() .parent("organizations/123456789") .scopes(project.number().applyValue(number -> String.format("projects/%s", number))) .title("Scoped Access Policy") .build()); } } ``` ## Import AccessPolicy can be imported using any of these accepted formats: ```sh $ pulumi import gcp:accesscontextmanager/accessPolicy:AccessPolicy default {{name}} ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.lang.String> createTime()  
      static AccessPolicy get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AccessPolicyState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.lang.String> name()  
      com.pulumi.core.Output<java.lang.String> parent()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> scopes()  
      com.pulumi.core.Output<java.lang.String> title()  
      com.pulumi.core.Output<java.lang.String> updateTime()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AccessPolicy

        public AccessPolicy​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • AccessPolicy

        public AccessPolicy​(java.lang.String name,
                            AccessPolicyArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • AccessPolicy

        public AccessPolicy​(java.lang.String name,
                            AccessPolicyArgs args,
                            @Nullable
                            com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • createTime

        public com.pulumi.core.Output<java.lang.String> createTime()
        Returns:
        Time the AccessPolicy was created in UTC.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Resource name of the AccessPolicy. Format: {policy_id}
      • parent

        public com.pulumi.core.Output<java.lang.String> parent()
        Returns:
        The parent of this AccessPolicy in the Cloud Resource Hierarchy. Format: organizations/{organization_id}
      • scopes

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> scopes()
        Returns:
        Folder or project on which this policy is applicable. Format: folders/{{folder_id}} or projects/{{project_id}}
      • title

        public com.pulumi.core.Output<java.lang.String> title()
        Returns:
        Human readable title. Does not affect behavior. ***
      • updateTime

        public com.pulumi.core.Output<java.lang.String> updateTime()
        Returns:
        Time the AccessPolicy was updated in UTC.
      • get

        public static AccessPolicy get​(java.lang.String name,
                                       com.pulumi.core.Output<java.lang.String> id,
                                       @Nullable
                                       AccessPolicyState state,
                                       @Nullable
                                       com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.