// Module included in the following assemblies:
//
// * operators/operator_sdk/java/osdk-java-tutorial.adoc

:_mod-docs-content-type: PROCEDURE
[id="osdk-java-generate-crd_{context}"]
= Generating CRD manifests

After the API is defined with `MemcachedSpec` and `MemcachedStatus` files, you can generate CRD manifests.

.Procedure

* Run the following command from the `memcached-operator` directory to generate the CRD:
+
[source,terminal]
----
$ mvn clean install
----

.Verification

* Verify the contents of the CRD in the `target/kubernetes/memcacheds.cache.example.com-v1.yml` file as shown in the following example:
+
[source,terminal]
----
$ cat target/kubernetes/memcacheds.cache.example.com-v1.yaml
----
+
.Example output
[source,yaml]
----
# Generated by Fabric8 CRDGenerator, manual edits might get overwritten!
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: memcacheds.cache.example.com
spec:
  group: cache.example.com
  names:
    kind: Memcached
    plural: memcacheds
    singular: memcached
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        properties:
          spec:
            properties:
              size:
                type: integer
            type: object
          status:
            properties:
              nodes:
                items:
                  type: string
                type: array
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
----