FUSIONTABLES

fusiontables.column.delete

valid {
    input.ReqMap.columnId == STRING
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.column.get

valid {
    input.ReqMap.columnId == STRING
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.column.insert

valid {
    input.Body.baseColumn.columnId == INTEGER
    input.Body.baseColumn.tableIndex == INTEGER
    input.Body.columnId == INTEGER
    input.Body.columnJsonSchema == STRING
    input.Body.columnPropertiesJson == STRING
    input.Body.description == STRING
    input.Body.formatPattern == STRING
    input.Body.graphPredicate == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.Body.validValues[_] == STRING
    input.Body.validateData == BOOLEAN
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.column.list

valid {
    input.ReqMap.tableId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.column.patch

valid {
    input.Body.baseColumn.columnId == INTEGER
    input.Body.baseColumn.tableIndex == INTEGER
    input.Body.columnId == INTEGER
    input.Body.columnJsonSchema == STRING
    input.Body.columnPropertiesJson == STRING
    input.Body.description == STRING
    input.Body.formatPattern == STRING
    input.Body.graphPredicate == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.Body.validValues[_] == STRING
    input.Body.validateData == BOOLEAN
    input.ReqMap.columnId == STRING
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.column.update

valid {
    input.Body.baseColumn.columnId == INTEGER
    input.Body.baseColumn.tableIndex == INTEGER
    input.Body.columnId == INTEGER
    input.Body.columnJsonSchema == STRING
    input.Body.columnPropertiesJson == STRING
    input.Body.description == STRING
    input.Body.formatPattern == STRING
    input.Body.graphPredicate == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.Body.validValues[_] == STRING
    input.Body.validateData == BOOLEAN
    input.ReqMap.columnId == STRING
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.query.sql

valid {
    input.Qs.hdrs == BOOLEAN
    input.Qs.sql == STRING
    input.Qs.typed == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

fusiontables.query.sqlGet

valid {
    input.Qs.hdrs == BOOLEAN
    input.Qs.sql == STRING
    input.Qs.typed == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

fusiontables.style.delete

valid {
    input.ReqMap.styleId == INTEGER
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.style.get

valid {
    input.ReqMap.styleId == INTEGER
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.style.insert

valid {
    input.Body.kind == STRING
    input.Body.markerOptions.iconName == STRING
    input.Body.markerOptions.iconStyler.buckets[_].color == STRING
    input.Body.markerOptions.iconStyler.buckets[_].icon == STRING
    input.Body.markerOptions.iconStyler.buckets[_].max == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].min == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].opacity == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].weight == INTEGER
    input.Body.markerOptions.iconStyler.columnName == STRING
    input.Body.markerOptions.iconStyler.gradient.colors[_].color == STRING
    input.Body.markerOptions.iconStyler.gradient.colors[_].opacity == NUMBER
    input.Body.markerOptions.iconStyler.gradient.max == NUMBER
    input.Body.markerOptions.iconStyler.gradient.min == NUMBER
    input.Body.markerOptions.iconStyler.kind == STRING
    input.Body.name == STRING
    input.Body.polygonOptions.fillColor == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].color == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.fillColorStyler.columnName == STRING
    input.Body.polygonOptions.fillColorStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.fillColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.fillColorStyler.gradient.max == NUMBER
    input.Body.polygonOptions.fillColorStyler.gradient.min == NUMBER
    input.Body.polygonOptions.fillColorStyler.kind == STRING
    input.Body.polygonOptions.fillOpacity == NUMBER
    input.Body.polygonOptions.strokeColor == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].color == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.strokeColorStyler.columnName == STRING
    input.Body.polygonOptions.strokeColorStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.strokeColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.strokeColorStyler.gradient.max == NUMBER
    input.Body.polygonOptions.strokeColorStyler.gradient.min == NUMBER
    input.Body.polygonOptions.strokeColorStyler.kind == STRING
    input.Body.polygonOptions.strokeOpacity == NUMBER
    input.Body.polygonOptions.strokeWeight == INTEGER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].color == STRING
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.strokeWeightStyler.columnName == STRING
    input.Body.polygonOptions.strokeWeightStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.strokeWeightStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.gradient.max == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.gradient.min == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.kind == STRING
    input.Body.polylineOptions.strokeColor == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].color == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].icon == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].max == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].min == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].opacity == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].weight == INTEGER
    input.Body.polylineOptions.strokeColorStyler.columnName == STRING
    input.Body.polylineOptions.strokeColorStyler.gradient.colors[_].color == STRING
    input.Body.polylineOptions.strokeColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polylineOptions.strokeColorStyler.gradient.max == NUMBER
    input.Body.polylineOptions.strokeColorStyler.gradient.min == NUMBER
    input.Body.polylineOptions.strokeColorStyler.kind == STRING
    input.Body.polylineOptions.strokeOpacity == NUMBER
    input.Body.polylineOptions.strokeWeight == INTEGER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].color == STRING
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].icon == STRING
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].max == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].min == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].opacity == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].weight == INTEGER
    input.Body.polylineOptions.strokeWeightStyler.columnName == STRING
    input.Body.polylineOptions.strokeWeightStyler.gradient.colors[_].color == STRING
    input.Body.polylineOptions.strokeWeightStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.gradient.max == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.gradient.min == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.kind == STRING
    input.Body.styleId == INTEGER
    input.Body.tableId == STRING
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.style.list

