@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Artifact API
@version 2019-09-30
@auth OAuth2
@common_fields {subscriptionId: any # The Azure Subscription ID., resourceGroupName: any # The Name of the resource group in which the workspace is located., workspaceName: any # The name of the workspace.}
@endpoints 18
@toc artifact(18)

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/metadata
@desc Create Artifact.
@required {artifact: map # The Artifact details.}
@returns(200) The Artifact is created successfully.

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/register
@desc Create an Artifact for an existing data location.
@required {artifact: map # The Artifact creation details.}
@returns(200) The Artifact is created successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/metadata
@desc Get Artifact metadata by Id.
@required {origin: any # The origin of the Artifact., container: any # The container name., path: any # The Artifact Path.}
@returns(200) The details of the Artifact are returned successfully.

@endpoint DELETE /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/metadata
@desc Delete Artifact Metadata.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path., hardDelete: any # If set to true. The delete cannot be revert at later time.}
@returns(200) The Artifact metadata deleted successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}
@desc Get Artifacts metadata in a container or path.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path., continuationToken: any # The continuation token.}
@returns(200) The details of the Artifacts are returned successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/content
@desc Get Artifact content by Id.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path.}
@returns(200) File Response

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/content
@desc Upload Artifact content.
@required {origin: any # The origin of the Artifact., container: any # The container name., content: str(binary) # The file upload.}
@optional {path: any # The Artifact Path., index: any # The index., append: any # Whether or not to append the content or replace it., allowOverwrite: any # whether to allow overwrite if Artifact Content exist already. when set to true, Overwrite happens if Artifact Content already exists}
@returns(200) The Artifact content is uploaded successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/contentinfo
@desc Get Artifact content information.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path.}
@returns(200) The Artifact content information is returned successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/contentinfo/storageuri
@desc Get Artifact storage content information.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path.}
@returns(200) The Artifact storage content information is returned successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/write
@desc Get writable shared access signature for Artifact.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path.}
@returns(200) The Artifact writable shared access signature is returned successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/prefix/contentinfo
@desc Get shared access signature for an Artifact
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path., continuationToken: any # The continuation token.}
@returns(200) The Artifact writable shared access signature is returned successfully.

@endpoint GET /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/prefix/contentinfo/storageuri
@desc Get storage Uri for Artifacts in a path.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {path: any # The Artifact Path., continuationToken: any # The continuation token.}
@returns(200) The Artifact storage uri is returned successfully.

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/batch/metadata
@desc Get Batch Artifacts by Ids.
@required {artifactIds: map # The command for Batch Artifact get request.}
@returns(200) The requested Batch Artifacts are returned successfully.

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/storageuri/batch/metadata
@desc Get Batch Artifacts storage by Ids.
@required {artifactIds: map # The list of artifactIds to get.}
@returns(200) The Batch Artifact's storage are returned successfully.

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/ingest/containersas
@desc Batch ingest using shared access signature.
@required {origin: any # The origin of the Artifact., container: any # The container name., artifactContainerSas: map # The artifact container shared access signature to use for batch ingest.}
@returns(200) The Batch is ingested using shared access signature successfully.

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/metadata
@desc Create a batch of empty Artifacts.
@required {origin: any # The origin of the Artifact., container: any # The container name., artifactPaths: map # The list of Artifact paths to create.}
@returns(200) The Batch of empty Artifacts created successfully.

@endpoint POST /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/metadata:delete
@desc Delete Batch of Artifact Metadata.
@required {origin: any # The origin of the Artifact., container: any # The container name., artifactPaths: map # The list of Artifact paths to delete.}
@optional {hardDelete: any # If set to true, the delete cannot be reverted at a later time.}
@returns(200) The batch delete of Artifact metadata completed successfully.

@endpoint DELETE /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch
@desc Delete Artifact Metadata.
@required {origin: any # The origin of the Artifact., container: any # The container name.}
@optional {hardDelete: any # If set to true. The delete cannot be revert at later time.}
@returns(200) The Artifact metadata deleted successfully.

@end
