appcenter-cli
Version:
Command line tool for Visual Studio App Center
206 lines (201 loc) • 6.19 kB
JavaScript
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
*/
'use strict';
/**
* A request containing information for creating a release.
*
*/
class ReleaseCreateRequest {
/**
* Create a ReleaseCreateRequest.
* @property {string} [uploadedBy] The user that uploaded the build.
* @property {string} name The display name of the app, extracted from the
* build.
* @property {string} version The release's version.<br>
* For iOS: CFBundleVersion from info.plist.<br>
* For Android: android:versionCode from AppManifest.xml.
* @property {string} buildVersion The release's short version.<br>
* For iOS: CFBundleShortVersionString from info.plist.<br>
* For Android: android:versionName from AppManifest.xml.
* @property {string} uniqueIdentifier The identifier of the app's bundle.
* @property {string} minimumOsVersion The release's minimum required
* operating system.
* @property {string} [deviceFamily] The release's device family.
* @property {array} [languages] The languages supported by the release.
* @property {string} fingerprint MD5 checksum of the release binary.
* @property {number} size The release's size in bytes.
* @property {string} packageUrl The URL to the release's binary.
* @property {string} [iconUrl] The URL to the release's icon.
* @property {array} [ipaUuids] A list of UUIDs for architectures for an iOS
* app.
* @property {object} [provision]
* @property {string} [provision.name] The name of the provisioning profile.
* @property {string} [provision.applicationIdentifier] The application
* identifier.
* @property {string} [provision.teamIdentifier] The team identifier.
* @property {string} [provision.profileType] Possible values include:
* 'adhoc', 'enterprise', 'other'
* @property {date} [provision.expiredAt] The profile's expiration date in
* RFC 3339 format, i.e. 2017-07-21T17:32:28Z
* @property {array} [provision.udids]
* @property {array} [appexProvisioningProfiles] iOS app extension
* provisioning profiles included in the release.
*/
constructor() {
}
/**
* Defines the metadata of ReleaseCreateRequest
*
* @returns {object} metadata of ReleaseCreateRequest
*
*/
mapper() {
return {
required: false,
serializedName: 'ReleaseCreateRequest',
type: {
name: 'Composite',
className: 'ReleaseCreateRequest',
modelProperties: {
uploadedBy: {
required: false,
serializedName: 'uploaded_by',
type: {
name: 'String'
}
},
name: {
required: true,
serializedName: 'name',
type: {
name: 'String'
}
},
version: {
required: true,
serializedName: 'version',
type: {
name: 'String'
}
},
buildVersion: {
required: true,
serializedName: 'build_version',
type: {
name: 'String'
}
},
uniqueIdentifier: {
required: true,
serializedName: 'unique_identifier',
type: {
name: 'String'
}
},
minimumOsVersion: {
required: true,
serializedName: 'minimum_os_version',
type: {
name: 'String'
}
},
deviceFamily: {
required: false,
serializedName: 'device_family',
type: {
name: 'String'
}
},
languages: {
required: false,
serializedName: 'languages',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'StringElementType',
type: {
name: 'String'
}
}
}
},
fingerprint: {
required: true,
serializedName: 'fingerprint',
type: {
name: 'String'
}
},
size: {
required: true,
serializedName: 'size',
type: {
name: 'Number'
}
},
packageUrl: {
required: true,
serializedName: 'package_url',
type: {
name: 'String'
}
},
iconUrl: {
required: false,
serializedName: 'icon_url',
type: {
name: 'String'
}
},
ipaUuids: {
required: false,
serializedName: 'ipa_uuids',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'ArchIdentifierElementType',
type: {
name: 'Composite',
className: 'ArchIdentifier'
}
}
}
},
provision: {
required: false,
serializedName: 'provision',
type: {
name: 'Composite',
className: 'ProvisioningProfile'
}
},
appexProvisioningProfiles: {
required: false,
serializedName: 'appex_provisioning_profiles',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'ProvisioningProfileElementType',
type: {
name: 'Composite',
className: 'ProvisioningProfile'
}
}
}
}
}
}
};
}
}
module.exports = ReleaseCreateRequest;