MICROSOFT.STORAGESYNC
CloudEndpoints_AfsShareMetadataCertificatePublicKeys
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_Create
valid {
input.Body.properties.storageAccountResourceId == STRING
input.Body.properties.azureFileShareName == STRING
input.Body.properties.storageAccountTenantId == STRING
input.Body.properties.friendlyName == STRING
input.Body.STRING == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_Delete
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_Get
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_ListBySyncGroup
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_PostBackup
valid {
input.Body.azureFileShare == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_PostRestore
valid {
input.Body.partition == STRING
input.Body.replicaGroup == STRING
input.Body.requestId == STRING
input.Body.azureFileShareUri == STRING
input.Body.status == STRING
input.Body.sourceAzureFileShareUri == STRING
input.Body.failedFileList == STRING
input.Body.restoreFileSpec[_].path == STRING
input.Body.restoreFileSpec[_].isdir == BOOLEAN
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_PreBackup
valid {
input.Body.azureFileShare == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_PreRestore
valid {
input.Body.partition == STRING
input.Body.replicaGroup == STRING
input.Body.requestId == STRING
input.Body.azureFileShareUri == STRING
input.Body.status == STRING
input.Body.sourceAzureFileShareUri == STRING
input.Body.backupMetadataPropertyBag == STRING
input.Body.restoreFileSpec[_].path == STRING
input.Body.restoreFileSpec[_].isdir == BOOLEAN
input.Body.pauseWaitForSyncDrainTimePeriodInSeconds == INTEGER
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_TriggerChangeDetection
enum_TriggerChangeDetectionParametersChangeDetectionMode := [ "Default", "Recursive" ]
valid {
input.Body.directoryPath == STRING
input.Body.changeDetectionMode == enum_TriggerChangeDetectionParametersChangeDetectionMode[_]
input.Body.paths[_] == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
CloudEndpoints_restoreheartbeat
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.cloudEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
LocationOperationStatus
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.locationName == STRING
input.ReqMap.operationId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
}
OperationStatus_Get
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.locationName == STRING
input.ReqMap.workflowId == STRING
input.ReqMap.operationId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
Operations_List
valid {
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
}
PrivateEndpointConnections_Create
enum_PrivateEndpointServiceConnectionStatus := [ "Pending", "Approved", "Rejected" ]
valid {
input.Body.properties.privateEndpoint == {}
input.Body.properties.privateLinkServiceConnectionState.status == enum_PrivateEndpointServiceConnectionStatus[_]
input.Body.properties.privateLinkServiceConnectionState.description == STRING
input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.privateEndpointConnectionName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
PrivateEndpointConnections_Delete
valid {
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.privateEndpointConnectionName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
PrivateEndpointConnections_Get
valid {
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.privateEndpointConnectionName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
PrivateEndpointConnections_ListByStorageSyncService
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
PrivateLinkResources_ListByStorageSyncService
valid {
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.SubscriptionID == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
RegisteredServers_Create
valid {
input.Body.properties.serverCertificate == STRING
input.Body.properties.agentVersion == STRING
input.Body.properties.serverOSVersion == STRING
input.Body.properties.lastHeartBeat == STRING
input.Body.properties.serverRole == STRING
input.Body.properties.clusterId == STRING
input.Body.properties.clusterName == STRING
input.Body.properties.serverId == STRING
input.Body.properties.friendlyName == STRING
input.Body.properties.applicationId == STRING
input.Body.properties.identity == BOOLEAN
input.Body.STRING == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.serverId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
RegisteredServers_Delete
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.serverId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
RegisteredServers_Get
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.serverId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
RegisteredServers_ListByStorageSyncService
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
RegisteredServers_Update
valid {
input.Body.properties.identity == BOOLEAN
input.Body.STRING == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.serverId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
RegisteredServers_triggerRollover
valid {
input.Body.serverCertificate == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.serverId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
ServerEndpoints_Create
enum_FeatureStatus := [ "on", "off" ]
enum_InitialDownloadPolicy := [ "NamespaceOnly", "NamespaceThenModifiedFiles", "AvoidTieredFiles" ]
enum_InitialUploadPolicy := [ "ServerAuthoritative", "Merge" ]
enum_LocalCacheMode := [ "DownloadNewAndModifiedFiles", "UpdateLocallyCachedFiles" ]
valid {
input.Body.properties.serverLocalPath == STRING
input.Body.properties.cloudTiering == enum_FeatureStatus[_]
input.Body.properties.volumeFreeSpacePercent == INTEGER
input.Body.properties.tierFilesOlderThanDays == INTEGER
input.Body.properties.friendlyName == STRING
input.Body.properties.serverResourceId == STRING
input.Body.properties.offlineDataTransfer == enum_FeatureStatus[_]
input.Body.properties.offlineDataTransferShareName == STRING
input.Body.properties.initialDownloadPolicy == enum_InitialDownloadPolicy[_]
input.Body.properties.localCacheMode == enum_LocalCacheMode[_]
input.Body.properties.initialUploadPolicy == enum_InitialUploadPolicy[_]
input.Body.STRING == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.serverEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
ServerEndpoints_Delete
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.serverEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
ServerEndpoints_Get
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.serverEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
ServerEndpoints_ListBySyncGroup
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
ServerEndpoints_Update
enum_FeatureStatus := [ "on", "off" ]
enum_LocalCacheMode := [ "DownloadNewAndModifiedFiles", "UpdateLocallyCachedFiles" ]
valid {
input.Body.properties.cloudTiering == enum_FeatureStatus[_]
input.Body.properties.volumeFreeSpacePercent == INTEGER
input.Body.properties.tierFilesOlderThanDays == INTEGER
input.Body.properties.offlineDataTransfer == enum_FeatureStatus[_]
input.Body.properties.offlineDataTransferShareName == STRING
input.Body.properties.localCacheMode == enum_LocalCacheMode[_]
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.serverEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
ServerEndpoints_recallAction
valid {
input.Body.pattern == STRING
input.Body.recallPath == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.ReqMap.serverEndpointName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
StorageSyncServices_CheckNameAvailability
enum_CheckNameAvailabilityParametersType := [ "Microsoft.StorageSync/storageSyncServices" ]
valid {
input.Body.name == STRING
input.Body.type == enum_CheckNameAvailabilityParametersType[_]
input.ReqMap.locationName == STRING
input.ReqMap.SubscriptionID == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
}
StorageSyncServices_Create
enum_IncomingTrafficPolicy := [ "AllowAllTraffic", "AllowVirtualNetworksOnly" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
valid {
input.Body.identity.type == enum_ManagedServiceIdentityType[_]
input.Body.identity.userAssignedIdentities.STRING == {}
input.Body.properties.incomingTrafficPolicy == enum_IncomingTrafficPolicy[_]
input.Body.properties.useIdentity == BOOLEAN
input.Body.tags.STRING == STRING
input.Body.location == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
StorageSyncServices_Delete
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
StorageSyncServices_Get
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
StorageSyncServices_ListByResourceGroup
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
StorageSyncServices_ListBySubscription
valid {
input.ReqMap.SubscriptionID == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
}
StorageSyncServices_Update
enum_IncomingTrafficPolicy := [ "AllowAllTraffic", "AllowVirtualNetworksOnly" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
valid {
input.Body.tags.STRING == STRING
input.Body.identity.type == enum_ManagedServiceIdentityType[_]
input.Body.identity.userAssignedIdentities.STRING == {}
input.Body.properties.incomingTrafficPolicy == enum_IncomingTrafficPolicy[_]
input.Body.properties.useIdentity == BOOLEAN
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
SyncGroups_Create
valid {
input.Body.properties.STRING == STRING
input.Body.STRING == STRING
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
SyncGroups_Delete
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
SyncGroups_Get
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.syncGroupName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
SyncGroups_ListByStorageSyncService
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
Workflows_Abort
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.workflowId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
Workflows_Get
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.ReqMap.workflowId == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
Workflows_ListByStorageSyncService
valid {
input.ReqMap.SubscriptionID == STRING
input.ReqMap.ResourceGroup == STRING
input.ReqMap.storageSyncServiceName == STRING
input.Qs.api-version == STRING
input.ProviderMetadata.Region == STRING
input.ProviderMetadata.SubscriptionID == STRING
input.ProviderMetadata.ResourceGroup == STRING
}
Updated 8 months ago