{
  "apiVersion": "apiextensions.k8s.io/v1",
  "kind": "CustomResourceDefinition",
  "metadata": {
    "name": "networks.cloud.pingcap.com",
    "labels": {}
  },
  "spec": {
    "conversion": {
      "strategy": "None"
    },
    "group": "cloud.pingcap.com",
    "names": {
      "categories": [
        "infra-api"
      ],
      "kind": "Network",
      "listKind": "NetworkList",
      "plural": "networks",
      "singular": "network"
    },
    "scope": "Namespaced",
    "versions": [
      {
        "additionalPrinterColumns": [
          {
            "jsonPath": ".status.phase",
            "name": "PHASE",
            "type": "string"
          },
          {
            "jsonPath": ".status.fromProvider.shootName",
            "name": "SHOOT",
            "type": "string"
          },
          {
            "jsonPath": ".status.fromProvider.bucketName",
            "name": "BUCKET",
            "type": "string"
          },
          {
            "jsonPath": ".spec.provider",
            "name": "PROVIDER",
            "type": "string"
          },
          {
            "jsonPath": ".spec.accountRef.name",
            "name": "ACCOUNT",
            "type": "string"
          },
          {
            "jsonPath": ".metadata.creationTimestamp",
            "name": "AGE",
            "type": "date"
          }
        ],
        "name": "v1",
        "schema": {
          "openAPIV3Schema": {
            "description": "Network is the Schema for the networks API",
            "properties": {
              "apiVersion": {
                "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                "type": "string"
              },
              "kind": {
                "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                "type": "string"
              },
              "metadata": {
                "type": "object"
              },
              "spec": {
                "description": "NetworkSpec defines the desired state of Network",
                "properties": {
                  "accountRef": {
                    "description": "AccountReference is a reference to an Account CR.\nIt can be extended to use other types of references, like label selector.",
                    "properties": {
                      "name": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "cidr": {
                    "type": "string"
                  },
                  "forProvider": {
                    "description": "ForProvider encodes the provider specific spec",
                    "nullable": true,
                    "type": "object",
                    "x-kubernetes-embedded-resource": true,
                    "x-kubernetes-preserve-unknown-fields": true
                  },
                  "paused": {
                    "description": "Paused indicates whether to stop the reconciliation loop for Network",
                    "type": "boolean"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "region": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "status": {
                "description": "NetworkStatus defines the observed state of Network",
                "properties": {
                  "coredns": {
                    "properties": {
                      "ingressIps": {
                        "type": "string"
                      },
                      "loadbalanceDns": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "externalIPs": {
                    "description": "the outbound IP addresses for the VPC network, such as NAT-ips",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "fromProvider": {
                    "description": "FromProvider encodes the provider specific status",
                    "nullable": true,
                    "type": "object",
                    "x-kubernetes-embedded-resource": true,
                    "x-kubernetes-preserve-unknown-fields": true
                  },
                  "iam": {
                    "properties": {
                      "accountID": {
                        "type": "string"
                      },
                      "externalId": {
                        "type": "string"
                      },
                      "serviceAccountEmail": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "import": {
                    "properties": {
                      "roleARN": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "peering": {
                    "properties": {
                      "allowed": {
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "phase": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "served": true,
        "storage": true,
        "subresources": {
          "status": {}
        }
      }
    ]
  }
}