valid {
    input.ReqMap.tableId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.style.patch

valid {
    input.Body.kind == STRING
    input.Body.markerOptions.iconName == STRING
    input.Body.markerOptions.iconStyler.buckets[_].color == STRING
    input.Body.markerOptions.iconStyler.buckets[_].icon == STRING
    input.Body.markerOptions.iconStyler.buckets[_].max == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].min == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].opacity == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].weight == INTEGER
    input.Body.markerOptions.iconStyler.columnName == STRING
    input.Body.markerOptions.iconStyler.gradient.colors[_].color == STRING
    input.Body.markerOptions.iconStyler.gradient.colors[_].opacity == NUMBER
    input.Body.markerOptions.iconStyler.gradient.max == NUMBER
    input.Body.markerOptions.iconStyler.gradient.min == NUMBER
    input.Body.markerOptions.iconStyler.kind == STRING
    input.Body.name == STRING
    input.Body.polygonOptions.fillColor == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].color == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.fillColorStyler.columnName == STRING
    input.Body.polygonOptions.fillColorStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.fillColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.fillColorStyler.gradient.max == NUMBER
    input.Body.polygonOptions.fillColorStyler.gradient.min == NUMBER
    input.Body.polygonOptions.fillColorStyler.kind == STRING
    input.Body.polygonOptions.fillOpacity == NUMBER
    input.Body.polygonOptions.strokeColor == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].color == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.strokeColorStyler.columnName == STRING
    input.Body.polygonOptions.strokeColorStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.strokeColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.strokeColorStyler.gradient.max == NUMBER
    input.Body.polygonOptions.strokeColorStyler.gradient.min == NUMBER
    input.Body.polygonOptions.strokeColorStyler.kind == STRING
    input.Body.polygonOptions.strokeOpacity == NUMBER
    input.Body.polygonOptions.strokeWeight == INTEGER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].color == STRING
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.strokeWeightStyler.columnName == STRING
    input.Body.polygonOptions.strokeWeightStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.strokeWeightStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.gradient.max == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.gradient.min == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.kind == STRING
    input.Body.polylineOptions.strokeColor == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].color == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].icon == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].max == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].min == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].opacity == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].weight == INTEGER
    input.Body.polylineOptions.strokeColorStyler.columnName == STRING
    input.Body.polylineOptions.strokeColorStyler.gradient.colors[_].color == STRING
    input.Body.polylineOptions.strokeColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polylineOptions.strokeColorStyler.gradient.max == NUMBER
    input.Body.polylineOptions.strokeColorStyler.gradient.min == NUMBER
    input.Body.polylineOptions.strokeColorStyler.kind == STRING
    input.Body.polylineOptions.strokeOpacity == NUMBER
    input.Body.polylineOptions.strokeWeight == INTEGER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].color == STRING
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].icon == STRING
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].max == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].min == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].opacity == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].weight == INTEGER
    input.Body.polylineOptions.strokeWeightStyler.columnName == STRING
    input.Body.polylineOptions.strokeWeightStyler.gradient.colors[_].color == STRING
    input.Body.polylineOptions.strokeWeightStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.gradient.max == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.gradient.min == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.kind == STRING
    input.Body.styleId == INTEGER
    input.Body.tableId == STRING
    input.ReqMap.styleId == INTEGER
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.style.update

