public static void main(String[] args) {
        Pulumi.run(ctx -> {
            var issuer1 = new CustomResource("issuer1", CustomResourceArgs.builder()
                    .apiVersion("cert-manager.io/v1")
                    .kind("Issuer")
                    .metadata(ObjectMetaArgs.builder().build())
                    .build());
            ctx.export("issuer1_name", issuer1.metadata().applyValue(s -> s.name()));

            var issuer2 = new Issuer("issuer2", IssuerArgs.builder()
                    .metadata(ObjectMetaArgs.builder().build())
                    .spec(Inputs.IssuerSpecArgs.builder()
                            .selfSigned(Inputs.SelfSignedArgs.builder().build())
                            .build())
                    .build());

            ctx.export("issuer2_name", issuer2.metadata().applyValue(s -> s.name()));
            ctx.export("issuer2_selfsigned", issuer2.spec().applyValue(s -> s.selfSigned().isPresent()));
        });
    }
Demonstration of working with custom resources in the Java SDK.
Prerequisites:
- cert-manager v1.x installed in your Kubernetes cluster.

This example deploys a cert-manager.io/v1 Issuer to your Kubernetes cluster.
Two different ways of defining the Issuer are demonstrated:
- Using the CustomResource class directly.
- Using a custom Issuer class that extends CustomResource, to provide a
type-safe API.
examples/java/customresource/src/main/java/myproject/App.java