type awsEfs implements awsBaseService @key(fields: "arn") {
  ownerId: String @search(by: [hash])
  creationToken: String @search(by: [hash])
  fileSystemId: String @search(by: [hash])
  creationTime: String @search(by: [hash, regexp])
  lifeCycleState: String @search(by: [hash, regexp])
  name: String @search(by: [hash, regexp])
  numberOfMountTargets: Int @search
  sizeInBytes: awsEfsFileSystemSize
  performanceMode: String @search(by: [hash, regexp])
  encrypted: Boolean @search
  throughputMode: String @search(by: [hash, regexp])
  provisionedThroughputInMibps: Int @search
  availabilityZoneName: String @search(by: [hash, regexp])
  availabilityZoneId: String @search(by: [hash])
  tags: [awsRawTag]
  efsMountTarget: [awsEfsMountTarget] @hasInverse(field: efs) #change to plural
  kms: [awsKms] @hasInverse(field: efs)
}

type awsEfsFileSystemSize
  @generate(
    query: { get: false, query: false, aggregate: false }
    mutation: { add: false, delete: false }
    subscription: false
  ) {
  value: Int64 @search
  timestamp: String @search(by: [hash, regexp])
  valueInIA: Int64 @search
  valueInStandard: Int64 @search
}
