Class StorageFunctions


  • public final class StorageFunctions
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static com.pulumi.core.Output<GetBucketResult> getBucket​(GetBucketArgs args)
      Gets an existing bucket in Google Cloud Storage service (GCS).
      static com.pulumi.core.Output<GetBucketResult> getBucket​(GetBucketArgs args, com.pulumi.deployment.InvokeOptions options)
      Gets an existing bucket in Google Cloud Storage service (GCS).
      static com.pulumi.core.Output<GetBucketIamPolicyResult> getBucketIamPolicy​(GetBucketIamPolicyArgs args)
      Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      static com.pulumi.core.Output<GetBucketIamPolicyResult> getBucketIamPolicy​(GetBucketIamPolicyArgs args, com.pulumi.deployment.InvokeOptions options)
      Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      static java.util.concurrent.CompletableFuture<GetBucketIamPolicyResult> getBucketIamPolicyPlain​(GetBucketIamPolicyPlainArgs args)
      Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      static java.util.concurrent.CompletableFuture<GetBucketIamPolicyResult> getBucketIamPolicyPlain​(GetBucketIamPolicyPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      static com.pulumi.core.Output<GetBucketObjectResult> getBucketObject()
      Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS).
      static com.pulumi.core.Output<GetBucketObjectResult> getBucketObject​(GetBucketObjectArgs args)
      Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS).
      static com.pulumi.core.Output<GetBucketObjectResult> getBucketObject​(GetBucketObjectArgs args, com.pulumi.deployment.InvokeOptions options)
      Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS).
      static com.pulumi.core.Output<GetBucketObjectContentResult> getBucketObjectContent​(GetBucketObjectContentArgs args)
      Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS).
      static com.pulumi.core.Output<GetBucketObjectContentResult> getBucketObjectContent​(GetBucketObjectContentArgs args, com.pulumi.deployment.InvokeOptions options)
      Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS).
      static java.util.concurrent.CompletableFuture<GetBucketObjectContentResult> getBucketObjectContentPlain​(GetBucketObjectContentPlainArgs args)
      Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS).
      static java.util.concurrent.CompletableFuture<GetBucketObjectContentResult> getBucketObjectContentPlain​(GetBucketObjectContentPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS).
      static java.util.concurrent.CompletableFuture<GetBucketObjectResult> getBucketObjectPlain()
      Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS).
      static java.util.concurrent.CompletableFuture<GetBucketObjectResult> getBucketObjectPlain​(GetBucketObjectPlainArgs args)
      Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS).
      static java.util.concurrent.CompletableFuture<GetBucketObjectResult> getBucketObjectPlain​(GetBucketObjectPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS).
      static java.util.concurrent.CompletableFuture<GetBucketResult> getBucketPlain​(GetBucketPlainArgs args)
      Gets an existing bucket in Google Cloud Storage service (GCS).
      static java.util.concurrent.CompletableFuture<GetBucketResult> getBucketPlain​(GetBucketPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Gets an existing bucket in Google Cloud Storage service (GCS).
      static com.pulumi.core.Output<GetObjectSignedUrlResult> getObjectSignedUrl​(GetObjectSignedUrlArgs args)
      The Google Cloud storage signed URL data source generates a signed URL for a given storage object.
      static com.pulumi.core.Output<GetObjectSignedUrlResult> getObjectSignedUrl​(GetObjectSignedUrlArgs args, com.pulumi.deployment.InvokeOptions options)
      The Google Cloud storage signed URL data source generates a signed URL for a given storage object.
      static java.util.concurrent.CompletableFuture<GetObjectSignedUrlResult> getObjectSignedUrlPlain​(GetObjectSignedUrlPlainArgs args)
      The Google Cloud storage signed URL data source generates a signed URL for a given storage object.
      static java.util.concurrent.CompletableFuture<GetObjectSignedUrlResult> getObjectSignedUrlPlain​(GetObjectSignedUrlPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      The Google Cloud storage signed URL data source generates a signed URL for a given storage object.
      static com.pulumi.core.Output<GetProjectServiceAccountResult> getProjectServiceAccount()
      Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts).
      static com.pulumi.core.Output<GetProjectServiceAccountResult> getProjectServiceAccount​(GetProjectServiceAccountArgs args)
      Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts).
      static com.pulumi.core.Output<GetProjectServiceAccountResult> getProjectServiceAccount​(GetProjectServiceAccountArgs args, com.pulumi.deployment.InvokeOptions options)
      Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts).
      static java.util.concurrent.CompletableFuture<GetProjectServiceAccountResult> getProjectServiceAccountPlain()
      Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts).
      static java.util.concurrent.CompletableFuture<GetProjectServiceAccountResult> getProjectServiceAccountPlain​(GetProjectServiceAccountPlainArgs args)
      Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts).
      static java.util.concurrent.CompletableFuture<GetProjectServiceAccountResult> getProjectServiceAccountPlain​(GetProjectServiceAccountPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts).
      static com.pulumi.core.Output<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccount()
      Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      static com.pulumi.core.Output<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccount​(GetTransferProjectServiceAccountArgs args)
      Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      static com.pulumi.core.Output<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccount​(GetTransferProjectServiceAccountArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      static java.util.concurrent.CompletableFuture<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccountPlain()
      Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      static java.util.concurrent.CompletableFuture<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccountPlain​(GetTransferProjectServiceAccountPlainArgs args)
      Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      static java.util.concurrent.CompletableFuture<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccountPlain​(GetTransferProjectServiceAccountPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      static com.pulumi.core.Output<GetTransferProjectServieAccountResult> getTransferProjectServieAccount()
      Deprecated.
      gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
      static com.pulumi.core.Output<GetTransferProjectServieAccountResult> getTransferProjectServieAccount​(GetTransferProjectServieAccountArgs args)
      Deprecated.
      gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
      static com.pulumi.core.Output<GetTransferProjectServieAccountResult> getTransferProjectServieAccount​(GetTransferProjectServieAccountArgs args, com.pulumi.deployment.InvokeOptions options)
      Deprecated.
      gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
      static java.util.concurrent.CompletableFuture<GetTransferProjectServieAccountResult> getTransferProjectServieAccountPlain()
      Deprecated.
      gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
      static java.util.concurrent.CompletableFuture<GetTransferProjectServieAccountResult> getTransferProjectServieAccountPlain​(GetTransferProjectServieAccountPlainArgs args)
      Deprecated.
      gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
      static java.util.concurrent.CompletableFuture<GetTransferProjectServieAccountResult> getTransferProjectServieAccountPlain​(GetTransferProjectServieAccountPlainArgs args, com.pulumi.deployment.InvokeOptions options)
      Deprecated.
      gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
      • Methods inherited from class java.lang.Object

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

      • StorageFunctions

        public StorageFunctions()
    • Method Detail

      • getBucket

        public static com.pulumi.core.Output<GetBucketResult> getBucket​(GetBucketArgs args)
        Gets an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#buckets) and [API](https://cloud.google.com/storage/docs/json_api/v1/buckets). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketArgs; 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) { final var my-bucket = StorageFunctions.getBucket(GetBucketArgs.builder() .name("my-bucket") .build()); } } ```
      • getBucketPlain

        public static java.util.concurrent.CompletableFuture<GetBucketResult> getBucketPlain​(GetBucketPlainArgs args)
        Gets an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#buckets) and [API](https://cloud.google.com/storage/docs/json_api/v1/buckets). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketArgs; 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) { final var my-bucket = StorageFunctions.getBucket(GetBucketArgs.builder() .name("my-bucket") .build()); } } ```
      • getBucket

        public static com.pulumi.core.Output<GetBucketResult> getBucket​(GetBucketArgs args,
                                                                        com.pulumi.deployment.InvokeOptions options)
        Gets an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#buckets) and [API](https://cloud.google.com/storage/docs/json_api/v1/buckets). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketArgs; 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) { final var my-bucket = StorageFunctions.getBucket(GetBucketArgs.builder() .name("my-bucket") .build()); } } ```
      • getBucketPlain

        public static java.util.concurrent.CompletableFuture<GetBucketResult> getBucketPlain​(GetBucketPlainArgs args,
                                                                                             com.pulumi.deployment.InvokeOptions options)
        Gets an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#buckets) and [API](https://cloud.google.com/storage/docs/json_api/v1/buckets). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketArgs; 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) { final var my-bucket = StorageFunctions.getBucket(GetBucketArgs.builder() .name("my-bucket") .build()); } } ```
      • getBucketIamPolicy

        public static com.pulumi.core.Output<GetBucketIamPolicyResult> getBucketIamPolicy​(GetBucketIamPolicyArgs args)
        Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      • getBucketIamPolicyPlain

        public static java.util.concurrent.CompletableFuture<GetBucketIamPolicyResult> getBucketIamPolicyPlain​(GetBucketIamPolicyPlainArgs args)
        Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      • getBucketIamPolicy

        public static com.pulumi.core.Output<GetBucketIamPolicyResult> getBucketIamPolicy​(GetBucketIamPolicyArgs args,
                                                                                          com.pulumi.deployment.InvokeOptions options)
        Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      • getBucketIamPolicyPlain

        public static java.util.concurrent.CompletableFuture<GetBucketIamPolicyResult> getBucketIamPolicyPlain​(GetBucketIamPolicyPlainArgs args,
                                                                                                               com.pulumi.deployment.InvokeOptions options)
        Retrieves the current IAM policy data for bucket ## example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketIamPolicyArgs; 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) { final var policy = StorageFunctions.getBucketIamPolicy(GetBucketIamPolicyArgs.builder() .bucket(google_storage_bucket.default().name()) .build()); } } ```
      • getBucketObject

        public static com.pulumi.core.Output<GetBucketObjectResult> getBucketObject()
        Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). ## Example Usage Example picture stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectArgs; 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) { final var picture = StorageFunctions.getBucketObject(GetBucketObjectArgs.builder() .bucket("image-store") .name("folder/butterfly01.jpg") .build()); } } ```
      • getBucketObjectPlain

        public static java.util.concurrent.CompletableFuture<GetBucketObjectResult> getBucketObjectPlain()
        Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). ## Example Usage Example picture stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectArgs; 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) { final var picture = StorageFunctions.getBucketObject(GetBucketObjectArgs.builder() .bucket("image-store") .name("folder/butterfly01.jpg") .build()); } } ```
      • getBucketObject

        public static com.pulumi.core.Output<GetBucketObjectResult> getBucketObject​(GetBucketObjectArgs args)
        Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). ## Example Usage Example picture stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectArgs; 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) { final var picture = StorageFunctions.getBucketObject(GetBucketObjectArgs.builder() .bucket("image-store") .name("folder/butterfly01.jpg") .build()); } } ```
      • getBucketObjectPlain

        public static java.util.concurrent.CompletableFuture<GetBucketObjectResult> getBucketObjectPlain​(GetBucketObjectPlainArgs args)
        Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). ## Example Usage Example picture stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectArgs; 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) { final var picture = StorageFunctions.getBucketObject(GetBucketObjectArgs.builder() .bucket("image-store") .name("folder/butterfly01.jpg") .build()); } } ```
      • getBucketObject

        public static com.pulumi.core.Output<GetBucketObjectResult> getBucketObject​(GetBucketObjectArgs args,
                                                                                    com.pulumi.deployment.InvokeOptions options)
        Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). ## Example Usage Example picture stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectArgs; 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) { final var picture = StorageFunctions.getBucketObject(GetBucketObjectArgs.builder() .bucket("image-store") .name("folder/butterfly01.jpg") .build()); } } ```
      • getBucketObjectPlain

        public static java.util.concurrent.CompletableFuture<GetBucketObjectResult> getBucketObjectPlain​(GetBucketObjectPlainArgs args,
                                                                                                         com.pulumi.deployment.InvokeOptions options)
        Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). ## Example Usage Example picture stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectArgs; 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) { final var picture = StorageFunctions.getBucketObject(GetBucketObjectArgs.builder() .bucket("image-store") .name("folder/butterfly01.jpg") .build()); } } ```
      • getBucketObjectContent

        public static com.pulumi.core.Output<GetBucketObjectContentResult> getBucketObjectContent​(GetBucketObjectContentArgs args)
        Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). > **Warning:** The object content will be saved in the state, and visiable to everyone who has access to the state file. ## Example Usage Example file object stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectContentArgs; 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) { final var key = StorageFunctions.getBucketObjectContent(GetBucketObjectContentArgs.builder() .name("encryptedkey") .bucket("keystore") .build()); ctx.export("encrypted", key.applyValue(getBucketObjectContentResult -> getBucketObjectContentResult.content())); } } ```
      • getBucketObjectContentPlain

        public static java.util.concurrent.CompletableFuture<GetBucketObjectContentResult> getBucketObjectContentPlain​(GetBucketObjectContentPlainArgs args)
        Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). > **Warning:** The object content will be saved in the state, and visiable to everyone who has access to the state file. ## Example Usage Example file object stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectContentArgs; 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) { final var key = StorageFunctions.getBucketObjectContent(GetBucketObjectContentArgs.builder() .name("encryptedkey") .bucket("keystore") .build()); ctx.export("encrypted", key.applyValue(getBucketObjectContentResult -> getBucketObjectContentResult.content())); } } ```
      • getBucketObjectContent

        public static com.pulumi.core.Output<GetBucketObjectContentResult> getBucketObjectContent​(GetBucketObjectContentArgs args,
                                                                                                  com.pulumi.deployment.InvokeOptions options)
        Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). > **Warning:** The object content will be saved in the state, and visiable to everyone who has access to the state file. ## Example Usage Example file object stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectContentArgs; 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) { final var key = StorageFunctions.getBucketObjectContent(GetBucketObjectContentArgs.builder() .name("encryptedkey") .bucket("keystore") .build()); ctx.export("encrypted", key.applyValue(getBucketObjectContentResult -> getBucketObjectContentResult.content())); } } ```
      • getBucketObjectContentPlain

        public static java.util.concurrent.CompletableFuture<GetBucketObjectContentResult> getBucketObjectContentPlain​(GetBucketObjectContentPlainArgs args,
                                                                                                                       com.pulumi.deployment.InvokeOptions options)
        Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects). > **Warning:** The object content will be saved in the state, and visiable to everyone who has access to the state file. ## Example Usage Example file object stored within a folder. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetBucketObjectContentArgs; 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) { final var key = StorageFunctions.getBucketObjectContent(GetBucketObjectContentArgs.builder() .name("encryptedkey") .bucket("keystore") .build()); ctx.export("encrypted", key.applyValue(getBucketObjectContentResult -> getBucketObjectContentResult.content())); } } ```
      • getObjectSignedUrl

        public static com.pulumi.core.Output<GetObjectSignedUrlResult> getObjectSignedUrl​(GetObjectSignedUrlArgs args)
        The Google Cloud storage signed URL data source generates a signed URL for a given storage object. Signed URLs provide a way to give time-limited read or write access to anyone in possession of the URL, regardless of whether they have a Google account. For more info about signed URL's is available [here](https://cloud.google.com/storage/docs/access-control/signed-urls). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; import com.pulumi.gcp.compute.Instance; 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) { final var artifact = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("install_binaries") .path("path/to/install_file.bin") .build()); var vm = new Instance("vm"); } } ``` ## Full Example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; 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) { final var getUrl = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("fried_chicken") .path("path/to/file") .contentMd5("pRviqwS4c4OTJRTe03FD1w==") .contentType("text/plain") .duration("2d") .credentials(Files.readString(Paths.get("path/to/credentials.json"))) .extensionHeaders(Map.of("x-goog-if-generation-match", 1)) .build()); } } ```
      • getObjectSignedUrlPlain

        public static java.util.concurrent.CompletableFuture<GetObjectSignedUrlResult> getObjectSignedUrlPlain​(GetObjectSignedUrlPlainArgs args)
        The Google Cloud storage signed URL data source generates a signed URL for a given storage object. Signed URLs provide a way to give time-limited read or write access to anyone in possession of the URL, regardless of whether they have a Google account. For more info about signed URL's is available [here](https://cloud.google.com/storage/docs/access-control/signed-urls). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; import com.pulumi.gcp.compute.Instance; 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) { final var artifact = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("install_binaries") .path("path/to/install_file.bin") .build()); var vm = new Instance("vm"); } } ``` ## Full Example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; 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) { final var getUrl = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("fried_chicken") .path("path/to/file") .contentMd5("pRviqwS4c4OTJRTe03FD1w==") .contentType("text/plain") .duration("2d") .credentials(Files.readString(Paths.get("path/to/credentials.json"))) .extensionHeaders(Map.of("x-goog-if-generation-match", 1)) .build()); } } ```
      • getObjectSignedUrl

        public static com.pulumi.core.Output<GetObjectSignedUrlResult> getObjectSignedUrl​(GetObjectSignedUrlArgs args,
                                                                                          com.pulumi.deployment.InvokeOptions options)
        The Google Cloud storage signed URL data source generates a signed URL for a given storage object. Signed URLs provide a way to give time-limited read or write access to anyone in possession of the URL, regardless of whether they have a Google account. For more info about signed URL's is available [here](https://cloud.google.com/storage/docs/access-control/signed-urls). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; import com.pulumi.gcp.compute.Instance; 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) { final var artifact = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("install_binaries") .path("path/to/install_file.bin") .build()); var vm = new Instance("vm"); } } ``` ## Full Example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; 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) { final var getUrl = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("fried_chicken") .path("path/to/file") .contentMd5("pRviqwS4c4OTJRTe03FD1w==") .contentType("text/plain") .duration("2d") .credentials(Files.readString(Paths.get("path/to/credentials.json"))) .extensionHeaders(Map.of("x-goog-if-generation-match", 1)) .build()); } } ```
      • getObjectSignedUrlPlain

        public static java.util.concurrent.CompletableFuture<GetObjectSignedUrlResult> getObjectSignedUrlPlain​(GetObjectSignedUrlPlainArgs args,
                                                                                                               com.pulumi.deployment.InvokeOptions options)
        The Google Cloud storage signed URL data source generates a signed URL for a given storage object. Signed URLs provide a way to give time-limited read or write access to anyone in possession of the URL, regardless of whether they have a Google account. For more info about signed URL's is available [here](https://cloud.google.com/storage/docs/access-control/signed-urls). ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; import com.pulumi.gcp.compute.Instance; 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) { final var artifact = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("install_binaries") .path("path/to/install_file.bin") .build()); var vm = new Instance("vm"); } } ``` ## Full Example ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetObjectSignedUrlArgs; 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) { final var getUrl = StorageFunctions.getObjectSignedUrl(GetObjectSignedUrlArgs.builder() .bucket("fried_chicken") .path("path/to/file") .contentMd5("pRviqwS4c4OTJRTe03FD1w==") .contentType("text/plain") .duration("2d") .credentials(Files.readString(Paths.get("path/to/credentials.json"))) .extensionHeaders(Map.of("x-goog-if-generation-match", 1)) .build()); } } ```
      • getProjectServiceAccount

        public static com.pulumi.core.Output<GetProjectServiceAccountResult> getProjectServiceAccount()
        Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts). For each Google Cloud project, Google maintains a unique service account which is used as the identity for various Google Cloud Storage operations, including operations involving [customer-managed encryption keys](https://cloud.google.com/storage/docs/encryption/customer-managed-keys) and those involving [storage notifications to pub/sub](https://cloud.google.com/storage/docs/gsutil/commands/notification). This automatic Google service account requires access to the relevant Cloud KMS keys or pub/sub topics, respectively, in order for Cloud Storage to use these customer-managed resources. The service account has a well-known, documented naming format which is parameterised on the numeric Google project ID. However, as noted in [the docs](https://cloud.google.com/storage/docs/projects#service-accounts), it is only created when certain relevant actions occur which presuppose its existence. These actions include calling a [Cloud Storage API endpoint](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get) to yield the service account's identity, or performing some operations in the UI which must use the service account's identity, such as attempting to list Cloud KMS keys on the bucket creation page. Use of this data source calls the relevant API endpoint to obtain the service account's identity and thus ensures it exists prior to any API operations which demand its existence, such as specifying it in Cloud IAM policy. Always prefer to use this data source over interpolating the project ID into the well-known format for this service account, as the latter approach may cause provider update errors in cases where the service account does not yet exist. > When you write provider code which uses features depending on this service account *and* your provider code adds the service account in IAM policy on other resources, you must take care for race conditions between the establishment of the IAM policy and creation of the relevant Cloud Storage resource. Cloud Storage APIs will require permissions on resources such as pub/sub topics or Cloud KMS keys to exist *before* the attempt to utilise them in a bucket configuration, otherwise the API calls will fail. You may need to use `depends_on` to create an explicit dependency between the IAM policy resource and the Cloud Storage resource which depends on it. See the examples here and in the `gcp.storage.Notification` resource. For more information see [the API reference](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount). ## Example Usage ### Pub/Sub Notifications ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.pubsub.TopicIAMBinding; import com.pulumi.gcp.pubsub.TopicIAMBindingArgs; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new TopicIAMBinding("binding", TopicIAMBindingArgs.builder() .topic(google_pubsub_topic.topic().name()) .role("roles/pubsub.publisher") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); } } ``` ### Cloud KMS Keys ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.kms.CryptoKeyIAMBinding; import com.pulumi.gcp.kms.CryptoKeyIAMBindingArgs; import com.pulumi.gcp.storage.Bucket; import com.pulumi.gcp.storage.BucketArgs; import com.pulumi.gcp.storage.inputs.BucketEncryptionArgs; import com.pulumi.resources.CustomResourceOptions; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new CryptoKeyIAMBinding("binding", CryptoKeyIAMBindingArgs.builder() .cryptoKeyId("your-crypto-key-id") .role("roles/cloudkms.cryptoKeyEncrypterDecrypter") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .location("US") .encryption(BucketEncryptionArgs.builder() .defaultKmsKeyName("your-crypto-key-id") .build()) .build(), CustomResourceOptions.builder() .dependsOn(binding) .build()); } } ```
      • getProjectServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetProjectServiceAccountResult> getProjectServiceAccountPlain()
        Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts). For each Google Cloud project, Google maintains a unique service account which is used as the identity for various Google Cloud Storage operations, including operations involving [customer-managed encryption keys](https://cloud.google.com/storage/docs/encryption/customer-managed-keys) and those involving [storage notifications to pub/sub](https://cloud.google.com/storage/docs/gsutil/commands/notification). This automatic Google service account requires access to the relevant Cloud KMS keys or pub/sub topics, respectively, in order for Cloud Storage to use these customer-managed resources. The service account has a well-known, documented naming format which is parameterised on the numeric Google project ID. However, as noted in [the docs](https://cloud.google.com/storage/docs/projects#service-accounts), it is only created when certain relevant actions occur which presuppose its existence. These actions include calling a [Cloud Storage API endpoint](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get) to yield the service account's identity, or performing some operations in the UI which must use the service account's identity, such as attempting to list Cloud KMS keys on the bucket creation page. Use of this data source calls the relevant API endpoint to obtain the service account's identity and thus ensures it exists prior to any API operations which demand its existence, such as specifying it in Cloud IAM policy. Always prefer to use this data source over interpolating the project ID into the well-known format for this service account, as the latter approach may cause provider update errors in cases where the service account does not yet exist. > When you write provider code which uses features depending on this service account *and* your provider code adds the service account in IAM policy on other resources, you must take care for race conditions between the establishment of the IAM policy and creation of the relevant Cloud Storage resource. Cloud Storage APIs will require permissions on resources such as pub/sub topics or Cloud KMS keys to exist *before* the attempt to utilise them in a bucket configuration, otherwise the API calls will fail. You may need to use `depends_on` to create an explicit dependency between the IAM policy resource and the Cloud Storage resource which depends on it. See the examples here and in the `gcp.storage.Notification` resource. For more information see [the API reference](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount). ## Example Usage ### Pub/Sub Notifications ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.pubsub.TopicIAMBinding; import com.pulumi.gcp.pubsub.TopicIAMBindingArgs; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new TopicIAMBinding("binding", TopicIAMBindingArgs.builder() .topic(google_pubsub_topic.topic().name()) .role("roles/pubsub.publisher") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); } } ``` ### Cloud KMS Keys ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.kms.CryptoKeyIAMBinding; import com.pulumi.gcp.kms.CryptoKeyIAMBindingArgs; import com.pulumi.gcp.storage.Bucket; import com.pulumi.gcp.storage.BucketArgs; import com.pulumi.gcp.storage.inputs.BucketEncryptionArgs; import com.pulumi.resources.CustomResourceOptions; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new CryptoKeyIAMBinding("binding", CryptoKeyIAMBindingArgs.builder() .cryptoKeyId("your-crypto-key-id") .role("roles/cloudkms.cryptoKeyEncrypterDecrypter") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .location("US") .encryption(BucketEncryptionArgs.builder() .defaultKmsKeyName("your-crypto-key-id") .build()) .build(), CustomResourceOptions.builder() .dependsOn(binding) .build()); } } ```
      • getProjectServiceAccount

        public static com.pulumi.core.Output<GetProjectServiceAccountResult> getProjectServiceAccount​(GetProjectServiceAccountArgs args)
        Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts). For each Google Cloud project, Google maintains a unique service account which is used as the identity for various Google Cloud Storage operations, including operations involving [customer-managed encryption keys](https://cloud.google.com/storage/docs/encryption/customer-managed-keys) and those involving [storage notifications to pub/sub](https://cloud.google.com/storage/docs/gsutil/commands/notification). This automatic Google service account requires access to the relevant Cloud KMS keys or pub/sub topics, respectively, in order for Cloud Storage to use these customer-managed resources. The service account has a well-known, documented naming format which is parameterised on the numeric Google project ID. However, as noted in [the docs](https://cloud.google.com/storage/docs/projects#service-accounts), it is only created when certain relevant actions occur which presuppose its existence. These actions include calling a [Cloud Storage API endpoint](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get) to yield the service account's identity, or performing some operations in the UI which must use the service account's identity, such as attempting to list Cloud KMS keys on the bucket creation page. Use of this data source calls the relevant API endpoint to obtain the service account's identity and thus ensures it exists prior to any API operations which demand its existence, such as specifying it in Cloud IAM policy. Always prefer to use this data source over interpolating the project ID into the well-known format for this service account, as the latter approach may cause provider update errors in cases where the service account does not yet exist. > When you write provider code which uses features depending on this service account *and* your provider code adds the service account in IAM policy on other resources, you must take care for race conditions between the establishment of the IAM policy and creation of the relevant Cloud Storage resource. Cloud Storage APIs will require permissions on resources such as pub/sub topics or Cloud KMS keys to exist *before* the attempt to utilise them in a bucket configuration, otherwise the API calls will fail. You may need to use `depends_on` to create an explicit dependency between the IAM policy resource and the Cloud Storage resource which depends on it. See the examples here and in the `gcp.storage.Notification` resource. For more information see [the API reference](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount). ## Example Usage ### Pub/Sub Notifications ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.pubsub.TopicIAMBinding; import com.pulumi.gcp.pubsub.TopicIAMBindingArgs; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new TopicIAMBinding("binding", TopicIAMBindingArgs.builder() .topic(google_pubsub_topic.topic().name()) .role("roles/pubsub.publisher") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); } } ``` ### Cloud KMS Keys ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.kms.CryptoKeyIAMBinding; import com.pulumi.gcp.kms.CryptoKeyIAMBindingArgs; import com.pulumi.gcp.storage.Bucket; import com.pulumi.gcp.storage.BucketArgs; import com.pulumi.gcp.storage.inputs.BucketEncryptionArgs; import com.pulumi.resources.CustomResourceOptions; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new CryptoKeyIAMBinding("binding", CryptoKeyIAMBindingArgs.builder() .cryptoKeyId("your-crypto-key-id") .role("roles/cloudkms.cryptoKeyEncrypterDecrypter") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .location("US") .encryption(BucketEncryptionArgs.builder() .defaultKmsKeyName("your-crypto-key-id") .build()) .build(), CustomResourceOptions.builder() .dependsOn(binding) .build()); } } ```
      • getProjectServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetProjectServiceAccountResult> getProjectServiceAccountPlain​(GetProjectServiceAccountPlainArgs args)
        Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts). For each Google Cloud project, Google maintains a unique service account which is used as the identity for various Google Cloud Storage operations, including operations involving [customer-managed encryption keys](https://cloud.google.com/storage/docs/encryption/customer-managed-keys) and those involving [storage notifications to pub/sub](https://cloud.google.com/storage/docs/gsutil/commands/notification). This automatic Google service account requires access to the relevant Cloud KMS keys or pub/sub topics, respectively, in order for Cloud Storage to use these customer-managed resources. The service account has a well-known, documented naming format which is parameterised on the numeric Google project ID. However, as noted in [the docs](https://cloud.google.com/storage/docs/projects#service-accounts), it is only created when certain relevant actions occur which presuppose its existence. These actions include calling a [Cloud Storage API endpoint](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get) to yield the service account's identity, or performing some operations in the UI which must use the service account's identity, such as attempting to list Cloud KMS keys on the bucket creation page. Use of this data source calls the relevant API endpoint to obtain the service account's identity and thus ensures it exists prior to any API operations which demand its existence, such as specifying it in Cloud IAM policy. Always prefer to use this data source over interpolating the project ID into the well-known format for this service account, as the latter approach may cause provider update errors in cases where the service account does not yet exist. > When you write provider code which uses features depending on this service account *and* your provider code adds the service account in IAM policy on other resources, you must take care for race conditions between the establishment of the IAM policy and creation of the relevant Cloud Storage resource. Cloud Storage APIs will require permissions on resources such as pub/sub topics or Cloud KMS keys to exist *before* the attempt to utilise them in a bucket configuration, otherwise the API calls will fail. You may need to use `depends_on` to create an explicit dependency between the IAM policy resource and the Cloud Storage resource which depends on it. See the examples here and in the `gcp.storage.Notification` resource. For more information see [the API reference](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount). ## Example Usage ### Pub/Sub Notifications ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.pubsub.TopicIAMBinding; import com.pulumi.gcp.pubsub.TopicIAMBindingArgs; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new TopicIAMBinding("binding", TopicIAMBindingArgs.builder() .topic(google_pubsub_topic.topic().name()) .role("roles/pubsub.publisher") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); } } ``` ### Cloud KMS Keys ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.kms.CryptoKeyIAMBinding; import com.pulumi.gcp.kms.CryptoKeyIAMBindingArgs; import com.pulumi.gcp.storage.Bucket; import com.pulumi.gcp.storage.BucketArgs; import com.pulumi.gcp.storage.inputs.BucketEncryptionArgs; import com.pulumi.resources.CustomResourceOptions; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new CryptoKeyIAMBinding("binding", CryptoKeyIAMBindingArgs.builder() .cryptoKeyId("your-crypto-key-id") .role("roles/cloudkms.cryptoKeyEncrypterDecrypter") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .location("US") .encryption(BucketEncryptionArgs.builder() .defaultKmsKeyName("your-crypto-key-id") .build()) .build(), CustomResourceOptions.builder() .dependsOn(binding) .build()); } } ```
      • getProjectServiceAccount

        public static com.pulumi.core.Output<GetProjectServiceAccountResult> getProjectServiceAccount​(GetProjectServiceAccountArgs args,
                                                                                                      com.pulumi.deployment.InvokeOptions options)
        Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts). For each Google Cloud project, Google maintains a unique service account which is used as the identity for various Google Cloud Storage operations, including operations involving [customer-managed encryption keys](https://cloud.google.com/storage/docs/encryption/customer-managed-keys) and those involving [storage notifications to pub/sub](https://cloud.google.com/storage/docs/gsutil/commands/notification). This automatic Google service account requires access to the relevant Cloud KMS keys or pub/sub topics, respectively, in order for Cloud Storage to use these customer-managed resources. The service account has a well-known, documented naming format which is parameterised on the numeric Google project ID. However, as noted in [the docs](https://cloud.google.com/storage/docs/projects#service-accounts), it is only created when certain relevant actions occur which presuppose its existence. These actions include calling a [Cloud Storage API endpoint](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get) to yield the service account's identity, or performing some operations in the UI which must use the service account's identity, such as attempting to list Cloud KMS keys on the bucket creation page. Use of this data source calls the relevant API endpoint to obtain the service account's identity and thus ensures it exists prior to any API operations which demand its existence, such as specifying it in Cloud IAM policy. Always prefer to use this data source over interpolating the project ID into the well-known format for this service account, as the latter approach may cause provider update errors in cases where the service account does not yet exist. > When you write provider code which uses features depending on this service account *and* your provider code adds the service account in IAM policy on other resources, you must take care for race conditions between the establishment of the IAM policy and creation of the relevant Cloud Storage resource. Cloud Storage APIs will require permissions on resources such as pub/sub topics or Cloud KMS keys to exist *before* the attempt to utilise them in a bucket configuration, otherwise the API calls will fail. You may need to use `depends_on` to create an explicit dependency between the IAM policy resource and the Cloud Storage resource which depends on it. See the examples here and in the `gcp.storage.Notification` resource. For more information see [the API reference](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount). ## Example Usage ### Pub/Sub Notifications ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.pubsub.TopicIAMBinding; import com.pulumi.gcp.pubsub.TopicIAMBindingArgs; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new TopicIAMBinding("binding", TopicIAMBindingArgs.builder() .topic(google_pubsub_topic.topic().name()) .role("roles/pubsub.publisher") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); } } ``` ### Cloud KMS Keys ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.kms.CryptoKeyIAMBinding; import com.pulumi.gcp.kms.CryptoKeyIAMBindingArgs; import com.pulumi.gcp.storage.Bucket; import com.pulumi.gcp.storage.BucketArgs; import com.pulumi.gcp.storage.inputs.BucketEncryptionArgs; import com.pulumi.resources.CustomResourceOptions; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new CryptoKeyIAMBinding("binding", CryptoKeyIAMBindingArgs.builder() .cryptoKeyId("your-crypto-key-id") .role("roles/cloudkms.cryptoKeyEncrypterDecrypter") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .location("US") .encryption(BucketEncryptionArgs.builder() .defaultKmsKeyName("your-crypto-key-id") .build()) .build(), CustomResourceOptions.builder() .dependsOn(binding) .build()); } } ```
      • getProjectServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetProjectServiceAccountResult> getProjectServiceAccountPlain​(GetProjectServiceAccountPlainArgs args,
                                                                                                                           com.pulumi.deployment.InvokeOptions options)
        Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts). For each Google Cloud project, Google maintains a unique service account which is used as the identity for various Google Cloud Storage operations, including operations involving [customer-managed encryption keys](https://cloud.google.com/storage/docs/encryption/customer-managed-keys) and those involving [storage notifications to pub/sub](https://cloud.google.com/storage/docs/gsutil/commands/notification). This automatic Google service account requires access to the relevant Cloud KMS keys or pub/sub topics, respectively, in order for Cloud Storage to use these customer-managed resources. The service account has a well-known, documented naming format which is parameterised on the numeric Google project ID. However, as noted in [the docs](https://cloud.google.com/storage/docs/projects#service-accounts), it is only created when certain relevant actions occur which presuppose its existence. These actions include calling a [Cloud Storage API endpoint](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get) to yield the service account's identity, or performing some operations in the UI which must use the service account's identity, such as attempting to list Cloud KMS keys on the bucket creation page. Use of this data source calls the relevant API endpoint to obtain the service account's identity and thus ensures it exists prior to any API operations which demand its existence, such as specifying it in Cloud IAM policy. Always prefer to use this data source over interpolating the project ID into the well-known format for this service account, as the latter approach may cause provider update errors in cases where the service account does not yet exist. > When you write provider code which uses features depending on this service account *and* your provider code adds the service account in IAM policy on other resources, you must take care for race conditions between the establishment of the IAM policy and creation of the relevant Cloud Storage resource. Cloud Storage APIs will require permissions on resources such as pub/sub topics or Cloud KMS keys to exist *before* the attempt to utilise them in a bucket configuration, otherwise the API calls will fail. You may need to use `depends_on` to create an explicit dependency between the IAM policy resource and the Cloud Storage resource which depends on it. See the examples here and in the `gcp.storage.Notification` resource. For more information see [the API reference](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount). ## Example Usage ### Pub/Sub Notifications ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.pubsub.TopicIAMBinding; import com.pulumi.gcp.pubsub.TopicIAMBindingArgs; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new TopicIAMBinding("binding", TopicIAMBindingArgs.builder() .topic(google_pubsub_topic.topic().name()) .role("roles/pubsub.publisher") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); } } ``` ### Cloud KMS Keys ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetProjectServiceAccountArgs; import com.pulumi.gcp.kms.CryptoKeyIAMBinding; import com.pulumi.gcp.kms.CryptoKeyIAMBindingArgs; import com.pulumi.gcp.storage.Bucket; import com.pulumi.gcp.storage.BucketArgs; import com.pulumi.gcp.storage.inputs.BucketEncryptionArgs; import com.pulumi.resources.CustomResourceOptions; 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) { final var gcsAccount = StorageFunctions.getProjectServiceAccount(); var binding = new CryptoKeyIAMBinding("binding", CryptoKeyIAMBindingArgs.builder() .cryptoKeyId("your-crypto-key-id") .role("roles/cloudkms.cryptoKeyEncrypterDecrypter") .members(String.format("serviceAccount:%s", gcsAccount.applyValue(getProjectServiceAccountResult -> getProjectServiceAccountResult.emailAddress()))) .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .location("US") .encryption(BucketEncryptionArgs.builder() .defaultKmsKeyName("your-crypto-key-id") .build()) .build(), CustomResourceOptions.builder() .dependsOn(binding) .build()); } } ```
      • getTransferProjectServiceAccount

        public static com.pulumi.core.Output<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccount()
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccountPlain()
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServiceAccount

        public static com.pulumi.core.Output<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccount​(GetTransferProjectServiceAccountArgs args)
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccountPlain​(GetTransferProjectServiceAccountPlainArgs args)
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServiceAccount

        public static com.pulumi.core.Output<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccount​(GetTransferProjectServiceAccountArgs args,
                                                                                                                      com.pulumi.deployment.InvokeOptions options)
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServiceAccountPlain

        public static java.util.concurrent.CompletableFuture<GetTransferProjectServiceAccountResult> getTransferProjectServiceAccountPlain​(GetTransferProjectServiceAccountPlainArgs args,
                                                                                                                                           com.pulumi.deployment.InvokeOptions options)
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServieAccount

        @Deprecated
        public static com.pulumi.core.Output<GetTransferProjectServieAccountResult> getTransferProjectServieAccount()
        Deprecated.
        gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServieAccountPlain

        @Deprecated
        public static java.util.concurrent.CompletableFuture<GetTransferProjectServieAccountResult> getTransferProjectServieAccountPlain()
        Deprecated.
        gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServieAccount

        @Deprecated
        public static com.pulumi.core.Output<GetTransferProjectServieAccountResult> getTransferProjectServieAccount​(GetTransferProjectServieAccountArgs args)
        Deprecated.
        gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServieAccountPlain

        @Deprecated
        public static java.util.concurrent.CompletableFuture<GetTransferProjectServieAccountResult> getTransferProjectServieAccountPlain​(GetTransferProjectServieAccountPlainArgs args)
        Deprecated.
        gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServieAccount

        @Deprecated
        public static com.pulumi.core.Output<GetTransferProjectServieAccountResult> getTransferProjectServieAccount​(GetTransferProjectServieAccountArgs args,
                                                                                                                    com.pulumi.deployment.InvokeOptions options)
        Deprecated.
        gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```
      • getTransferProjectServieAccountPlain

        @Deprecated
        public static java.util.concurrent.CompletableFuture<GetTransferProjectServieAccountResult> getTransferProjectServieAccountPlain​(GetTransferProjectServieAccountPlainArgs args,
                                                                                                                                         com.pulumi.deployment.InvokeOptions options)
        Deprecated.
        gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount
        Use this data source to retrieve Storage Transfer service account for this project ## Example Usage ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.storage.StorageFunctions; import com.pulumi.gcp.storage.inputs.GetTransferProjectServiceAccountArgs; 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) { final var default = StorageFunctions.getTransferProjectServiceAccount(); ctx.export("defaultAccount", default_.email()); } } ```