package IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaProps;
  use Moose;
  use IO::K8s;

  has '$ref' => (is => 'ro', isa => 'Str'  );
  has '$schema' => (is => 'ro', isa => 'Str'  );
  has 'additionalItems' => (is => 'ro', isa => 'IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaPropsOrBool'  );
  has 'additionalProperties' => (is => 'ro', isa => 'IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaPropsOrBool'  );
  has 'allOf' => (is => 'ro', isa => 'ArrayRef[IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaProps]'  );
  has 'anyOf' => (is => 'ro', isa => 'ArrayRef[IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaProps]'  );
  has 'default' => (is => 'ro', isa => 'IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSON'  );
  has 'definitions' => (is => 'ro', isa => ''  );
  has 'dependencies' => (is => 'ro', isa => ''  );
  has 'description' => (is => 'ro', isa => 'Str'  );
  has 'enum' => (is => 'ro', isa => 'ArrayRef[IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSON]'  );
  has 'example' => (is => 'ro', isa => 'IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSON'  );
  has 'exclusiveMaximum' => (is => 'ro', isa => 'Bool'  );
  has 'exclusiveMinimum' => (is => 'ro', isa => 'Bool'  );
  has 'externalDocs' => (is => 'ro', isa => 'IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::ExternalDocumentation'  );
  has 'format' => (is => 'ro', isa => 'Str'  );
  has 'id' => (is => 'ro', isa => 'Str'  );
  has 'items' => (is => 'ro', isa => 'IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaPropsOrArray'  );
  has 'maximum' => (is => 'ro', isa => 'Num'  );
  has 'maxItems' => (is => 'ro', isa => 'Int'  );
  has 'maxLength' => (is => 'ro', isa => 'Int'  );
  has 'maxProperties' => (is => 'ro', isa => 'Int'  );
  has 'minimum' => (is => 'ro', isa => 'Num'  );
  has 'minItems' => (is => 'ro', isa => 'Int'  );
  has 'minLength' => (is => 'ro', isa => 'Int'  );
  has 'minProperties' => (is => 'ro', isa => 'Int'  );
  has 'multipleOf' => (is => 'ro', isa => 'Num'  );
  has 'not' => (is => 'ro', isa => 'IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaProps'  );
  has 'oneOf' => (is => 'ro', isa => 'ArrayRef[IO::K8s::ApiExtensionsApiServer::Pkg::Apis::Apiextensions::V1beta1::JSONSchemaProps]'  );
  has 'pattern' => (is => 'ro', isa => 'Str'  );
  has 'patternProperties' => (is => 'ro', isa => ''  );
  has 'properties' => (is => 'ro', isa => ''  );
  has 'required' => (is => 'ro', isa => 'ArrayRef[Str]'  );
  has 'title' => (is => 'ro', isa => 'Str'  );
  has 'type' => (is => 'ro', isa => 'Str'  );
  has 'uniqueItems' => (is => 'ro', isa => 'Bool'  );

  sub to_json { IO::K8s->new->object_to_json(shift) }
1;