valid {
    input.Body.kind == STRING
    input.Body.markerOptions.iconName == STRING
    input.Body.markerOptions.iconStyler.buckets[_].color == STRING
    input.Body.markerOptions.iconStyler.buckets[_].icon == STRING
    input.Body.markerOptions.iconStyler.buckets[_].max == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].min == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].opacity == NUMBER
    input.Body.markerOptions.iconStyler.buckets[_].weight == INTEGER
    input.Body.markerOptions.iconStyler.columnName == STRING
    input.Body.markerOptions.iconStyler.gradient.colors[_].color == STRING
    input.Body.markerOptions.iconStyler.gradient.colors[_].opacity == NUMBER
    input.Body.markerOptions.iconStyler.gradient.max == NUMBER
    input.Body.markerOptions.iconStyler.gradient.min == NUMBER
    input.Body.markerOptions.iconStyler.kind == STRING
    input.Body.name == STRING
    input.Body.polygonOptions.fillColor == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].color == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.fillColorStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.fillColorStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.fillColorStyler.columnName == STRING
    input.Body.polygonOptions.fillColorStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.fillColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.fillColorStyler.gradient.max == NUMBER
    input.Body.polygonOptions.fillColorStyler.gradient.min == NUMBER
    input.Body.polygonOptions.fillColorStyler.kind == STRING
    input.Body.polygonOptions.fillOpacity == NUMBER
    input.Body.polygonOptions.strokeColor == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].color == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.strokeColorStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.strokeColorStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.strokeColorStyler.columnName == STRING
    input.Body.polygonOptions.strokeColorStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.strokeColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.strokeColorStyler.gradient.max == NUMBER
    input.Body.polygonOptions.strokeColorStyler.gradient.min == NUMBER
    input.Body.polygonOptions.strokeColorStyler.kind == STRING
    input.Body.polygonOptions.strokeOpacity == NUMBER
    input.Body.polygonOptions.strokeWeight == INTEGER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].color == STRING
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].icon == STRING
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].max == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].min == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].opacity == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.buckets[_].weight == INTEGER
    input.Body.polygonOptions.strokeWeightStyler.columnName == STRING
    input.Body.polygonOptions.strokeWeightStyler.gradient.colors[_].color == STRING
    input.Body.polygonOptions.strokeWeightStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.gradient.max == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.gradient.min == NUMBER
    input.Body.polygonOptions.strokeWeightStyler.kind == STRING
    input.Body.polylineOptions.strokeColor == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].color == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].icon == STRING
    input.Body.polylineOptions.strokeColorStyler.buckets[_].max == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].min == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].opacity == NUMBER
    input.Body.polylineOptions.strokeColorStyler.buckets[_].weight == INTEGER
    input.Body.polylineOptions.strokeColorStyler.columnName == STRING
    input.Body.polylineOptions.strokeColorStyler.gradient.colors[_].color == STRING
    input.Body.polylineOptions.strokeColorStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polylineOptions.strokeColorStyler.gradient.max == NUMBER
    input.Body.polylineOptions.strokeColorStyler.gradient.min == NUMBER
    input.Body.polylineOptions.strokeColorStyler.kind == STRING
    input.Body.polylineOptions.strokeOpacity == NUMBER
    input.Body.polylineOptions.strokeWeight == INTEGER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].color == STRING
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].icon == STRING
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].max == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].min == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].opacity == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.buckets[_].weight == INTEGER
    input.Body.polylineOptions.strokeWeightStyler.columnName == STRING
    input.Body.polylineOptions.strokeWeightStyler.gradient.colors[_].color == STRING
    input.Body.polylineOptions.strokeWeightStyler.gradient.colors[_].opacity == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.gradient.max == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.gradient.min == NUMBER
    input.Body.polylineOptions.strokeWeightStyler.kind == STRING
    input.Body.styleId == INTEGER
    input.Body.tableId == STRING
    input.ReqMap.styleId == INTEGER
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.copy

