apigee.hybrid.issuers.list

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

apigee.organizations.analytics.datastores.create

valid {
    input.Body.datastoreConfig.bucketName == STRING
    input.Body.datastoreConfig.datasetName == STRING
    input.Body.datastoreConfig.path == STRING
    input.Body.datastoreConfig.projectId == STRING
    input.Body.datastoreConfig.tablePrefix == STRING
    input.Body.displayName == STRING
    input.Body.targetType == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.analytics.datastores.delete

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

apigee.organizations.analytics.datastores.get

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

apigee.organizations.analytics.datastores.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.targetType == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.analytics.datastores.test

valid {
    input.Body.datastoreConfig.bucketName == STRING
    input.Body.datastoreConfig.datasetName == STRING
    input.Body.datastoreConfig.path == STRING
    input.Body.datastoreConfig.projectId == STRING
    input.Body.datastoreConfig.tablePrefix == STRING
    input.Body.displayName == STRING
    input.Body.targetType == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.analytics.datastores.update

valid {
    input.Body.datastoreConfig.bucketName == STRING
    input.Body.datastoreConfig.datasetName == STRING
    input.Body.datastoreConfig.path == STRING
    input.Body.datastoreConfig.projectId == STRING
    input.Body.datastoreConfig.tablePrefix == STRING
    input.Body.displayName == STRING
    input.Body.targetType == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.attributes

valid {
    input.Body.attribute[_].name == STRING
    input.Body.attribute[_].value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.attributes.delete

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

apigee.organizations.apiproducts.attributes.get

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

apigee.organizations.apiproducts.attributes.list

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

apigee.organizations.apiproducts.attributes.updateApiProductAttribute

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.create

enum_GoogleCloudApigeeV1ApiProductQuotaCounterScope := [ "QUOTA_COUNTER_SCOPE_UNSPECIFIED", "PROXY", "OPERATION" ]

valid {
    input.Body.apiResources[_] == STRING
    input.Body.approvalType == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.createdAt == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.environments[_] == STRING
    input.Body.graphqlOperationGroup.operationConfigType == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].apiSource == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].attributes[_].name == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].attributes[_].value == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].operations[_].operation == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].operations[_].operationTypes[_] == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].quota.interval == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].quota.limit == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].quota.timeUnit == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].apiSource == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].attributes[_].name == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].attributes[_].value == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].methods[_] == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].quota.interval == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].quota.limit == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].quota.timeUnit == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].service == STRING
    input.Body.lastModifiedAt == STRING
    input.Body.name == STRING
    input.Body.operationGroup.operationConfigType == STRING
    input.Body.operationGroup.operationConfigs[_].apiSource == STRING
    input.Body.operationGroup.operationConfigs[_].attributes[_].name == STRING
    input.Body.operationGroup.operationConfigs[_].attributes[_].value == STRING
    input.Body.operationGroup.operationConfigs[_].operations[_].methods[_] == STRING
    input.Body.operationGroup.operationConfigs[_].operations[_].resource == STRING
    input.Body.operationGroup.operationConfigs[_].quota.interval == STRING
    input.Body.operationGroup.operationConfigs[_].quota.limit == STRING
    input.Body.operationGroup.operationConfigs[_].quota.timeUnit == STRING
    input.Body.proxies[_] == STRING
    input.Body.quota == STRING
    input.Body.quotaCounterScope == enum_GoogleCloudApigeeV1ApiProductQuotaCounterScope[_]
    input.Body.quotaInterval == STRING
    input.Body.quotaTimeUnit == STRING
    input.Body.scopes[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.delete

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

apigee.organizations.apiproducts.get

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

apigee.organizations.apiproducts.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.attributename == STRING
    input.Qs.attributevalue == STRING
    input.Qs.count == STRING
    input.Qs.expand == BOOLEAN
    input.Qs.startKey == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.rateplans.create

enum_GoogleCloudApigeeV1RatePlanBillingPeriod := [ "BILLING_PERIOD_UNSPECIFIED", "WEEKLY", "MONTHLY" ]
enum_GoogleCloudApigeeV1RatePlanConsumptionPricingType := [ "CONSUMPTION_PRICING_TYPE_UNSPECIFIED", "FIXED_PER_UNIT", "BANDED", "TIERED", "STAIRSTEP" ]
enum_GoogleCloudApigeeV1RatePlanPaymentFundingModel := [ "PAYMENT_FUNDING_MODEL_UNSPECIFIED", "PREPAID", "POSTPAID" ]
enum_GoogleCloudApigeeV1RatePlanRevenueShareType := [ "REVENUE_SHARE_TYPE_UNSPECIFIED", "FIXED", "VOLUME_BANDED" ]
enum_GoogleCloudApigeeV1RatePlanState := [ "STATE_UNSPECIFIED", "DRAFT", "PUBLISHED" ]

valid {
    input.Body.apiproduct == STRING
    input.Body.billingPeriod == enum_GoogleCloudApigeeV1RatePlanBillingPeriod[_]
    input.Body.consumptionPricingRates[_].end == STRING
    input.Body.consumptionPricingRates[_].fee.currencyCode == STRING
    input.Body.consumptionPricingRates[_].fee.nanos == INTEGER
    input.Body.consumptionPricingRates[_].fee.units == STRING
    input.Body.consumptionPricingRates[_].start == STRING
    input.Body.consumptionPricingType == enum_GoogleCloudApigeeV1RatePlanConsumptionPricingType[_]
    input.Body.currencyCode == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.endTime == STRING
    input.Body.fixedFeeFrequency == INTEGER
    input.Body.fixedRecurringFee.currencyCode == STRING
    input.Body.fixedRecurringFee.nanos == INTEGER
    input.Body.fixedRecurringFee.units == STRING
    input.Body.paymentFundingModel == enum_GoogleCloudApigeeV1RatePlanPaymentFundingModel[_]
    input.Body.revenueShareRates[_].end == STRING
    input.Body.revenueShareRates[_].sharePercentage == NUMBER
    input.Body.revenueShareRates[_].start == STRING
    input.Body.revenueShareType == enum_GoogleCloudApigeeV1RatePlanRevenueShareType[_]
    input.Body.setupFee.currencyCode == STRING
    input.Body.setupFee.nanos == INTEGER
    input.Body.setupFee.units == STRING
    input.Body.startTime == STRING
    input.Body.state == enum_GoogleCloudApigeeV1RatePlanState[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.rateplans.delete

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

apigee.organizations.apiproducts.rateplans.get

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

apigee.organizations.apiproducts.rateplans.list

enum_StateParameter := [ "STATE_UNSPECIFIED", "DRAFT", "PUBLISHED" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.count == INTEGER
    input.Qs.expand == BOOLEAN
    input.Qs.orderBy == STRING
    input.Qs.startKey == STRING
    input.Qs.state == enum_StateParameter[_]
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.rateplans.update

enum_GoogleCloudApigeeV1RatePlanBillingPeriod := [ "BILLING_PERIOD_UNSPECIFIED", "WEEKLY", "MONTHLY" ]
enum_GoogleCloudApigeeV1RatePlanConsumptionPricingType := [ "CONSUMPTION_PRICING_TYPE_UNSPECIFIED", "FIXED_PER_UNIT", "BANDED", "TIERED", "STAIRSTEP" ]
enum_GoogleCloudApigeeV1RatePlanPaymentFundingModel := [ "PAYMENT_FUNDING_MODEL_UNSPECIFIED", "PREPAID", "POSTPAID" ]
enum_GoogleCloudApigeeV1RatePlanRevenueShareType := [ "REVENUE_SHARE_TYPE_UNSPECIFIED", "FIXED", "VOLUME_BANDED" ]
enum_GoogleCloudApigeeV1RatePlanState := [ "STATE_UNSPECIFIED", "DRAFT", "PUBLISHED" ]

valid {
    input.Body.apiproduct == STRING
    input.Body.billingPeriod == enum_GoogleCloudApigeeV1RatePlanBillingPeriod[_]
    input.Body.consumptionPricingRates[_].end == STRING
    input.Body.consumptionPricingRates[_].fee.currencyCode == STRING
    input.Body.consumptionPricingRates[_].fee.nanos == INTEGER
    input.Body.consumptionPricingRates[_].fee.units == STRING
    input.Body.consumptionPricingRates[_].start == STRING
    input.Body.consumptionPricingType == enum_GoogleCloudApigeeV1RatePlanConsumptionPricingType[_]
    input.Body.currencyCode == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.endTime == STRING
    input.Body.fixedFeeFrequency == INTEGER
    input.Body.fixedRecurringFee.currencyCode == STRING
    input.Body.fixedRecurringFee.nanos == INTEGER
    input.Body.fixedRecurringFee.units == STRING
    input.Body.paymentFundingModel == enum_GoogleCloudApigeeV1RatePlanPaymentFundingModel[_]
    input.Body.revenueShareRates[_].end == STRING
    input.Body.revenueShareRates[_].sharePercentage == NUMBER
    input.Body.revenueShareRates[_].start == STRING
    input.Body.revenueShareType == enum_GoogleCloudApigeeV1RatePlanRevenueShareType[_]
    input.Body.setupFee.currencyCode == STRING
    input.Body.setupFee.nanos == INTEGER
    input.Body.setupFee.units == STRING
    input.Body.startTime == STRING
    input.Body.state == enum_GoogleCloudApigeeV1RatePlanState[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apiproducts.update

enum_GoogleCloudApigeeV1ApiProductQuotaCounterScope := [ "QUOTA_COUNTER_SCOPE_UNSPECIFIED", "PROXY", "OPERATION" ]

valid {
    input.Body.apiResources[_] == STRING
    input.Body.approvalType == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.createdAt == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.environments[_] == STRING
    input.Body.graphqlOperationGroup.operationConfigType == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].apiSource == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].attributes[_].name == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].attributes[_].value == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].operations[_].operation == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].operations[_].operationTypes[_] == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].quota.interval == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].quota.limit == STRING
    input.Body.graphqlOperationGroup.operationConfigs[_].quota.timeUnit == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].apiSource == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].attributes[_].name == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].attributes[_].value == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].methods[_] == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].quota.interval == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].quota.limit == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].quota.timeUnit == STRING
    input.Body.grpcOperationGroup.operationConfigs[_].service == STRING
    input.Body.lastModifiedAt == STRING
    input.Body.name == STRING
    input.Body.operationGroup.operationConfigType == STRING
    input.Body.operationGroup.operationConfigs[_].apiSource == STRING
    input.Body.operationGroup.operationConfigs[_].attributes[_].name == STRING
    input.Body.operationGroup.operationConfigs[_].attributes[_].value == STRING
    input.Body.operationGroup.operationConfigs[_].operations[_].methods[_] == STRING
    input.Body.operationGroup.operationConfigs[_].operations[_].resource == STRING
    input.Body.operationGroup.operationConfigs[_].quota.interval == STRING
    input.Body.operationGroup.operationConfigs[_].quota.limit == STRING
    input.Body.operationGroup.operationConfigs[_].quota.timeUnit == STRING
    input.Body.proxies[_] == STRING
    input.Body.quota == STRING
    input.Body.quotaCounterScope == enum_GoogleCloudApigeeV1ApiProductQuotaCounterScope[_]
    input.Body.quotaInterval == STRING
    input.Body.quotaTimeUnit == STRING
    input.Body.scopes[_] == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.create

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.parent == STRING
    input.Qs.action == STRING
    input.Qs.name == STRING
    input.Qs.validate == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.delete

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

