UNPKG

appcenter-cli

Version:

Command line tool for Visual Studio App Center

1,085 lines (1,058 loc) 34.4 kB
/* * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { Releases } from "../operationsInterfaces"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AppCenterClient } from "../appCenterClient"; import { ReleasesListTesterAppsOptionalParams, ReleasesListTesterAppsResponse, ReleasesGetLatestByHashOptionalParams, ReleasesGetLatestByHashResponse, ReleasesGetLatestPrivateReleaseOptionalParams, ReleasesGetLatestPrivateReleaseResponse, ReleasesDeleteTesterFromDestinationsOptionalParams, ReleasesDeleteTesterFromDestinationsResponse, ReleasesPutDistributionTesterOptionalParams, ReleasesPutDistributionTesterResponse, ReleasesDeleteDistributionTesterOptionalParams, ReleasesDeleteDistributionTesterResponse, ReleasesAddTestersOptionalParams, ReleasesAddTestersResponse, ReleasesDeleteDistributionStoreOptionalParams, ReleasesDeleteDistributionStoreResponse, ReleasesAddStoreOptionalParams, ReleasesAddStoreResponse, ReleasesPutDistributionGroupOptionalParams, ReleasesPutDistributionGroupResponse, ReleasesDeleteDistributionGroupOptionalParams, ReleasesDeleteDistributionGroupResponse, ReleasesAddDistributionGroupOptionalParams, ReleasesAddDistributionGroupResponse, ReleasesGetLatestByUserOptionalParams, ReleasesGetLatestByUserResponse, ReleasesUpdateDetailsOptionalParams, ReleasesUpdateDetailsResponse, Paths1Veut4NV01AppsOwnerNameAppNameReleasesReleaseIdPatchRequestbodyContentApplicationJsonSchema, ReleasesUpdateOptionalParams, ReleasesUpdateResponse, ReleasesDeleteOptionalParams, ReleasesDeleteResponse, ReleasesAvailableToTesterOptionalParams, ReleasesAvailableToTesterResponse, ReleasesListOptionalParams, ReleasesListResponse, ReleasesListLatestOptionalParams, ReleasesListLatestResponse, ReleasesGetLatestByDistributionGroupOptionalParams, ReleasesGetLatestByDistributionGroupResponse, ReleasesDeleteWithDistributionGroupIdOptionalParams, ReleasesListByDistributionGroupOptionalParams, ReleasesListByDistributionGroupResponse } from "../models"; /** Class containing Releases operations. */ export class ReleasesImpl implements Releases { private readonly client: AppCenterClient; /** * Initialize a new instance of the class Releases class. * @param client Reference to the service client */ constructor(client: AppCenterClient) { this.client = client; } /** * Return a list of applications that the user has tester permission to with the latest release for * each. * @param options The options parameters. */ listTesterApps( options?: ReleasesListTesterAppsOptionalParams ): Promise<ReleasesListTesterAppsResponse> { return this.client.sendOperationRequest( { options }, listTesterAppsOperationSpec ); } /** * If 'latest' is not specified then it will return the specified release if it's enabled. If 'latest' * is specified, regardless of whether a release hash is provided, the latest enabled release is * returned. * @param appSecret The secret of the target application * @param releaseHash The hash of the release or 'latest' to get the latest release from all the * distribution groups assigned to the current user. * @param options The options parameters. */ getLatestByHash( appSecret: string, releaseHash: string, options?: ReleasesGetLatestByHashOptionalParams ): Promise<ReleasesGetLatestByHashResponse> { return this.client.sendOperationRequest( { appSecret, releaseHash, options }, getLatestByHashOperationSpec ); } /** * Get the latest release distributed to a private group the given user is a member of for the given * app. * @param appSecret The secret of the target application * @param options The options parameters. */ getLatestPrivateRelease( appSecret: string, options?: ReleasesGetLatestPrivateReleaseOptionalParams ): Promise<ReleasesGetLatestPrivateReleaseResponse> { return this.client.sendOperationRequest( { appSecret, options }, getLatestPrivateReleaseOperationSpec ); } /** * Delete the given tester from the all releases * @param testerId The id of the tester * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ deleteTesterFromDestinations( testerId: string, ownerName: string, appName: string, options?: ReleasesDeleteTesterFromDestinationsOptionalParams ): Promise<ReleasesDeleteTesterFromDestinationsResponse> { return this.client.sendOperationRequest( { testerId, ownerName, appName, options }, deleteTesterFromDestinationsOperationSpec ); } /** * Update details about the specified tester associated with the release * @param releaseId The ID of the release * @param testerId The id of the tester * @param ownerName The name of the owner * @param appName The name of the application * @param mandatoryUpdate Whether a release is mandatory for the given destination * @param options The options parameters. */ putDistributionTester( releaseId: number, testerId: string, ownerName: string, appName: string, mandatoryUpdate: boolean, options?: ReleasesPutDistributionTesterOptionalParams ): Promise<ReleasesPutDistributionTesterResponse> { return this.client.sendOperationRequest( { releaseId, testerId, ownerName, appName, mandatoryUpdate, options }, putDistributionTesterOperationSpec ); } /** * Delete the given tester from the release * @param releaseId The ID of the release * @param testerId The id of the tester * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ deleteDistributionTester( releaseId: number, testerId: string, ownerName: string, appName: string, options?: ReleasesDeleteDistributionTesterOptionalParams ): Promise<ReleasesDeleteDistributionTesterResponse> { return this.client.sendOperationRequest( { releaseId, testerId, ownerName, appName, options }, deleteDistributionTesterOperationSpec ); } /** * Distributes a release to a user * @param releaseId The ID of the release * @param ownerName The name of the owner * @param appName The name of the application * @param email Tester's email address * @param options The options parameters. */ addTesters( releaseId: number, ownerName: string, appName: string, email: string, options?: ReleasesAddTestersOptionalParams ): Promise<ReleasesAddTestersResponse> { return this.client.sendOperationRequest( { releaseId, ownerName, appName, email, options }, addTestersOperationSpec ); } /** * Delete the given distribution store from the release * @param releaseId The ID of the release * @param storeId The id of the distribution store * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ deleteDistributionStore( releaseId: number, storeId: string, ownerName: string, appName: string, options?: ReleasesDeleteDistributionStoreOptionalParams ): Promise<ReleasesDeleteDistributionStoreResponse> { return this.client.sendOperationRequest( { releaseId, storeId, ownerName, appName, options }, deleteDistributionStoreOperationSpec ); } /** * Distributes a release to a store * @param releaseId The ID of the release * @param ownerName The name of the owner * @param appName The name of the application * @param id Unique id of the release destination * @param options The options parameters. */ addStore( releaseId: number, ownerName: string, appName: string, id: string, options?: ReleasesAddStoreOptionalParams ): Promise<ReleasesAddStoreResponse> { return this.client.sendOperationRequest( { releaseId, ownerName, appName, id, options }, addStoreOperationSpec ); } /** * Update details about the specified distribution group associated with the release * @param releaseId The ID of the release * @param groupId The id of the releases destination * @param ownerName The name of the owner * @param appName The name of the application * @param mandatoryUpdate Whether a release is mandatory for the given destination * @param options The options parameters. */ putDistributionGroup( releaseId: number, groupId: string, ownerName: string, appName: string, mandatoryUpdate: boolean, options?: ReleasesPutDistributionGroupOptionalParams ): Promise<ReleasesPutDistributionGroupResponse> { return this.client.sendOperationRequest( { releaseId, groupId, ownerName, appName, mandatoryUpdate, options }, putDistributionGroupOperationSpec ); } /** * Delete the given distribution group from the release * @param releaseId The ID of the release * @param groupId The id of the distribution group * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ deleteDistributionGroup( releaseId: number, groupId: string, ownerName: string, appName: string, options?: ReleasesDeleteDistributionGroupOptionalParams ): Promise<ReleasesDeleteDistributionGroupResponse> { return this.client.sendOperationRequest( { releaseId, groupId, ownerName, appName, options }, deleteDistributionGroupOperationSpec ); } /** * Distributes a release to a group * @param releaseId The ID of the release * @param ownerName The name of the owner * @param appName The name of the application * @param id Unique id of the release destination * @param options The options parameters. */ addDistributionGroup( releaseId: number, ownerName: string, appName: string, id: string, options?: ReleasesAddDistributionGroupOptionalParams ): Promise<ReleasesAddDistributionGroupResponse> { return this.client.sendOperationRequest( { releaseId, ownerName, appName, id, options }, addDistributionGroupOperationSpec ); } /** * Get a release with id `release_id`. If `release_id` is `latest`, return the latest release that was * distributed to the current user (from all the distribution groups). * @param releaseId The ID of the release, or `latest` to get the latest release from all the * distribution groups assigned to the current user. * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ getLatestByUser( releaseId: string, ownerName: string, appName: string, options?: ReleasesGetLatestByUserOptionalParams ): Promise<ReleasesGetLatestByUserResponse> { return this.client.sendOperationRequest( { releaseId, ownerName, appName, options }, getLatestByUserOperationSpec ); } /** * Update details of a release. * @param releaseId The ID of the release * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ updateDetails( releaseId: number, ownerName: string, appName: string, options?: ReleasesUpdateDetailsOptionalParams ): Promise<ReleasesUpdateDetailsResponse> { return this.client.sendOperationRequest( { releaseId, ownerName, appName, options }, updateDetailsOperationSpec ); } /** * Updates a release. * @param releaseId The ID of the release * @param ownerName The name of the owner * @param appName The name of the application * @param body The release information. * @param options The options parameters. */ update( releaseId: number, ownerName: string, appName: string, body: Paths1Veut4NV01AppsOwnerNameAppNameReleasesReleaseIdPatchRequestbodyContentApplicationJsonSchema, options?: ReleasesUpdateOptionalParams ): Promise<ReleasesUpdateResponse> { return this.client.sendOperationRequest( { releaseId, ownerName, appName, body, options }, updateOperationSpec ); } /** * Deletes a release. * @param releaseId The ID of the release * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ delete( releaseId: number, ownerName: string, appName: string, options?: ReleasesDeleteOptionalParams ): Promise<ReleasesDeleteResponse> { return this.client.sendOperationRequest( { releaseId, ownerName, appName, options }, deleteOperationSpec ); } /** * Return detailed information about releases avaiable to a tester. * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ availableToTester( ownerName: string, appName: string, options?: ReleasesAvailableToTesterOptionalParams ): Promise<ReleasesAvailableToTesterResponse> { return this.client.sendOperationRequest( { ownerName, appName, options }, availableToTesterOperationSpec ); } /** * Return basic information about releases. * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ list( ownerName: string, appName: string, options?: ReleasesListOptionalParams ): Promise<ReleasesListResponse> { return this.client.sendOperationRequest( { ownerName, appName, options }, listOperationSpec ); } /** * Get the latest release from every distribution group associated with an application. * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ listLatest( ownerName: string, appName: string, options?: ReleasesListLatestOptionalParams ): Promise<ReleasesListLatestResponse> { return this.client.sendOperationRequest( { ownerName, appName, options }, listLatestOperationSpec ); } /** * Return detailed information about a distributed release in a given distribution group. * @param ownerName The name of the app owner * @param appName The name of the app * @param distributionGroupName The name of the distribution group. * @param releaseId Also supports the constant `latest`, which will return the latest release in the * distribution group. * @param options The options parameters. */ getLatestByDistributionGroup( ownerName: string, appName: string, distributionGroupName: string, releaseId: string, options?: ReleasesGetLatestByDistributionGroupOptionalParams ): Promise<ReleasesGetLatestByDistributionGroupResponse> { return this.client.sendOperationRequest( { ownerName, appName, distributionGroupName, releaseId, options }, getLatestByDistributionGroupOperationSpec ); } /** * Deletes a release with id 'release_id' in a given distribution group. * @param ownerName The name of the app owner * @param appName The name of the app * @param distributionGroupName The name of the distribution group. * @param releaseId The ID identifying the unique release. * @param options The options parameters. */ deleteWithDistributionGroupId( ownerName: string, appName: string, distributionGroupName: string, releaseId: number, options?: ReleasesDeleteWithDistributionGroupIdOptionalParams ): Promise<void> { return this.client.sendOperationRequest( { ownerName, appName, distributionGroupName, releaseId, options }, deleteWithDistributionGroupIdOperationSpec ); } /** * Return basic information about distributed releases in a given distribution group. * @param distributionGroupName The name of the distribution group. * @param ownerName The name of the owner * @param appName The name of the application * @param options The options parameters. */ listByDistributionGroup( distributionGroupName: string, ownerName: string, appName: string, options?: ReleasesListByDistributionGroupOptionalParams ): Promise<ReleasesListByDistributionGroupResponse> { return this.client.sendOperationRequest( { distributionGroupName, ownerName, appName, options }, listByDistributionGroupOperationSpec ); } } // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); const listTesterAppsOperationSpec: coreClient.OperationSpec = { path: "/v0.1/tester/apps", httpMethod: "GET", responses: { 200: { bodyMapper: { type: { name: "Sequence", element: { type: { name: "Composite", className: "PathsFvdb99V01TesterAppsGetResponses200ContentApplicationJsonSchemaItems" } } } } } }, urlParameters: [Parameters.$host], headerParameters: [Parameters.accept], serializer }; const getLatestByHashOperationSpec: coreClient.OperationSpec = { path: "/v0.1/sdk/apps/{app_secret}/releases/{release_hash}", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Paths3NwxqsV01SdkAppsAppSecretReleasesReleaseHashGetResponses200ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.Paths5W4BybV01SdkAppsAppSecretReleasesReleaseHashGetResponses404ContentApplicationJsonSchema } }, queryParameters: [Parameters.udid], urlParameters: [ Parameters.$host, Parameters.appSecret, Parameters.releaseHash ], headerParameters: [Parameters.accept], serializer }; const getLatestPrivateReleaseOperationSpec: coreClient.OperationSpec = { path: "/v0.1/sdk/apps/{app_secret}/releases/private/latest", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Paths1Wkh2MwV01SdkAppsAppSecretReleasesPrivateLatestGetResponses200ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.Paths1WkrcwmV01SdkAppsAppSecretReleasesPrivateLatestGetResponses404ContentApplicationJsonSchema } }, queryParameters: [Parameters.udid], urlParameters: [Parameters.$host, Parameters.appSecret], headerParameters: [Parameters.accept], serializer }; const deleteTesterFromDestinationsOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/testers/{tester_id}", httpMethod: "DELETE", responses: { 200: {}, 404: { bodyMapper: Mappers.Paths16X7GfoV01AppsOwnerNameAppNameTestersTesterIdDeleteResponses404ContentApplicationJsonSchema } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.testerId ], headerParameters: [Parameters.accept], serializer }; const putDistributionTesterOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers/{tester_id}", httpMethod: "PUT", responses: { 200: {}, 404: { bodyMapper: Mappers.Paths7J8CcmV01AppsOwnerNameAppNameReleasesReleaseIdTestersTesterIdPutResponses404ContentApplicationJsonSchema } }, requestBody: { parameterPath: { mandatoryUpdate: ["mandatoryUpdate"] }, mapper: { ...Mappers.PathsOjvewzV01AppsOwnerNameAppNameReleasesReleaseIdTestersTesterIdPutRequestbodyContentApplicationJsonSchema, required: true } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2, Parameters.testerId1 ], headerParameters: [Parameters.contentType, Parameters.accept], mediaType: "json", serializer }; const deleteDistributionTesterOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers/{tester_id}", httpMethod: "DELETE", responses: { 200: {}, 404: { bodyMapper: Mappers.Paths1RmbaiiV01AppsOwnerNameAppNameReleasesReleaseIdTestersTesterIdDeleteResponses404ContentApplicationJsonSchema } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.testerId, Parameters.releaseId2 ], headerParameters: [Parameters.accept], serializer }; const addTestersOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers", httpMethod: "POST", responses: { 201: { bodyMapper: Mappers.Paths5WvwkdV01AppsOwnerNameAppNameReleasesReleaseIdTestersPostResponses201ContentApplicationJsonSchema }, 400: { bodyMapper: Mappers.PathsVb1DjeV01AppsOwnerNameAppNameReleasesReleaseIdTestersPostResponses400ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.Paths1P68AoeV01AppsOwnerNameAppNameReleasesReleaseIdTestersPostResponses404ContentApplicationJsonSchema } }, requestBody: { parameterPath: { mandatoryUpdate: ["options", "mandatoryUpdate"], email: ["email"], notifyTesters: ["options", "notifyTesters"] }, mapper: { ...Mappers.PathsF6Ye6UV01AppsOwnerNameAppNameReleasesReleaseIdTestersPostRequestbodyContentApplicationJsonSchema, required: true } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2 ], headerParameters: [Parameters.contentType, Parameters.accept], mediaType: "json", serializer }; const deleteDistributionStoreOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores/{store_id}", httpMethod: "DELETE", responses: { 200: {}, 404: { bodyMapper: Mappers.Paths1BbvdowV01AppsOwnerNameAppNameReleasesReleaseIdStoresStoreIdDeleteResponses404ContentApplicationJsonSchema } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2, Parameters.storeId ], headerParameters: [Parameters.accept], serializer }; const addStoreOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores", httpMethod: "POST", responses: { 201: { bodyMapper: Mappers.Paths1Tn9O5V01AppsOwnerNameAppNameReleasesReleaseIdStoresPostResponses201ContentApplicationJsonSchema }, 400: { bodyMapper: Mappers.Paths1Kf4BpnV01AppsOwnerNameAppNameReleasesReleaseIdStoresPostResponses400ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.Paths1T5QljtV01AppsOwnerNameAppNameReleasesReleaseIdStoresPostResponses404ContentApplicationJsonSchema } }, requestBody: { parameterPath: { id: ["id"] }, mapper: { ...Mappers.Paths19I3T9ZV01AppsOwnerNameAppNameReleasesReleaseIdStoresPostRequestbodyContentApplicationJsonSchema, required: true } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2 ], headerParameters: [Parameters.contentType, Parameters.accept], mediaType: "json", serializer }; const putDistributionGroupOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id}", httpMethod: "PUT", responses: { 200: {}, 404: { bodyMapper: Mappers.Paths11Dzu4BV01AppsOwnerNameAppNameReleasesReleaseIdGroupsGroupIdPutResponses404ContentApplicationJsonSchema } }, requestBody: { parameterPath: { mandatoryUpdate: ["mandatoryUpdate"] }, mapper: { ...Mappers.Paths1Y3U3TvV01AppsOwnerNameAppNameReleasesReleaseIdGroupsGroupIdPutRequestbodyContentApplicationJsonSchema, required: true } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2, Parameters.groupId ], headerParameters: [Parameters.contentType, Parameters.accept], mediaType: "json", serializer }; const deleteDistributionGroupOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id}", httpMethod: "DELETE", responses: { 200: {}, 404: { bodyMapper: Mappers.Paths1Nrzr5YV01AppsOwnerNameAppNameReleasesReleaseIdGroupsGroupIdDeleteResponses404ContentApplicationJsonSchema } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2, Parameters.groupId1 ], headerParameters: [Parameters.accept], serializer }; const addDistributionGroupOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups", httpMethod: "POST", responses: { 201: { bodyMapper: Mappers.PathsFv6EorV01AppsOwnerNameAppNameReleasesReleaseIdGroupsPostResponses201ContentApplicationJsonSchema }, 400: { bodyMapper: Mappers.PathsPtrb07V01AppsOwnerNameAppNameReleasesReleaseIdGroupsPostResponses400ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.Paths19Ueda8V01AppsOwnerNameAppNameReleasesReleaseIdGroupsPostResponses404ContentApplicationJsonSchema } }, requestBody: { parameterPath: { id: ["id"], mandatoryUpdate: ["options", "mandatoryUpdate"], notifyTesters: ["options", "notifyTesters"] }, mapper: { ...Mappers.Paths1Jif7RyV01AppsOwnerNameAppNameReleasesReleaseIdGroupsPostRequestbodyContentApplicationJsonSchema, required: true } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2 ], headerParameters: [Parameters.contentType, Parameters.accept], mediaType: "json", serializer }; const getLatestByUserOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Paths1Wtl5HpV01AppsOwnerNameAppNameReleasesReleaseIdGetResponses200ContentApplicationJsonSchema }, 400: { bodyMapper: Mappers.Paths1LeydabV01AppsOwnerNameAppNameReleasesReleaseIdGetResponses400ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.Paths6Hivb0V01AppsOwnerNameAppNameReleasesReleaseIdGetResponses404ContentApplicationJsonSchema } }, queryParameters: [Parameters.udid], urlParameters: [ Parameters.$host, Parameters.releaseId, Parameters.ownerName, Parameters.appName ], headerParameters: [Parameters.accept], serializer }; const updateDetailsOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}", httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.PathsMeoh5V01AppsOwnerNameAppNameReleasesReleaseIdPutResponses200ContentApplicationJsonSchema }, 400: { bodyMapper: Mappers.Paths1Ufxd2QV01AppsOwnerNameAppNameReleasesReleaseIdPutResponses400ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.PathsAuajt0V01AppsOwnerNameAppNameReleasesReleaseIdPutResponses404ContentApplicationJsonSchema } }, requestBody: { parameterPath: { enabled: ["options", "enabled"], releaseNotes: ["options", "releaseNotes"], build: ["options", "build"] }, mapper: { ...Mappers.PathsQ3NwdwV01AppsOwnerNameAppNameReleasesReleaseIdPutRequestbodyContentApplicationJsonSchema, required: true } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2 ], headerParameters: [Parameters.contentType, Parameters.accept], mediaType: "json", serializer }; const updateOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}", httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Paths1FopftvV01AppsOwnerNameAppNameReleasesReleaseIdPatchResponses200ContentApplicationJsonSchema }, 400: { bodyMapper: Mappers.Paths5XfktV01AppsOwnerNameAppNameReleasesReleaseIdPatchResponses400ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.PathsW9K4UlV01AppsOwnerNameAppNameReleasesReleaseIdPatchResponses404ContentApplicationJsonSchema } }, requestBody: Parameters.body5, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2 ], headerParameters: [Parameters.contentType, Parameters.accept], mediaType: "json", serializer }; const deleteOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}", httpMethod: "DELETE", responses: { 200: {}, 404: { bodyMapper: Mappers.PathsQra1HiV01AppsOwnerNameAppNameReleasesReleaseIdDeleteResponses404ContentApplicationJsonSchema }, 500: { bodyMapper: Mappers.Paths1Lqk8FbV01AppsOwnerNameAppNameReleasesReleaseIdDeleteResponses500ContentApplicationJsonSchema } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.releaseId2 ], headerParameters: [Parameters.accept], serializer }; const availableToTesterOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases/filter_by_tester", httpMethod: "GET", responses: { 200: { bodyMapper: { type: { name: "Sequence", element: { type: { name: "Composite", className: "Paths146V2RtV01AppsOwnerNameAppNameReleasesFilterByTesterGetResponses200ContentApplicationJsonSchemaItems" } } } } } }, queryParameters: [Parameters.publishedOnly], urlParameters: [Parameters.$host, Parameters.ownerName, Parameters.appName], headerParameters: [Parameters.accept], serializer }; const listOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/releases", httpMethod: "GET", responses: { 200: { bodyMapper: { type: { name: "Sequence", element: { type: { name: "Composite", className: "Paths13M4B1YV01AppsOwnerNameAppNameReleasesGetResponses200ContentApplicationJsonSchemaItems" } } } } } }, queryParameters: [Parameters.publishedOnly, Parameters.scope], urlParameters: [Parameters.$host, Parameters.ownerName, Parameters.appName], headerParameters: [Parameters.accept], serializer }; const listLatestOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/recent_releases", httpMethod: "GET", responses: { 200: { bodyMapper: { type: { name: "Sequence", element: { type: { name: "Composite", className: "PathsYi44H6V01AppsOwnerNameAppNameRecentReleasesGetResponses200ContentApplicationJsonSchemaItems" } } } } } }, urlParameters: [Parameters.$host, Parameters.ownerName, Parameters.appName], headerParameters: [Parameters.accept], serializer }; const getLatestByDistributionGroupOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases/{release_id}", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Paths7CegcuV01AppsOwnerNameAppNameDistributionGroupsDistributionGroupNameReleasesReleaseIdGetResponses200ContentApplicationJsonSchema }, 404: { bodyMapper: Mappers.Paths1Hpnd2WV01AppsOwnerNameAppNameDistributionGroupsDistributionGroupNameReleasesReleaseIdGetResponses404ContentApplicationJsonSchema }, 501: { bodyMapper: Mappers.PathsOst83YV01AppsOwnerNameAppNameDistributionGroupsDistributionGroupNameReleasesReleaseIdGetResponses501ContentApplicationJsonSchema } }, urlParameters: [ Parameters.$host, Parameters.releaseId, Parameters.ownerName, Parameters.appName, Parameters.distributionGroupName ], headerParameters: [Parameters.accept], serializer }; const deleteWithDistributionGroupIdOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases/{release_id}", httpMethod: "DELETE", responses: { 200: {}, 404: {} }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.distributionGroupName, Parameters.releaseId2 ], serializer }; const listByDistributionGroupOperationSpec: coreClient.OperationSpec = { path: "/v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases", httpMethod: "GET", responses: { 200: { bodyMapper: { type: { name: "Sequence", element: { type: { name: "Composite", className: "PathsHninlmV01AppsOwnerNameAppNameDistributionGroupsDistributionGroupNameReleasesGetResponses200ContentApplicationJsonSchemaItems" } } } } }, 404: { bodyMapper: Mappers.Paths1JakpdqV01AppsOwnerNameAppNameDistributionGroupsDistributionGroupNameReleasesGetResponses404ContentApplicationJsonSchema } }, urlParameters: [ Parameters.$host, Parameters.ownerName, Parameters.appName, Parameters.distributionGroupName ], headerParameters: [Parameters.accept], serializer };