valid {
    input.ReqMap.tableId == STRING
    input.Qs.copyPresentation == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.delete

valid {
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.get

valid {
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.importRows

valid {
    input.ReqMap.tableId == STRING
    input.Qs.delimiter == STRING
    input.Qs.encoding == STRING
    input.Qs.endLine == INTEGER
    input.Qs.isStrict == BOOLEAN
    input.Qs.startLine == INTEGER
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.importTable

valid {
    input.Qs.delimiter == STRING
    input.Qs.encoding == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.insert

valid {
    input.Body.attribution == STRING
    input.Body.attributionLink == STRING
    input.Body.baseTableIds[_] == STRING
    input.Body.columnPropertiesJsonSchema == STRING
    input.Body.columns[_].baseColumn.columnId == INTEGER
    input.Body.columns[_].baseColumn.tableIndex == INTEGER
    input.Body.columns[_].columnId == INTEGER
    input.Body.columns[_].columnJsonSchema == STRING
    input.Body.columns[_].columnPropertiesJson == STRING
    input.Body.columns[_].description == STRING
    input.Body.columns[_].formatPattern == STRING
    input.Body.columns[_].graphPredicate == STRING
    input.Body.columns[_].kind == STRING
    input.Body.columns[_].name == STRING
    input.Body.columns[_].type == STRING
    input.Body.columns[_].validValues[_] == STRING
    input.Body.columns[_].validateData == BOOLEAN
    input.Body.description == STRING
    input.Body.isExportable == BOOLEAN
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.sql == STRING
    input.Body.tableId == STRING
    input.Body.tablePropertiesJson == STRING
    input.Body.tablePropertiesJsonSchema == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.list

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.patch

valid {
    input.Body.attribution == STRING
    input.Body.attributionLink == STRING
    input.Body.baseTableIds[_] == STRING
    input.Body.columnPropertiesJsonSchema == STRING
    input.Body.columns[_].baseColumn.columnId == INTEGER
    input.Body.columns[_].baseColumn.tableIndex == INTEGER
    input.Body.columns[_].columnId == INTEGER
    input.Body.columns[_].columnJsonSchema == STRING
    input.Body.columns[_].columnPropertiesJson == STRING
    input.Body.columns[_].description == STRING
    input.Body.columns[_].formatPattern == STRING
    input.Body.columns[_].graphPredicate == STRING
    input.Body.columns[_].kind == STRING
    input.Body.columns[_].name == STRING
    input.Body.columns[_].type == STRING
    input.Body.columns[_].validValues[_] == STRING
    input.Body.columns[_].validateData == BOOLEAN
    input.Body.description == STRING
    input.Body.isExportable == BOOLEAN
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.sql == STRING
    input.Body.tableId == STRING
    input.Body.tablePropertiesJson == STRING
    input.Body.tablePropertiesJsonSchema == STRING
    input.ReqMap.tableId == STRING
    input.Qs.replaceViewDefinition == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.refetchSheet

valid {
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.replaceRows

valid {
    input.ReqMap.tableId == STRING
    input.Qs.delimiter == STRING
    input.Qs.encoding == STRING
    input.Qs.endLine == INTEGER
    input.Qs.isStrict == BOOLEAN
    input.Qs.startLine == INTEGER
    input.ProviderMetadata.Region == STRING
}

fusiontables.table.update

valid {
    input.Body.attribution == STRING
    input.Body.attributionLink == STRING
    input.Body.baseTableIds[_] == STRING
    input.Body.columnPropertiesJsonSchema == STRING
    input.Body.columns[_].baseColumn.columnId == INTEGER
    input.Body.columns[_].baseColumn.tableIndex == INTEGER
    input.Body.columns[_].columnId == INTEGER
    input.Body.columns[_].columnJsonSchema == STRING
    input.Body.columns[_].columnPropertiesJson == STRING
    input.Body.columns[_].description == STRING
    input.Body.columns[_].formatPattern == STRING
    input.Body.columns[_].graphPredicate == STRING
    input.Body.columns[_].kind == STRING
    input.Body.columns[_].name == STRING
    input.Body.columns[_].type == STRING
    input.Body.columns[_].validValues[_] == STRING
    input.Body.columns[_].validateData == BOOLEAN
    input.Body.description == STRING
    input.Body.isExportable == BOOLEAN
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.sql == STRING
    input.Body.tableId == STRING
    input.Body.tablePropertiesJson == STRING
    input.Body.tablePropertiesJsonSchema == STRING
    input.ReqMap.tableId == STRING
    input.Qs.replaceViewDefinition == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

fusiontables.task.delete

valid {
    input.ReqMap.tableId == STRING
    input.ReqMap.taskId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.task.get

valid {
    input.ReqMap.tableId == STRING
    input.ReqMap.taskId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.task.list

valid {
    input.ReqMap.tableId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.startIndex == INTEGER
    input.ProviderMetadata.Region == STRING
}

fusiontables.template.delete

valid {
    input.ReqMap.tableId == STRING
    input.ReqMap.templateId == INTEGER
    input.ProviderMetadata.Region == STRING
}

fusiontables.template.get

valid {
    input.ReqMap.tableId == STRING
    input.ReqMap.templateId == INTEGER
    input.ProviderMetadata.Region == STRING
}

fusiontables.template.insert

valid {
    input.Body.automaticColumnNames[_] == STRING
    input.Body.body == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.tableId == STRING
    input.Body.templateId == INTEGER
    input.ReqMap.tableId == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.template.list

valid {
    input.ReqMap.tableId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

fusiontables.template.patch

valid {
    input.Body.automaticColumnNames[_] == STRING
    input.Body.body == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.tableId == STRING
    input.Body.templateId == INTEGER
    input.ReqMap.tableId == STRING
    input.ReqMap.templateId == INTEGER
    input.ProviderMetadata.Region == STRING
}

fusiontables.template.update

valid {
    input.Body.automaticColumnNames[_] == STRING
    input.Body.body == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.tableId == STRING
    input.Body.templateId == INTEGER
    input.ReqMap.tableId == STRING
    input.ReqMap.templateId == INTEGER
    input.ProviderMetadata.Region == STRING
}