apigee.organizations.apis.deployments.list

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

apigee.organizations.apis.get

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

apigee.organizations.apis.keyvaluemaps.create

valid {
    input.Body.encrypted == BOOLEAN
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.keyvaluemaps.delete

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

apigee.organizations.apis.keyvaluemaps.entries.create

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.keyvaluemaps.entries.delete

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

apigee.organizations.apis.keyvaluemaps.entries.get

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

apigee.organizations.apis.keyvaluemaps.entries.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.keyvaluemaps.entries.update

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.includeMetaData == BOOLEAN
    input.Qs.includeRevisions == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.patch

valid {
    input.Body.labels.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.revisions.delete

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

apigee.organizations.apis.revisions.deployments.list

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

apigee.organizations.apis.revisions.get

valid {
    input.ReqMap.name == STRING
    input.Qs.format == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apis.revisions.updateApiProxyRevision

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.name == STRING
    input.Qs.validate == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.apps.create

valid {
    input.Body.apiProducts[_] == STRING
    input.Body.appGroup == STRING
    input.Body.appId == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.callbackUrl == STRING
    input.Body.keyExpiresIn == STRING
    input.Body.name == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.apps.delete

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

apigee.organizations.appgroups.apps.get

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

apigee.organizations.appgroups.apps.keys.apiproducts.delete

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

apigee.organizations.appgroups.apps.keys.apiproducts.updateAppGroupAppKeyApiProduct

valid {
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.apps.keys.create

valid {
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.consumerKey == STRING
    input.Body.consumerSecret == STRING
    input.Body.expiresInSeconds == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.apps.keys.delete

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

apigee.organizations.appgroups.apps.keys.get

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

apigee.organizations.appgroups.apps.keys.updateAppGroupAppKey

valid {
    input.Body.action == STRING
    input.Body.apiProducts[_] == STRING
    input.Body.appGroupAppKey.attributes[_].name == STRING
    input.Body.appGroupAppKey.attributes[_].value == STRING
    input.Body.appGroupAppKey.consumerKey == STRING
    input.Body.appGroupAppKey.consumerSecret == STRING
    input.Body.appGroupAppKey.expiresInSeconds == STRING
    input.Body.appGroupAppKey.scopes[_] == STRING
    input.Body.appGroupAppKey.status == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.apps.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.apps.update

valid {
    input.Body.apiProducts[_] == STRING
    input.Body.appGroup == STRING
    input.Body.appId == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.callbackUrl == STRING
    input.Body.keyExpiresIn == STRING
    input.Body.name == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.create

valid {
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.channelId == STRING
    input.Body.channelUri == STRING
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.organization == STRING
    input.Body.status == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.delete

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

apigee.organizations.appgroups.get

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

apigee.organizations.appgroups.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.appgroups.update

valid {
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.channelId == STRING
    input.Body.channelUri == STRING
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.organization == STRING
    input.Body.status == STRING
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.apps.get

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

apigee.organizations.apps.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.apiProduct == STRING
    input.Qs.apptype == STRING
    input.Qs.expand == BOOLEAN
    input.Qs.filter == STRING
    input.Qs.ids == STRING
    input.Qs.includeCred == BOOLEAN
    input.Qs.keyStatus == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.rows == STRING
    input.Qs.startKey == STRING
    input.Qs.status == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.create

enum_GoogleCloudApigeeV1OrganizationBillingType := [ "BILLING_TYPE_UNSPECIFIED", "SUBSCRIPTION", "EVALUATION", "PAYG" ]
enum_GoogleCloudApigeeV1OrganizationRuntimeType := [ "RUNTIME_TYPE_UNSPECIFIED", "CLOUD", "HYBRID" ]
enum_GoogleCloudApigeeV1OrganizationType := [ "TYPE_UNSPECIFIED", "TYPE_TRIAL", "TYPE_PAID", "TYPE_INTERNAL" ]

valid {
    input.Body.addonsConfig.advancedApiOpsConfig.enabled == BOOLEAN
    input.Body.addonsConfig.analyticsConfig.enabled == BOOLEAN
    input.Body.addonsConfig.apiSecurityConfig.enabled == BOOLEAN
    input.Body.addonsConfig.connectorsPlatformConfig.enabled == BOOLEAN
    input.Body.addonsConfig.integrationConfig.enabled == BOOLEAN
    input.Body.addonsConfig.monetizationConfig.enabled == BOOLEAN
    input.Body.analyticsRegion == STRING
    input.Body.apiConsumerDataEncryptionKeyName == STRING
    input.Body.apiConsumerDataLocation == STRING
    input.Body.attributes[_] == STRING
    input.Body.authorizedNetwork == STRING
    input.Body.billingType == enum_GoogleCloudApigeeV1OrganizationBillingType[_]
    input.Body.controlPlaneEncryptionKeyName == STRING
    input.Body.customerName == STRING
    input.Body.description == STRING
    input.Body.disableVpcPeering == BOOLEAN
    input.Body.displayName == STRING
    input.Body.portalDisabled == BOOLEAN
    input.Body.properties.property[_].name == STRING
    input.Body.properties.property[_].value == STRING
    input.Body.runtimeDatabaseEncryptionKeyName == STRING
    input.Body.runtimeType == enum_GoogleCloudApigeeV1OrganizationRuntimeType[_]
    input.Body.type == enum_GoogleCloudApigeeV1OrganizationType[_]
    input.Qs.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.datacollectors.create

enum_GoogleCloudApigeeV1DataCollectorType := [ "TYPE_UNSPECIFIED", "INTEGER", "FLOAT", "STRING", "BOOLEAN", "DATETIME" ]

valid {
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.type == enum_GoogleCloudApigeeV1DataCollectorType[_]
    input.ReqMap.parent == STRING
    input.Qs.dataCollectorId == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.datacollectors.delete

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

apigee.organizations.datacollectors.get

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

apigee.organizations.datacollectors.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.datacollectors.patch

enum_GoogleCloudApigeeV1DataCollectorType := [ "TYPE_UNSPECIFIED", "INTEGER", "FLOAT", "STRING", "BOOLEAN", "DATETIME" ]

valid {
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.type == enum_GoogleCloudApigeeV1DataCollectorType[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.delete

enum_RetentionParameter := [ "DELETION_RETENTION_UNSPECIFIED", "MINIMUM" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.retention == enum_RetentionParameter[_]
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.deployments.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.sharedFlows == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.attributes

valid {
    input.Body.attribute[_].name == STRING
    input.Body.attribute[_].value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.attributes.delete

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

apigee.organizations.developers.apps.attributes.get

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

apigee.organizations.developers.apps.attributes.list

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

apigee.organizations.developers.apps.attributes.updateDeveloperAppAttribute

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.create

valid {
    input.Body.apiProducts[_] == STRING
    input.Body.appFamily == STRING
    input.Body.appId == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.callbackUrl == STRING
    input.Body.developerId == STRING
    input.Body.keyExpiresIn == STRING
    input.Body.name == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.delete

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

apigee.organizations.developers.apps.generateKeyPairOrUpdateDeveloperAppStatus

valid {
    input.Body.apiProducts[_] == STRING
    input.Body.appFamily == STRING
    input.Body.appId == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.callbackUrl == STRING
    input.Body.developerId == STRING
    input.Body.keyExpiresIn == STRING
    input.Body.name == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.get

valid {
    input.ReqMap.name == STRING
    input.Qs.entity == STRING
    input.Qs.query == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.keys.apiproducts.delete

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

apigee.organizations.developers.apps.keys.apiproducts.updateDeveloperAppKeyApiProduct

valid {
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.keys.create

valid {
    input.Body.apiProducts[_] == ANY
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.consumerKey == STRING
    input.Body.consumerSecret == STRING
    input.Body.expiresAt == STRING
    input.Body.expiresInSeconds == STRING
    input.Body.issuedAt == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.keys.create.create

valid {
    input.Body.apiProducts[_] == ANY
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.consumerKey == STRING
    input.Body.consumerSecret == STRING
    input.Body.expiresAt == STRING
    input.Body.expiresInSeconds == STRING
    input.Body.issuedAt == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.keys.delete

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

apigee.organizations.developers.apps.keys.get

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

apigee.organizations.developers.apps.keys.replaceDeveloperAppKey

valid {
    input.Body.apiProducts[_] == ANY
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.consumerKey == STRING
    input.Body.consumerSecret == STRING
    input.Body.expiresAt == STRING
    input.Body.expiresInSeconds == STRING
    input.Body.issuedAt == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.keys.updateDeveloperAppKey

valid {
    input.Body.apiProducts[_] == ANY
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.consumerKey == STRING
    input.Body.consumerSecret == STRING
    input.Body.expiresAt == STRING
    input.Body.expiresInSeconds == STRING
    input.Body.issuedAt == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.count == STRING
    input.Qs.expand == BOOLEAN
    input.Qs.shallowExpand == BOOLEAN
    input.Qs.startKey == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.apps.update

valid {
    input.Body.apiProducts[_] == STRING
    input.Body.appFamily == STRING
    input.Body.appId == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.callbackUrl == STRING
    input.Body.developerId == STRING
    input.Body.keyExpiresIn == STRING
    input.Body.name == STRING
    input.Body.scopes[_] == STRING
    input.Body.status == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.attributes

valid {
    input.Body.attribute[_].name == STRING
    input.Body.attribute[_].value == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.attributes.delete

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

apigee.organizations.developers.attributes.get

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

apigee.organizations.developers.attributes.list

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

apigee.organizations.developers.attributes.updateDeveloperAttribute

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.balance.adjust

valid {
    input.Body.adjustment.currencyCode == STRING
    input.Body.adjustment.nanos == INTEGER
    input.Body.adjustment.units == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.balance.credit

valid {
    input.Body.transactionAmount.currencyCode == STRING
    input.Body.transactionAmount.nanos == INTEGER
    input.Body.transactionAmount.units == STRING
    input.Body.transactionId == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.create

valid {
    input.Body.accessType == STRING
    input.Body.appFamily == STRING
    input.Body.apps[_] == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.companies[_] == STRING
    input.Body.developerId == STRING
    input.Body.email == STRING
    input.Body.firstName == STRING
    input.Body.lastName == STRING
    input.Body.userName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.delete

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

apigee.organizations.developers.get

valid {
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.getBalance

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

apigee.organizations.developers.getMonetizationConfig

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

apigee.organizations.developers.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.app == STRING
    input.Qs.count == STRING
    input.Qs.expand == BOOLEAN
    input.Qs.ids == STRING
    input.Qs.includeCompany == BOOLEAN
    input.Qs.startKey == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.setDeveloperStatus

valid {
    input.ReqMap.name == STRING
    input.Qs.action == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.subscriptions.create

valid {
    input.Body.apiproduct == STRING
    input.Body.endTime == STRING
    input.Body.startTime == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.subscriptions.expire

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.subscriptions.get

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

apigee.organizations.developers.subscriptions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.count == INTEGER
    input.Qs.startKey == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.update

valid {
    input.Body.accessType == STRING
    input.Body.appFamily == STRING
    input.Body.apps[_] == STRING
    input.Body.attributes[_].name == STRING
    input.Body.attributes[_].value == STRING
    input.Body.companies[_] == STRING
    input.Body.developerId == STRING
    input.Body.email == STRING
    input.Body.firstName == STRING
    input.Body.lastName == STRING
    input.Body.userName == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.developers.updateMonetizationConfig

enum_GoogleCloudApigeeV1DeveloperMonetizationConfigBillingType := [ "BILLING_TYPE_UNSPECIFIED", "PREPAID", "POSTPAID" ]

valid {
    input.Body.billingType == enum_GoogleCloudApigeeV1DeveloperMonetizationConfigBillingType[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.endpointAttachments.create

valid {
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.serviceAttachment == STRING
    input.ReqMap.parent == STRING
    input.Qs.endpointAttachmentId == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.endpointAttachments.delete

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

apigee.organizations.endpointAttachments.get

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

apigee.organizations.endpointAttachments.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.envgroups.attachments.create

valid {
    input.Body.environment == STRING
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.envgroups.attachments.delete

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

apigee.organizations.envgroups.attachments.get

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

apigee.organizations.envgroups.attachments.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.envgroups.create

valid {
    input.Body.hostnames[_] == STRING
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.envgroups.delete

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

apigee.organizations.envgroups.get

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

apigee.organizations.envgroups.getDeployedIngressConfig

enum_ViewParameter := [ "INGRESS_CONFIG_VIEW_UNSPECIFIED", "BASIC", "FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.envgroups.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.envgroups.patch

valid {
    input.Body.hostnames[_] == STRING
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.addonsConfig.setAddonEnablement

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.apiSecurityEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.analytics.admin.getSchemav2

valid {
    input.ReqMap.name == STRING
    input.Qs.disableCache == BOOLEAN
    input.Qs.type == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.analytics.exports.create

valid {
    input.Body.csvDelimiter == STRING
    input.Body.datastoreName == STRING
    input.Body.dateRange.end == STRING
    input.Body.dateRange.start == STRING
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.outputFormat == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.analytics.exports.get

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

apigee.organizations.environments.analytics.exports.list

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

apigee.organizations.environments.apis.deployments.list

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

apigee.organizations.environments.apis.revisions.debugsessions.create

valid {
    input.Body.count == INTEGER
    input.Body.filter == STRING
    input.Body.name == STRING
    input.Body.timeout == STRING
    input.Body.tracesize == INTEGER
    input.Body.validity == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.timeout == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.apis.revisions.debugsessions.data.get

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

apigee.organizations.environments.apis.revisions.debugsessions.deleteData

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

apigee.organizations.environments.apis.revisions.debugsessions.get

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

apigee.organizations.environments.apis.revisions.debugsessions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.apis.revisions.deploy

valid {
    input.ReqMap.name == STRING
    input.Qs.override == BOOLEAN
    input.Qs.sequencedRollout == BOOLEAN
    input.Qs.serviceAccount == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.apis.revisions.deployments.generateDeployChangeReport

valid {
    input.ReqMap.name == STRING
    input.Qs.override == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.apis.revisions.deployments.generateUndeployChangeReport

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

apigee.organizations.environments.apis.revisions.getDeployments

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

apigee.organizations.environments.apis.revisions.undeploy

valid {
    input.ReqMap.name == STRING
    input.Qs.sequencedRollout == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.archiveDeployments.create

valid {
    input.Body.gcsUri == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.archiveDeployments.delete

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

apigee.organizations.environments.archiveDeployments.generateDownloadUrl

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.archiveDeployments.generateUploadUrl

valid {
    input.Body.STRING == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.archiveDeployments.get

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

apigee.organizations.environments.archiveDeployments.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.archiveDeployments.patch

valid {
    input.Body.gcsUri == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.caches.delete

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

apigee.organizations.environments.create

enum_GoogleCloudApigeeV1EnvironmentApiProxyType := [ "API_PROXY_TYPE_UNSPECIFIED", "PROGRAMMABLE", "CONFIGURABLE" ]
enum_GoogleCloudApigeeV1EnvironmentDeploymentType := [ "DEPLOYMENT_TYPE_UNSPECIFIED", "PROXY", "ARCHIVE" ]
enum_GoogleCloudApigeeV1EnvironmentType := [ "ENVIRONMENT_TYPE_UNSPECIFIED", "BASE", "INTERMEDIATE", "COMPREHENSIVE" ]

valid {
    input.Body.apiProxyType == enum_GoogleCloudApigeeV1EnvironmentApiProxyType[_]
    input.Body.deploymentType == enum_GoogleCloudApigeeV1EnvironmentDeploymentType[_]
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.forwardProxyUri == STRING
    input.Body.hasAttachedFlowHooks == BOOLEAN
    input.Body.name == STRING
    input.Body.nodeConfig.maxNodeCount == STRING
    input.Body.nodeConfig.minNodeCount == STRING
    input.Body.properties.property[_].name == STRING
    input.Body.properties.property[_].value == STRING
    input.Body.type == enum_GoogleCloudApigeeV1EnvironmentType[_]
    input.ReqMap.parent == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.delete

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

apigee.organizations.environments.deployments.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.sharedFlows == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.flowhooks.attachSharedFlowToFlowHook

valid {
    input.Body.continueOnError == BOOLEAN
    input.Body.description == STRING
    input.Body.sharedFlow == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.flowhooks.detachSharedFlowFromFlowHook

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

apigee.organizations.environments.flowhooks.get

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

apigee.organizations.environments.get

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

apigee.organizations.environments.getAddonsConfig

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

apigee.organizations.environments.getApiSecurityRuntimeConfig

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

apigee.organizations.environments.getDebugmask

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

apigee.organizations.environments.getDeployedConfig

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

apigee.organizations.environments.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.getSecurityActionsConfig

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

apigee.organizations.environments.getTraceConfig

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

apigee.organizations.environments.keystores.aliases.create

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.parent == STRING
    input.Qs._password == STRING
    input.Qs.alias == STRING
    input.Qs.format == STRING
    input.Qs.ignoreExpiryValidation == BOOLEAN
    input.Qs.ignoreNewlineValidation == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.keystores.aliases.csr

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

apigee.organizations.environments.keystores.aliases.delete

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

apigee.organizations.environments.keystores.aliases.get

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

apigee.organizations.environments.keystores.aliases.getCertificate

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

apigee.organizations.environments.keystores.aliases.update

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.name == STRING
    input.Qs.ignoreExpiryValidation == BOOLEAN
    input.Qs.ignoreNewlineValidation == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.keystores.create

valid {
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.keystores.delete

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

apigee.organizations.environments.keystores.get

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

apigee.organizations.environments.keyvaluemaps.create

valid {
    input.Body.encrypted == BOOLEAN
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.keyvaluemaps.delete

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

apigee.organizations.environments.keyvaluemaps.entries.create

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.keyvaluemaps.entries.delete

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

apigee.organizations.environments.keyvaluemaps.entries.get

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

apigee.organizations.environments.keyvaluemaps.entries.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.keyvaluemaps.entries.update

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.modifyEnvironment

enum_GoogleCloudApigeeV1EnvironmentApiProxyType := [ "API_PROXY_TYPE_UNSPECIFIED", "PROGRAMMABLE", "CONFIGURABLE" ]
enum_GoogleCloudApigeeV1EnvironmentDeploymentType := [ "DEPLOYMENT_TYPE_UNSPECIFIED", "PROXY", "ARCHIVE" ]
enum_GoogleCloudApigeeV1EnvironmentType := [ "ENVIRONMENT_TYPE_UNSPECIFIED", "BASE", "INTERMEDIATE", "COMPREHENSIVE" ]

valid {
    input.Body.apiProxyType == enum_GoogleCloudApigeeV1EnvironmentApiProxyType[_]
    input.Body.deploymentType == enum_GoogleCloudApigeeV1EnvironmentDeploymentType[_]
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.forwardProxyUri == STRING
    input.Body.hasAttachedFlowHooks == BOOLEAN
    input.Body.name == STRING
    input.Body.nodeConfig.maxNodeCount == STRING
    input.Body.nodeConfig.minNodeCount == STRING
    input.Body.properties.property[_].name == STRING
    input.Body.properties.property[_].value == STRING
    input.Body.type == enum_GoogleCloudApigeeV1EnvironmentType[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.optimizedStats.get

valid {
    input.ReqMap.name == STRING
    input.Qs.accuracy == STRING
    input.Qs.aggTable == STRING
    input.Qs.filter == STRING
    input.Qs.limit == STRING
    input.Qs.offset == STRING
    input.Qs.realtime == BOOLEAN
    input.Qs.select == STRING
    input.Qs.sonar == BOOLEAN
    input.Qs.sort == STRING
    input.Qs.sortby == STRING
    input.Qs.timeRange == STRING
    input.Qs.timeUnit == STRING
    input.Qs.topk == STRING
    input.Qs.tsAscending == BOOLEAN
    input.Qs.tzo == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.queries.create

valid {
    input.Body.csvDelimiter == STRING
    input.Body.dimensions[_] == STRING
    input.Body.envgroupHostname == STRING
    input.Body.filter == STRING
    input.Body.groupByTimeUnit == STRING
    input.Body.limit == INTEGER
    input.Body.metrics[_].alias == STRING
    input.Body.metrics[_].function == STRING
    input.Body.metrics[_].name == STRING
    input.Body.metrics[_].operator == STRING
    input.Body.metrics[_].value == STRING
    input.Body.name == STRING
    input.Body.outputFormat == STRING
    input.Body.reportDefinitionId == STRING
    input.Body.timeRange == ANY
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.queries.get

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

apigee.organizations.environments.queries.getResult

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

apigee.organizations.environments.queries.getResulturl

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

apigee.organizations.environments.queries.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.dataset == STRING
    input.Qs.from == STRING
    input.Qs.inclQueriesWithoutReport == STRING
    input.Qs.status == STRING
    input.Qs.submittedBy == STRING
    input.Qs.to == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.references.create

valid {
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.refers == STRING
    input.Body.resourceType == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.references.delete

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

apigee.organizations.environments.references.get

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

apigee.organizations.environments.references.update

valid {
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.refers == STRING
    input.Body.resourceType == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.resourcefiles.create

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.parent == STRING
    input.Qs.name == STRING
    input.Qs.type == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.resourcefiles.delete

valid {
    input.ReqMap.name == STRING
    input.ReqMap.parent == STRING
    input.ReqMap.type == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.resourcefiles.get

valid {
    input.ReqMap.name == STRING
    input.ReqMap.parent == STRING
    input.ReqMap.type == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.resourcefiles.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.type == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.resourcefiles.listEnvironmentResources

valid {
    input.ReqMap.parent == STRING
    input.ReqMap.type == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.resourcefiles.update

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.name == STRING
    input.ReqMap.parent == STRING
    input.ReqMap.type == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityActions.create

enum_GoogleCloudApigeeV1SecurityActionState := [ "STATE_UNSPECIFIED", "ENABLED", "DISABLED" ]

valid {
    input.Body.allow.STRING == STRING
    input.Body.conditionConfig.accessTokens[_] == STRING
    input.Body.conditionConfig.apiKeys[_] == STRING
    input.Body.conditionConfig.apiProducts[_] == STRING
    input.Body.conditionConfig.botReasons[_] == STRING
    input.Body.conditionConfig.developerApps[_] == STRING
    input.Body.conditionConfig.developers[_] == STRING
    input.Body.conditionConfig.ipAddressRanges[_] == STRING
    input.Body.conditionConfig.userAgents[_] == STRING
    input.Body.deny.responseCode == INTEGER
    input.Body.description == STRING
    input.Body.expireTime == STRING
    input.Body.flag.headers[_].name == STRING
    input.Body.flag.headers[_].value == STRING
    input.Body.name == STRING
    input.Body.state == enum_GoogleCloudApigeeV1SecurityActionState[_]
    input.Body.ttl == STRING
    input.ReqMap.parent == STRING
    input.Qs.securityActionId == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityActions.disable

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityActions.enable

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityActions.get

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

apigee.organizations.environments.securityActions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityIncidents.batchUpdate

enum_GoogleCloudApigeeV1SecurityIncidentObservability := [ "OBSERVABILITY_UNSPECIFIED", "ACTIVE", "ARCHIVED" ]

valid {
    input.Body.requests[_].securityIncident.displayName == STRING
    input.Body.requests[_].securityIncident.name == STRING
    input.Body.requests[_].securityIncident.observability == enum_GoogleCloudApigeeV1SecurityIncidentObservability[_]
    input.Body.requests[_].securityIncident.trafficCount == STRING
    input.Body.requests[_].updateMask == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityIncidents.get

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

apigee.organizations.environments.securityIncidents.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityIncidents.patch

enum_GoogleCloudApigeeV1SecurityIncidentObservability := [ "OBSERVABILITY_UNSPECIFIED", "ACTIVE", "ARCHIVED" ]

valid {
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.observability == enum_GoogleCloudApigeeV1SecurityIncidentObservability[_]
    input.Body.trafficCount == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityReports.create

valid {
    input.Body.csvDelimiter == STRING
    input.Body.dimensions[_] == STRING
    input.Body.displayName == STRING
    input.Body.envgroupHostname == STRING
    input.Body.filter == STRING
    input.Body.groupByTimeUnit == STRING
    input.Body.limit == INTEGER
    input.Body.metrics[_].aggregationFunction == STRING
    input.Body.metrics[_].alias == STRING
    input.Body.metrics[_].name == STRING
    input.Body.metrics[_].operator == STRING
    input.Body.metrics[_].value == STRING
    input.Body.mimeType == STRING
    input.Body.reportDefinitionId == STRING
    input.Body.timeRange == ANY
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityReports.get

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

apigee.organizations.environments.securityReports.getResult

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

apigee.organizations.environments.securityReports.getResultView

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

apigee.organizations.environments.securityReports.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.dataset == STRING
    input.Qs.from == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.status == STRING
    input.Qs.submittedBy == STRING
    input.Qs.to == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityStats.queryTabularStats

enum_GoogleCloudApigeeV1MetricAggregationAggregation := [ "AGGREGATION_FUNCTION_UNSPECIFIED", "AVG", "SUM", "MIN", "MAX", "COUNT_DISTINCT" ]
enum_GoogleCloudApigeeV1MetricAggregationOrder := [ "ORDER_UNSPECIFIED", "ASCENDING", "DESCENDING" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_].aggregation == enum_GoogleCloudApigeeV1MetricAggregationAggregation[_]
    input.Body.metrics[_].name == STRING
    input.Body.metrics[_].order == enum_GoogleCloudApigeeV1MetricAggregationOrder[_]
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timeRange.endTime == STRING
    input.Body.timeRange.startTime == STRING
    input.ReqMap.orgenv == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.securityStats.queryTimeSeriesStats

enum_GoogleCloudApigeeV1MetricAggregationAggregation := [ "AGGREGATION_FUNCTION_UNSPECIFIED", "AVG", "SUM", "MIN", "MAX", "COUNT_DISTINCT" ]
enum_GoogleCloudApigeeV1MetricAggregationOrder := [ "ORDER_UNSPECIFIED", "ASCENDING", "DESCENDING" ]
enum_GoogleCloudApigeeV1QueryTimeSeriesStatsRequestTimestampOrder := [ "ORDER_UNSPECIFIED", "ASCENDING", "DESCENDING" ]
enum_GoogleCloudApigeeV1QueryTimeSeriesStatsRequestWindowSize := [ "WINDOW_SIZE_UNSPECIFIED", "MINUTE", "HOUR", "DAY", "MONTH" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_].aggregation == enum_GoogleCloudApigeeV1MetricAggregationAggregation[_]
    input.Body.metrics[_].name == STRING
    input.Body.metrics[_].order == enum_GoogleCloudApigeeV1MetricAggregationOrder[_]
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timeRange.endTime == STRING
    input.Body.timeRange.startTime == STRING
    input.Body.timestampOrder == enum_GoogleCloudApigeeV1QueryTimeSeriesStatsRequestTimestampOrder[_]
    input.Body.windowSize == enum_GoogleCloudApigeeV1QueryTimeSeriesStatsRequestWindowSize[_]
    input.ReqMap.orgenv == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.setIamPolicy

enum_GoogleIamV1AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_GoogleIamV1AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.sharedflows.deployments.list

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

apigee.organizations.environments.sharedflows.revisions.deploy

valid {
    input.ReqMap.name == STRING
    input.Qs.override == BOOLEAN
    input.Qs.serviceAccount == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.sharedflows.revisions.getDeployments

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

apigee.organizations.environments.sharedflows.revisions.undeploy

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

apigee.organizations.environments.stats.get

valid {
    input.ReqMap.name == STRING
    input.Qs.accuracy == STRING
    input.Qs.aggTable == STRING
    input.Qs.filter == STRING
    input.Qs.limit == STRING
    input.Qs.offset == STRING
    input.Qs.realtime == BOOLEAN
    input.Qs.select == STRING
    input.Qs.sonar == BOOLEAN
    input.Qs.sort == STRING
    input.Qs.sortby == STRING
    input.Qs.timeRange == STRING
    input.Qs.timeUnit == STRING
    input.Qs.topk == STRING
    input.Qs.tsAscending == BOOLEAN
    input.Qs.tzo == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.subscribe

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

apigee.organizations.environments.targetservers.create

enum_GoogleCloudApigeeV1TargetServerProtocol := [ "PROTOCOL_UNSPECIFIED", "HTTP", "HTTP2", "GRPC_TARGET", "GRPC", "EXTERNAL_CALLOUT" ]

valid {
    input.Body.description == STRING
    input.Body.host == STRING
    input.Body.isEnabled == BOOLEAN
    input.Body.name == STRING
    input.Body.port == INTEGER
    input.Body.protocol == enum_GoogleCloudApigeeV1TargetServerProtocol[_]
    input.Body.sSLInfo.ciphers[_] == STRING
    input.Body.sSLInfo.clientAuthEnabled == BOOLEAN
    input.Body.sSLInfo.commonName.value == STRING
    input.Body.sSLInfo.commonName.wildcardMatch == BOOLEAN
    input.Body.sSLInfo.enabled == BOOLEAN
    input.Body.sSLInfo.enforce == BOOLEAN
    input.Body.sSLInfo.ignoreValidationErrors == BOOLEAN
    input.Body.sSLInfo.keyAlias == STRING
    input.Body.sSLInfo.keyStore == STRING
    input.Body.sSLInfo.protocols[_] == STRING
    input.Body.sSLInfo.trustStore == STRING
    input.ReqMap.parent == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.targetservers.delete

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

apigee.organizations.environments.targetservers.get

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

apigee.organizations.environments.targetservers.update

enum_GoogleCloudApigeeV1TargetServerProtocol := [ "PROTOCOL_UNSPECIFIED", "HTTP", "HTTP2", "GRPC_TARGET", "GRPC", "EXTERNAL_CALLOUT" ]

valid {
    input.Body.description == STRING
    input.Body.host == STRING
    input.Body.isEnabled == BOOLEAN
    input.Body.name == STRING
    input.Body.port == INTEGER
    input.Body.protocol == enum_GoogleCloudApigeeV1TargetServerProtocol[_]
    input.Body.sSLInfo.ciphers[_] == STRING
    input.Body.sSLInfo.clientAuthEnabled == BOOLEAN
    input.Body.sSLInfo.commonName.value == STRING
    input.Body.sSLInfo.commonName.wildcardMatch == BOOLEAN
    input.Body.sSLInfo.enabled == BOOLEAN
    input.Body.sSLInfo.enforce == BOOLEAN
    input.Body.sSLInfo.ignoreValidationErrors == BOOLEAN
    input.Body.sSLInfo.keyAlias == STRING
    input.Body.sSLInfo.keyStore == STRING
    input.Body.sSLInfo.protocols[_] == STRING
    input.Body.sSLInfo.trustStore == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.traceConfig.overrides.create

enum_GoogleCloudApigeeV1TraceSamplingConfigSampler := [ "SAMPLER_UNSPECIFIED", "OFF", "PROBABILITY" ]

valid {
    input.Body.apiProxy == STRING
    input.Body.name == STRING
    input.Body.samplingConfig.sampler == enum_GoogleCloudApigeeV1TraceSamplingConfigSampler[_]
    input.Body.samplingConfig.samplingRate == NUMBER
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.traceConfig.overrides.delete

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

apigee.organizations.environments.traceConfig.overrides.get

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

apigee.organizations.environments.traceConfig.overrides.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.traceConfig.overrides.patch

enum_GoogleCloudApigeeV1TraceSamplingConfigSampler := [ "SAMPLER_UNSPECIFIED", "OFF", "PROBABILITY" ]

valid {
    input.Body.apiProxy == STRING
    input.Body.name == STRING
    input.Body.samplingConfig.sampler == enum_GoogleCloudApigeeV1TraceSamplingConfigSampler[_]
    input.Body.samplingConfig.samplingRate == NUMBER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.unsubscribe

valid {
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.update

enum_GoogleCloudApigeeV1EnvironmentApiProxyType := [ "API_PROXY_TYPE_UNSPECIFIED", "PROGRAMMABLE", "CONFIGURABLE" ]
enum_GoogleCloudApigeeV1EnvironmentDeploymentType := [ "DEPLOYMENT_TYPE_UNSPECIFIED", "PROXY", "ARCHIVE" ]
enum_GoogleCloudApigeeV1EnvironmentType := [ "ENVIRONMENT_TYPE_UNSPECIFIED", "BASE", "INTERMEDIATE", "COMPREHENSIVE" ]

valid {
    input.Body.apiProxyType == enum_GoogleCloudApigeeV1EnvironmentApiProxyType[_]
    input.Body.deploymentType == enum_GoogleCloudApigeeV1EnvironmentDeploymentType[_]
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.forwardProxyUri == STRING
    input.Body.hasAttachedFlowHooks == BOOLEAN
    input.Body.name == STRING
    input.Body.nodeConfig.maxNodeCount == STRING
    input.Body.nodeConfig.minNodeCount == STRING
    input.Body.properties.property[_].name == STRING
    input.Body.properties.property[_].value == STRING
    input.Body.type == enum_GoogleCloudApigeeV1EnvironmentType[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.updateDebugmask

valid {
    input.Body.faultJSONPaths[_] == STRING
    input.Body.faultXPaths[_] == STRING
    input.Body.name == STRING
    input.Body.namespaces.STRING == STRING
    input.Body.requestJSONPaths[_] == STRING
    input.Body.requestXPaths[_] == STRING
    input.Body.responseJSONPaths[_] == STRING
    input.Body.responseXPaths[_] == STRING
    input.Body.variables[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.replaceRepeatedFields == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.updateEnvironment

enum_GoogleCloudApigeeV1EnvironmentApiProxyType := [ "API_PROXY_TYPE_UNSPECIFIED", "PROGRAMMABLE", "CONFIGURABLE" ]
enum_GoogleCloudApigeeV1EnvironmentDeploymentType := [ "DEPLOYMENT_TYPE_UNSPECIFIED", "PROXY", "ARCHIVE" ]
enum_GoogleCloudApigeeV1EnvironmentType := [ "ENVIRONMENT_TYPE_UNSPECIFIED", "BASE", "INTERMEDIATE", "COMPREHENSIVE" ]

valid {
    input.Body.apiProxyType == enum_GoogleCloudApigeeV1EnvironmentApiProxyType[_]
    input.Body.deploymentType == enum_GoogleCloudApigeeV1EnvironmentDeploymentType[_]
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.forwardProxyUri == STRING
    input.Body.hasAttachedFlowHooks == BOOLEAN
    input.Body.name == STRING
    input.Body.nodeConfig.maxNodeCount == STRING
    input.Body.nodeConfig.minNodeCount == STRING
    input.Body.properties.property[_].name == STRING
    input.Body.properties.property[_].value == STRING
    input.Body.type == enum_GoogleCloudApigeeV1EnvironmentType[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.updateSecurityActionsConfig

valid {
    input.Body.enabled == BOOLEAN
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.environments.updateTraceConfig

enum_GoogleCloudApigeeV1TraceConfigExporter := [ "EXPORTER_UNSPECIFIED", "JAEGER", "CLOUD_TRACE" ]
enum_GoogleCloudApigeeV1TraceSamplingConfigSampler := [ "SAMPLER_UNSPECIFIED", "OFF", "PROBABILITY" ]

valid {
    input.Body.endpoint == STRING
    input.Body.exporter == enum_GoogleCloudApigeeV1TraceConfigExporter[_]
    input.Body.samplingConfig.sampler == enum_GoogleCloudApigeeV1TraceSamplingConfigSampler[_]
    input.Body.samplingConfig.samplingRate == NUMBER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.get

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

apigee.organizations.getDeployedIngressConfig

enum_ViewParameter := [ "INGRESS_CONFIG_VIEW_UNSPECIFIED", "BASIC", "FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.getProjectMapping

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

apigee.organizations.getRuntimeConfig

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

apigee.organizations.getSecuritySettings

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

apigee.organizations.getSyncAuthorization

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.hostQueries.create

valid {
    input.Body.csvDelimiter == STRING
    input.Body.dimensions[_] == STRING
    input.Body.envgroupHostname == STRING
    input.Body.filter == STRING
    input.Body.groupByTimeUnit == STRING
    input.Body.limit == INTEGER
    input.Body.metrics[_].alias == STRING
    input.Body.metrics[_].function == STRING
    input.Body.metrics[_].name == STRING
    input.Body.metrics[_].operator == STRING
    input.Body.metrics[_].value == STRING
    input.Body.name == STRING
    input.Body.outputFormat == STRING
    input.Body.reportDefinitionId == STRING
    input.Body.timeRange == ANY
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.hostQueries.get

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

apigee.organizations.hostQueries.getResult

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

apigee.organizations.hostQueries.getResultView

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

apigee.organizations.hostQueries.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.dataset == STRING
    input.Qs.envgroupHostname == STRING
    input.Qs.from == STRING
    input.Qs.inclQueriesWithoutReport == STRING
    input.Qs.status == STRING
    input.Qs.submittedBy == STRING
    input.Qs.to == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.hostSecurityReports.create

valid {
    input.Body.csvDelimiter == STRING
    input.Body.dimensions[_] == STRING
    input.Body.displayName == STRING
    input.Body.envgroupHostname == STRING
    input.Body.filter == STRING
    input.Body.groupByTimeUnit == STRING
    input.Body.limit == INTEGER
    input.Body.metrics[_].aggregationFunction == STRING
    input.Body.metrics[_].alias == STRING
    input.Body.metrics[_].name == STRING
    input.Body.metrics[_].operator == STRING
    input.Body.metrics[_].value == STRING
    input.Body.mimeType == STRING
    input.Body.reportDefinitionId == STRING
    input.Body.timeRange == ANY
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.hostSecurityReports.get

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

apigee.organizations.hostSecurityReports.getResult

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

apigee.organizations.hostSecurityReports.getResultView

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

apigee.organizations.hostSecurityReports.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.dataset == STRING
    input.Qs.envgroupHostname == STRING
    input.Qs.from == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.status == STRING
    input.Qs.submittedBy == STRING
    input.Qs.to == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.hostStats.get

valid {
    input.ReqMap.name == STRING
    input.Qs.accuracy == STRING
    input.Qs.envgroupHostname == STRING
    input.Qs.filter == STRING
    input.Qs.limit == STRING
    input.Qs.offset == STRING
    input.Qs.realtime == BOOLEAN
    input.Qs.select == STRING
    input.Qs.sort == STRING
    input.Qs.sortby == STRING
    input.Qs.timeRange == STRING
    input.Qs.timeUnit == STRING
    input.Qs.topk == STRING
    input.Qs.tsAscending == BOOLEAN
    input.Qs.tzo == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.attachments.create

valid {
    input.Body.environment == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.attachments.delete

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

apigee.organizations.instances.attachments.get

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

apigee.organizations.instances.attachments.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.canaryevaluations.create

valid {
    input.Body.control == STRING
    input.Body.endTime == STRING
    input.Body.metricLabels.env == STRING
    input.Body.metricLabels.instance_id == STRING
    input.Body.metricLabels.location == STRING
    input.Body.startTime == STRING
    input.Body.treatment == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.canaryevaluations.get

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

apigee.organizations.instances.create

enum_GoogleCloudApigeeV1InstancePeeringCidrRange := [ "CIDR_RANGE_UNSPECIFIED", "SLASH_16", "SLASH_17", "SLASH_18", "SLASH_19", "SLASH_20", "SLASH_22", "SLASH_23" ]

valid {
    input.Body.accessLoggingConfig.enabled == BOOLEAN
    input.Body.accessLoggingConfig.filter == STRING
    input.Body.consumerAcceptList[_] == STRING
    input.Body.description == STRING
    input.Body.diskEncryptionKeyName == STRING
    input.Body.displayName == STRING
    input.Body.ipRange == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.peeringCidrRange == enum_GoogleCloudApigeeV1InstancePeeringCidrRange[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.delete

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

apigee.organizations.instances.get

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

apigee.organizations.instances.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.natAddresses.activate

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.natAddresses.create

valid {
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.natAddresses.delete

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

apigee.organizations.instances.natAddresses.get

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

apigee.organizations.instances.natAddresses.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.patch

enum_GoogleCloudApigeeV1InstancePeeringCidrRange := [ "CIDR_RANGE_UNSPECIFIED", "SLASH_16", "SLASH_17", "SLASH_18", "SLASH_19", "SLASH_20", "SLASH_22", "SLASH_23" ]

valid {
    input.Body.accessLoggingConfig.enabled == BOOLEAN
    input.Body.accessLoggingConfig.filter == STRING
    input.Body.consumerAcceptList[_] == STRING
    input.Body.description == STRING
    input.Body.diskEncryptionKeyName == STRING
    input.Body.displayName == STRING
    input.Body.ipRange == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.peeringCidrRange == enum_GoogleCloudApigeeV1InstancePeeringCidrRange[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.instances.reportStatus

enum_GoogleCloudApigeeV1UpdateErrorCode := [ "OK", "CANCELLED", "UNKNOWN", "INVALID_ARGUMENT", "DEADLINE_EXCEEDED", "NOT_FOUND", "ALREADY_EXISTS", "PERMISSION_DENIED", "UNAUTHENTICATED", "RESOURCE_EXHAUSTED", "FAILED_PRECONDITION", "ABORTED", "OUT_OF_RANGE", "UNIMPLEMENTED", "INTERNAL", "UNAVAILABLE", "DATA_LOSS" ]

valid {
    input.Body.instanceUid == STRING
    input.Body.reportTime == STRING
    input.Body.resources[_].resource == STRING
    input.Body.resources[_].revisions[_].errors[_].code == enum_GoogleCloudApigeeV1UpdateErrorCode[_]
    input.Body.resources[_].revisions[_].errors[_].message == STRING
    input.Body.resources[_].revisions[_].errors[_].resource == STRING
    input.Body.resources[_].revisions[_].errors[_].type == STRING
    input.Body.resources[_].revisions[_].jsonSpec == STRING
    input.Body.resources[_].revisions[_].replicas == INTEGER
    input.Body.resources[_].revisions[_].revisionId == STRING
    input.Body.resources[_].totalReplicas == INTEGER
    input.Body.resources[_].uid == STRING
    input.ReqMap.instance == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.keyvaluemaps.create

valid {
    input.Body.encrypted == BOOLEAN
    input.Body.name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.keyvaluemaps.delete

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

apigee.organizations.keyvaluemaps.entries.create

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.keyvaluemaps.entries.delete

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

apigee.organizations.keyvaluemaps.entries.get

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

apigee.organizations.keyvaluemaps.entries.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.keyvaluemaps.entries.update

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.list

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

apigee.organizations.operations.get

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

apigee.organizations.operations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.optimizedHostStats.get

valid {
    input.ReqMap.name == STRING
    input.Qs.accuracy == STRING
    input.Qs.envgroupHostname == STRING
    input.Qs.filter == STRING
    input.Qs.limit == STRING
    input.Qs.offset == STRING
    input.Qs.realtime == BOOLEAN
    input.Qs.select == STRING
    input.Qs.sort == STRING
    input.Qs.sortby == STRING
    input.Qs.timeRange == STRING
    input.Qs.timeUnit == STRING
    input.Qs.topk == STRING
    input.Qs.tsAscending == BOOLEAN
    input.Qs.tzo == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.reports.create

valid {
    input.Body.chartType == STRING
    input.Body.comments[_] == STRING
    input.Body.dimensions[_] == STRING
    input.Body.displayName == STRING
    input.Body.filter == STRING
    input.Body.fromTime == STRING
    input.Body.limit == STRING
    input.Body.metrics[_].function == STRING
    input.Body.metrics[_].name == STRING
    input.Body.name == STRING
    input.Body.offset == STRING
    input.Body.properties[_].property == STRING
    input.Body.properties[_].value[_].name == STRING
    input.Body.properties[_].value[_].value == STRING
    input.Body.sortByCols[_] == STRING
    input.Body.sortOrder == STRING
    input.Body.tags[_] == STRING
    input.Body.timeUnit == STRING
    input.Body.toTime == STRING
    input.Body.topk == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.reports.delete

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

apigee.organizations.reports.get

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

apigee.organizations.reports.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.expand == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.reports.update

valid {
    input.Body.chartType == STRING
    input.Body.comments[_] == STRING
    input.Body.dimensions[_] == STRING
    input.Body.displayName == STRING
    input.Body.filter == STRING
    input.Body.fromTime == STRING
    input.Body.limit == STRING
    input.Body.metrics[_].function == STRING
    input.Body.metrics[_].name == STRING
    input.Body.name == STRING
    input.Body.offset == STRING
    input.Body.properties[_].property == STRING
    input.Body.properties[_].value[_].name == STRING
    input.Body.properties[_].value[_].value == STRING
    input.Body.sortByCols[_] == STRING
    input.Body.sortOrder == STRING
    input.Body.tags[_] == STRING
    input.Body.timeUnit == STRING
    input.Body.toTime == STRING
    input.Body.topk == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.securityAssessmentResults.batchCompute

enum_GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResourceType := [ "RESOURCE_TYPE_UNSPECIFIED", "API_PROXY" ]

valid {
    input.Body.include.resources[_].name == STRING
    input.Body.include.resources[_].type == enum_GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResourceType[_]
    input.Body.includeAllResources.STRING == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.profile == STRING
    input.Body.scope == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.securityProfiles.create

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.environments[_] == {}
    input.Body.name == STRING
    input.Body.profileConfig.categories[_].abuse.STRING == STRING
    input.Body.profileConfig.categories[_].authorization.STRING == STRING
    input.Body.profileConfig.categories[_].cors.STRING == STRING
    input.Body.profileConfig.categories[_].mediation.STRING == STRING
    input.Body.profileConfig.categories[_].mtls.STRING == STRING
    input.Body.profileConfig.categories[_].threat.STRING == STRING
    input.Body.scoringConfigs[_].description == STRING
    input.Body.scoringConfigs[_].scorePath == STRING
    input.Body.scoringConfigs[_].title == STRING
    input.ReqMap.parent == STRING
    input.Qs.securityProfileId == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.securityProfiles.delete

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

apigee.organizations.securityProfiles.environments.computeEnvironmentScores

valid {
    input.Body.filters[_].scorePath == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timeRange.endTime == STRING
    input.Body.timeRange.startTime == STRING
    input.ReqMap.profileEnvironment == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.securityProfiles.environments.create

valid {
    input.Body.name == STRING
    input.Body.securityProfileRevisionId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.securityProfiles.environments.delete

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

apigee.organizations.securityProfiles.get

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

apigee.organizations.securityProfiles.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.securityProfiles.listRevisions

valid {
    input.ReqMap.name == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.securityProfiles.patch

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.environments[_] == {}
    input.Body.name == STRING
    input.Body.profileConfig.categories[_].abuse.STRING == STRING
    input.Body.profileConfig.categories[_].authorization.STRING == STRING
    input.Body.profileConfig.categories[_].cors.STRING == STRING
    input.Body.profileConfig.categories[_].mediation.STRING == STRING
    input.Body.profileConfig.categories[_].mtls.STRING == STRING
    input.Body.profileConfig.categories[_].threat.STRING == STRING
    input.Body.scoringConfigs[_].description == STRING
    input.Body.scoringConfigs[_].scorePath == STRING
    input.Body.scoringConfigs[_].title == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.setAddons

valid {
    input.Body.addonsConfig.advancedApiOpsConfig.enabled == BOOLEAN
    input.Body.addonsConfig.analyticsConfig.enabled == BOOLEAN
    input.Body.addonsConfig.apiSecurityConfig.enabled == BOOLEAN
    input.Body.addonsConfig.connectorsPlatformConfig.enabled == BOOLEAN
    input.Body.addonsConfig.integrationConfig.enabled == BOOLEAN
    input.Body.addonsConfig.monetizationConfig.enabled == BOOLEAN
    input.ReqMap.org == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.setSyncAuthorization

valid {
    input.Body.etag == STRING
    input.Body.identities[_] == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sharedflows.create

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.parent == STRING
    input.Qs.action == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sharedflows.delete

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

apigee.organizations.sharedflows.deployments.list

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

apigee.organizations.sharedflows.get

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

apigee.organizations.sharedflows.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.includeMetaData == BOOLEAN
    input.Qs.includeRevisions == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sharedflows.revisions.delete

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

apigee.organizations.sharedflows.revisions.deployments.list

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

apigee.organizations.sharedflows.revisions.get

valid {
    input.ReqMap.name == STRING
    input.Qs.format == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sharedflows.revisions.updateSharedFlowRevision

valid {
    input.Body.contentType == STRING
    input.Body.data == STRING
    input.Body.extensions[_].STRING == ANY
    input.ReqMap.name == STRING
    input.Qs.validate == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sites.apicategories.create

valid {
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.siteId == STRING
    input.Body.updateTime == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sites.apicategories.delete

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

apigee.organizations.sites.apicategories.get

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

apigee.organizations.sites.apicategories.list

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

apigee.organizations.sites.apicategories.patch

valid {
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.siteId == STRING
    input.Body.updateTime == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sites.apidocs.create

valid {
    input.Body.anonAllowed == BOOLEAN
    input.Body.apiProductName == STRING
    input.Body.categoryIds[_] == STRING
    input.Body.description == STRING
    input.Body.edgeAPIProductName == STRING
    input.Body.graphqlEndpointUrl == STRING
    input.Body.graphqlSchema == STRING
    input.Body.graphqlSchemaDisplayName == STRING
    input.Body.imageUrl == STRING
    input.Body.published == BOOLEAN
    input.Body.requireCallbackUrl == BOOLEAN
    input.Body.specId == STRING
    input.Body.title == STRING
    input.Body.visibility == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sites.apidocs.delete

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

apigee.organizations.sites.apidocs.get

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

apigee.organizations.sites.apidocs.getDocumentation

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

apigee.organizations.sites.apidocs.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sites.apidocs.update

valid {
    input.Body.anonAllowed == BOOLEAN
    input.Body.apiProductName == STRING
    input.Body.categoryIds[_] == STRING
    input.Body.description == STRING
    input.Body.edgeAPIProductName == STRING
    input.Body.graphqlEndpointUrl == STRING
    input.Body.graphqlSchema == STRING
    input.Body.graphqlSchemaDisplayName == STRING
    input.Body.imageUrl == STRING
    input.Body.published == BOOLEAN
    input.Body.requireCallbackUrl == BOOLEAN
    input.Body.specId == STRING
    input.Body.title == STRING
    input.Body.visibility == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.sites.apidocs.updateDocumentation

valid {
    input.Body.graphqlDocumentation.endpointUri == STRING
    input.Body.graphqlDocumentation.schema.contents == STRING
    input.Body.graphqlDocumentation.schema.displayName == STRING
    input.Body.oasDocumentation.spec.contents == STRING
    input.Body.oasDocumentation.spec.displayName == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.update

enum_GoogleCloudApigeeV1OrganizationBillingType := [ "BILLING_TYPE_UNSPECIFIED", "SUBSCRIPTION", "EVALUATION", "PAYG" ]
enum_GoogleCloudApigeeV1OrganizationRuntimeType := [ "RUNTIME_TYPE_UNSPECIFIED", "CLOUD", "HYBRID" ]
enum_GoogleCloudApigeeV1OrganizationType := [ "TYPE_UNSPECIFIED", "TYPE_TRIAL", "TYPE_PAID", "TYPE_INTERNAL" ]

valid {
    input.Body.addonsConfig.advancedApiOpsConfig.enabled == BOOLEAN
    input.Body.addonsConfig.analyticsConfig.enabled == BOOLEAN
    input.Body.addonsConfig.apiSecurityConfig.enabled == BOOLEAN
    input.Body.addonsConfig.connectorsPlatformConfig.enabled == BOOLEAN
    input.Body.addonsConfig.integrationConfig.enabled == BOOLEAN
    input.Body.addonsConfig.monetizationConfig.enabled == BOOLEAN
    input.Body.analyticsRegion == STRING
    input.Body.apiConsumerDataEncryptionKeyName == STRING
    input.Body.apiConsumerDataLocation == STRING
    input.Body.attributes[_] == STRING
    input.Body.authorizedNetwork == STRING
    input.Body.billingType == enum_GoogleCloudApigeeV1OrganizationBillingType[_]
    input.Body.controlPlaneEncryptionKeyName == STRING
    input.Body.customerName == STRING
    input.Body.description == STRING
    input.Body.disableVpcPeering == BOOLEAN
    input.Body.displayName == STRING
    input.Body.portalDisabled == BOOLEAN
    input.Body.properties.property[_].name == STRING
    input.Body.properties.property[_].value == STRING
    input.Body.runtimeDatabaseEncryptionKeyName == STRING
    input.Body.runtimeType == enum_GoogleCloudApigeeV1OrganizationRuntimeType[_]
    input.Body.type == enum_GoogleCloudApigeeV1OrganizationType[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.organizations.updateSecuritySettings

valid {
    input.Body.mlRetrainingFeedbackEnabled == BOOLEAN
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

apigee.projects.provisionOrganization

valid {
    input.Body.analyticsRegion == STRING
    input.Body.authorizedNetwork == STRING
    input.Body.disableVpcPeering == BOOLEAN
    input.Body.runtimeLocation == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}