diff --git a/sdk/orbital/arm-orbital/LICENSE.txt b/sdk/orbital/arm-orbital/LICENSE.txt new file mode 100644 index 000000000000..2d3163745319 --- /dev/null +++ b/sdk/orbital/arm-orbital/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2021 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sdk/orbital/arm-orbital/README.md b/sdk/orbital/arm-orbital/README.md new file mode 100644 index 000000000000..9f4b84df14d4 --- /dev/null +++ b/sdk/orbital/arm-orbital/README.md @@ -0,0 +1,106 @@ +## Azure AzureOrbital SDK for JavaScript + +This package contains an isomorphic SDK (runs both in node.js and in browsers) for AzureOrbital. + +### Currently supported environments + +- [LTS versions of Node.js](https://nodejs.org/about/releases/) +- Latest versions of Safari, Chrome, Edge and Firefox. + +### Prerequisites + +You must have an [Azure subscription](https://azure.microsoft.com/free/). + +### How to install + +To use this SDK in your project, you will need to install two packages. +- `@azure/arm-orbital` that contains the client. +- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. + +Install both packages using the below command: +```bash +npm install --save @azure/arm-orbital @azure/identity +``` +> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. +If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. + +### How to use + +- If you are writing a client side browser application, + - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. + - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. +- If you are writing a server side application, + - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) + - Complete the set up steps required by the credential if any. + - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. + +In the below samples, we pass the credential and the Azure subscription id to instantiate the client. +Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. +#### nodejs - Authentication, client creation, and list operations as an example written in JavaScript. + +##### Sample code + +```javascript +const { DefaultAzureCredential } = require("@azure/identity"); +const { AzureOrbital } = require("@azure/arm-orbital"); +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples +// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. +const creds = new DefaultAzureCredential(); +const client = new AzureOrbital(creds, subscriptionId); +client.operations.list().then((result) => { + console.log("The result is:"); + console.log(result); +}).catch((err) => { + console.log("An error occurred:"); + console.error(err); +}); +``` + +#### browser - Authentication, client creation, and list operations as an example written in JavaScript. + +In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. + - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. + - Note down the client Id from the previous step and use it in the browser sample below. + +##### Sample code + +- index.html + +```html + + + + @azure/arm-orbital sample + + + + + + + +``` + +## Related projects + +- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/orbital/arm-orbital/README.png) diff --git a/sdk/orbital/arm-orbital/package.json b/sdk/orbital/arm-orbital/package.json new file mode 100644 index 000000000000..600e749b85c3 --- /dev/null +++ b/sdk/orbital/arm-orbital/package.json @@ -0,0 +1,59 @@ +{ + "name": "@azure/arm-orbital", + "author": "Microsoft Corporation", + "description": "AzureOrbital Library with typescript type definitions for node.js and browser.", + "version": "1.0.0", + "dependencies": { + "@azure/ms-rest-azure-js": "^2.1.0", + "@azure/ms-rest-js": "^2.2.0", + "@azure/core-auth": "^1.1.4", + "tslib": "^1.10.0" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/arm-orbital.js", + "module": "./esm/azureOrbital.js", + "types": "./esm/azureOrbital.d.ts", + "devDependencies": { + "typescript": "^3.6.0", + "rollup": "^1.18.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "uglify-js": "^3.6.0" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/orbital/arm-orbital", + "repository": { + "type": "git", + "url": "https://github.com/Azure/azure-sdk-for-js.git" + }, + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "files": [ + "dist/**/*.js", + "dist/**/*.js.map", + "dist/**/*.d.ts", + "dist/**/*.d.ts.map", + "esm/**/*.js", + "esm/**/*.js.map", + "esm/**/*.d.ts", + "esm/**/*.d.ts.map", + "src/**/*.ts", + "README.md", + "rollup.config.js", + "tsconfig.json" + ], + "scripts": { + "build": "tsc && rollup -c rollup.config.js && npm run minify", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-orbital.js.map'\" -o ./dist/arm-orbital.min.js ./dist/arm-orbital.js", + "prepack": "npm install && npm run build" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/orbital/arm-orbital/rollup.config.js b/sdk/orbital/arm-orbital/rollup.config.js new file mode 100644 index 000000000000..8579ee96bad8 --- /dev/null +++ b/sdk/orbital/arm-orbital/rollup.config.js @@ -0,0 +1,37 @@ +import rollup from "rollup"; +import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + +/** + * @type {rollup.RollupFileOptions} + */ +const config = { + input: "./esm/azureOrbital.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], + output: { + file: "./dist/arm-orbital.js", + format: "umd", + name: "Azure.ArmOrbital", + sourcemap: true, + globals: { + "@azure/ms-rest-js": "msRest", + "@azure/ms-rest-azure-js": "msRestAzure" + }, + banner: `/* + * 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. + */` + }, + plugins: [ + nodeResolve({ mainFields: ['module', 'main'] }), + sourcemaps() + ] +}; + +export default config; diff --git a/sdk/orbital/arm-orbital/src/azureOrbital.ts b/sdk/orbital/arm-orbital/src/azureOrbital.ts new file mode 100644 index 000000000000..b05e61ce081d --- /dev/null +++ b/sdk/orbital/arm-orbital/src/azureOrbital.ts @@ -0,0 +1,55 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; +import { TokenCredential } from "@azure/core-auth"; +import * as Models from "./models"; +import * as Mappers from "./models/mappers"; +import * as operations from "./operations"; +import { AzureOrbitalContext } from "./azureOrbitalContext"; + + +class AzureOrbital extends AzureOrbitalContext { + // Operation groups + operations: operations.Operations; + spacecrafts: operations.Spacecrafts; + contacts: operations.Contacts; + contactProfiles: operations.ContactProfiles; + availableGroundStations: operations.AvailableGroundStations; + + /** + * Initializes a new instance of the AzureOrbital class. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.AzureOrbitalOptions) { + super(credentials, subscriptionId, options); + this.operations = new operations.Operations(this); + this.spacecrafts = new operations.Spacecrafts(this); + this.contacts = new operations.Contacts(this); + this.contactProfiles = new operations.ContactProfiles(this); + this.availableGroundStations = new operations.AvailableGroundStations(this); + } +} + +// Operation Specifications + +export { + AzureOrbital, + AzureOrbitalContext, + Models as AzureOrbitalModels, + Mappers as AzureOrbitalMappers +}; +export * from "./operations"; diff --git a/sdk/orbital/arm-orbital/src/azureOrbitalContext.ts b/sdk/orbital/arm-orbital/src/azureOrbitalContext.ts new file mode 100644 index 000000000000..9299f2d5bf20 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/azureOrbitalContext.ts @@ -0,0 +1,67 @@ +/* + * 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 * as Models from "./models"; +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import { TokenCredential } from "@azure/core-auth"; + +const packageName = "@azure/arm-orbital"; +const packageVersion = "1.0.0"; + +export class AzureOrbitalContext extends msRestAzure.AzureServiceClient { + credentials: msRest.ServiceClientCredentials | TokenCredential; + apiVersion?: string; + subscriptionId: string; + + /** + * Initializes a new instance of the AzureOrbital class. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. + * @param subscriptionId The ID of the target subscription. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.AzureOrbitalOptions) { + if (credentials == undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + if (subscriptionId == undefined) { + throw new Error('\'subscriptionId\' cannot be null.'); + } + + if (!options) { + options = {}; + } + if (!options.userAgent) { + const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); + options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; + } + + super(credentials, options); + + this.apiVersion = '2021-04-04-preview'; + this.acceptLanguage = 'en-US'; + this.longRunningOperationRetryTimeout = 30; + this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; + this.requestContentType = "application/json; charset=utf-8"; + this.credentials = credentials; + this.subscriptionId = subscriptionId; + + if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + this.acceptLanguage = options.acceptLanguage; + } + if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; + } + } +} diff --git a/sdk/orbital/arm-orbital/src/models/availableGroundStationsMappers.ts b/sdk/orbital/arm-orbital/src/models/availableGroundStationsMappers.ts new file mode 100644 index 000000000000..99829a61585a --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/availableGroundStationsMappers.ts @@ -0,0 +1,13 @@ +/* + * 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. + */ + +export { + AvailableGroundStation, + AvailableGroundStationListResult, + CloudError +} from "../models/mappers"; diff --git a/sdk/orbital/arm-orbital/src/models/contactProfilesMappers.ts b/sdk/orbital/arm-orbital/src/models/contactProfilesMappers.ts new file mode 100644 index 000000000000..aba4c9a4b998 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/contactProfilesMappers.ts @@ -0,0 +1,27 @@ +/* + * 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. + */ + +export { + AzureEntityResource, + BaseResource, + CloudError, + Contact, + ContactProfile, + ContactProfileLink, + ContactProfileLinkChannel, + ContactProfileListResult, + EndPoint, + ProxyResource, + Resource, + ResourceReference, + Spacecraft, + SpacecraftLink, + SystemData, + TagsObject, + TrackedResource +} from "../models/mappers"; diff --git a/sdk/orbital/arm-orbital/src/models/contactsMappers.ts b/sdk/orbital/arm-orbital/src/models/contactsMappers.ts new file mode 100644 index 000000000000..0fdbbb149b5a --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/contactsMappers.ts @@ -0,0 +1,26 @@ +/* + * 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. + */ + +export { + AzureEntityResource, + BaseResource, + CloudError, + Contact, + ContactListResult, + ContactProfile, + ContactProfileLink, + ContactProfileLinkChannel, + EndPoint, + ProxyResource, + Resource, + ResourceReference, + Spacecraft, + SpacecraftLink, + SystemData, + TrackedResource +} from "../models/mappers"; diff --git a/sdk/orbital/arm-orbital/src/models/index.ts b/sdk/orbital/arm-orbital/src/models/index.ts new file mode 100644 index 000000000000..211deae32b0e --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/index.ts @@ -0,0 +1,1328 @@ +/* + * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; +import * as msRest from "@azure/ms-rest-js"; + +export { BaseResource, CloudError }; + +/** + * Tags object for patch operations. + */ +export interface TagsObject { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * Spacecraft Link + */ +export interface SpacecraftLink { + /** + * Center Frequency in MHz + */ + centerFrequencyMHz: number; + /** + * Bandwidth in MHz + */ + bandwidthMHz: number; + /** + * Direction (uplink or downlink). Possible values include: 'uplink', 'downlink' + */ + direction: Direction; + /** + * polarization. eg (RHCP, LHCP). Possible values include: 'RHCP', 'LHCP', 'dualRhcpLhcp', + * 'linearVertical', 'linearHorizontal' + */ + polarization: Polarization; +} + +/** + * Common fields that are returned in the response for all Azure Resource Manager resources + * @summary Resource + */ +export interface Resource extends BaseResource { + /** + * Fully qualified resource ID for the resource. Ex - + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The name of the resource + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + * "Microsoft.Storage/storageAccounts" + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; +} + +/** + * The resource model definition for an Azure Resource Manager tracked top level resource which has + * 'tags' and a 'location' + * @summary Tracked Resource + */ +export interface TrackedResource extends Resource { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * The geo-location where the resource lives + */ + location: string; +} + +/** + * Customer creates a spacecraft resource to schedule a contact. + */ +export interface Spacecraft extends TrackedResource { + /** + * NORAD ID of the spacecraft. + */ + noradId: string; + /** + * Authorization status of spacecraft. Possible values include: 'Allowed', 'Pending', 'Denied' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly authorizationStatus?: AuthorizationStatus; + /** + * Details of the authorization status. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly authorizationStatusExtended?: string; + /** + * Title line of Two Line Element (TLE). + */ + titleLine?: string; + /** + * Line 1 of Two Line Element (TLE). + */ + tleLine1?: string; + /** + * Line 2 of Two Line Element (TLE). + */ + tleLine2?: string; + /** + * Links of the Spacecraft + */ + links?: SpacecraftLink[]; + /** + * A unique read-only string that changes whenever the resource is updated. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; +} + +/** + * Resource Reference + */ +export interface ResourceReference extends BaseResource { + /** + * Resource ID. + */ + id?: string; +} + +/** + * Customer End point to store/retrieve data during a contact. + */ +export interface EndPoint { + /** + * IP Address. + */ + ipAddress: string; + /** + * Name of an end point. + */ + endPointName: string; + /** + * TCP port to listen on to receive data. + */ + port: string; + /** + * Protocol either UDP or TCP. Possible values include: 'TCP', 'UDP' + */ + protocol: Protocol; +} + +/** + * Contact Profile Link Channel + */ +export interface ContactProfileLinkChannel { + /** + * Center Frequency in MHz + */ + centerFrequencyMHz: number; + /** + * Bandwidth in MHz + */ + bandwidthMHz: number; + endPoint: EndPoint; + /** + * Configuration for modulation + */ + modulationConfiguration?: string; + /** + * Configuration for demodulation + */ + demodulationConfiguration?: string; + /** + * Configuration for encoding + */ + encodingConfiguration?: string; + /** + * Configuration for decoding + */ + decodingConfiguration?: string; +} + +/** + * Contact Profile link + */ +export interface ContactProfileLink { + /** + * polarization. eg (RHCP, LHCP). Possible values include: 'RHCP', 'LHCP', 'dualRhcpLhcp', + * 'linearVertical', 'linearHorizontal' + */ + polarization: Polarization; + /** + * Direction (uplink or downlink). Possible values include: 'uplink', 'downlink' + */ + direction: Direction; + /** + * Gain To Noise Temperature in db/K. + */ + gainOverTemperature?: number; + /** + * Effective Isotropic Radiated Power (EIRP) in dBW. + */ + eirpdBW?: number; + /** + * Contact Profile Link Channel + */ + channels: ContactProfileLinkChannel[]; +} + +/** + * Customer creates a Contact Profile Resource, which will contain all of the configurations + * required for scheduling a contact. + */ +export interface ContactProfile extends TrackedResource { + /** + * Minimum viable contact duration in ISO 8601 format. + */ + minimumViableContactDuration?: string; + /** + * Minimum viable elevation for the contact in decimal degrees. + */ + minimumElevationDegrees?: number; + /** + * Auto track configuration. Possible values include: 'disabled', 'xBand', 'sBand' + */ + autoTrackingConfiguration?: AutoTrackingConfiguration; + /** + * Links of the Contact Profile + */ + links: ContactProfileLink[]; + /** + * A unique read-only string that changes whenever the resource is updated. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; +} + +/** + * Parameters that define the contact resource. + */ +export interface ContactParameters { + /** + * The reference to the contact profile resource. + */ + contactProfile: ResourceReference; + /** + * Name of Azure Ground Station. + */ + groundStationName: string; + /** + * Start time of a contact. + */ + startTime: Date; + /** + * End time of a contact. + */ + endTime: Date; +} + +/** + * The resource model definition for a Azure Resource Manager proxy resource. It will not have tags + * and a location + * @summary Proxy Resource + */ +export interface ProxyResource extends Resource { +} + +/** + * Customer creates a contact resource for a spacecraft resource. + */ +export interface Contact extends ProxyResource { + /** + * Status of a contact. Possible values include: 'scheduled', 'cancelled', 'succeeded', 'failed', + * 'providerCancelled' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: Status; + /** + * Reservation start time of a contact. + */ + reservationStartTime: Date; + /** + * Reservation end time of a contact. + */ + reservationEndTime: Date; + /** + * Receive start time of a contact. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly rxStartTime?: Date; + /** + * Receive end time of a contact. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly rxEndTime?: Date; + /** + * Transmit start time of a contact. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly txStartTime?: Date; + /** + * Transmit end time of a contact. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly txEndTime?: Date; + /** + * Any error message while scheduling a contact. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorMessage?: string; + /** + * Maximum elevation of the antenna during the contact in decimal degrees. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly maximumElevationDegrees?: number; + /** + * Azimuth of the antenna at the start of the contact in decimal degrees. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startAzimuthDegrees?: number; + /** + * Azimuth of the antenna at the end of the contact in decimal degrees. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endAzimuthDegrees?: number; + /** + * Azure Ground Station name. + */ + groundStationName: string; + /** + * Spacecraft elevation above the horizon at contact start. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startElevationDegrees?: number; + /** + * Spacecraft elevation above the horizon at contact end. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endElevationDegrees?: number; + /** + * The reference to the contact profile resource. + */ + contactProfile: ResourceReference; + /** + * A unique read-only string that changes whenever the resource is updated. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; +} + +/** + * Customer retrieves list of Available Contacts for a spacecraft resource. Later, one of the + * available contact can be selected to create a contact. + */ +export interface AvailableContacts { + /** + * The reference to the spacecraft resource. + */ + spacecraft?: ResourceReference; + /** + * Name of Azure Ground Station. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly groundStationName?: string; + /** + * Maximum elevation of the antenna during the contact in decimal degrees. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly maximumElevationDegrees?: number; + /** + * Time at which antenna transmit will be enabled. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly txStartTime?: Date; + /** + * Time at which antenna transmit will be disabled. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly txEndTime?: Date; + /** + * Earliest time to receive a signal. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly rxStartTime?: Date; + /** + * Time to lost receiving a signal. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly rxEndTime?: Date; + /** + * Azimuth of the antenna at the start of the contact in decimal degrees. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startAzimuthDegrees?: number; + /** + * Azimuth of the antenna at the end of the contact in decimal degrees. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endAzimuthDegrees?: number; + /** + * Spacecraft elevation above the horizon at contact start. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startElevationDegrees?: number; + /** + * Spacecraft elevation above the horizon at contact end. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endElevationDegrees?: number; +} + +/** + * Response for the ListAvailableContacts API service call. + */ +export interface AvailableContactsListResult { + /** + * A list of available contacts + */ + value?: AvailableContacts[]; + /** + * The URL to get the next set of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * GroundStations available to schedule Contacts + */ +export interface AvailableGroundStation { + /** + * Id of groundStation + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the ground station. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Azure region + */ + location?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * City of ground station. + */ + city?: string; + /** + * Ground station provider name. + */ + providerName?: string; + /** + * Longitude of the ground station in decimal degrees. + */ + longitudeDegrees?: number; + /** + * Latitude of the ground station in decimal degrees. + */ + latitudeDegrees?: number; + /** + * Altitude of the ground station + */ + altitudeMeters?: number; +} + +/** + * An interface representing ResourceIdListResultValueItem. + */ +export interface ResourceIdListResultValueItem { + /** + * The Azure Resource ID + */ + id?: string; +} + +/** + * Response for an API service call that lists the resource IDs of resources associated with + * another resource. + */ +export interface ResourceIdListResult { + /** + * A list of Azure Resource IDs. + */ + value?: ResourceIdListResultValueItem[]; + /** + * The URL to get the next set of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * Metadata pertaining to creation and last modification of the resource. + */ +export interface SystemData { + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. Possible values include: 'User', + * 'Application', 'ManagedIdentity', 'Key' + */ + createdByType?: CreatedByType; + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: Date; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. Possible values include: 'User', + * 'Application', 'ManagedIdentity', 'Key' + */ + lastModifiedByType?: CreatedByType; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: Date; +} + +/** + * The resource model definition for an Azure Resource Manager resource with an etag. + * @summary Entity Resource + */ +export interface AzureEntityResource extends Resource { + /** + * Resource Etag. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; +} + +/** + * Localized display information for this particular operation. + */ +export interface OperationDisplay { + /** + * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring + * Insights" or "Microsoft Compute". + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provider?: string; + /** + * The localized friendly name of the resource type related to this operation. E.g. "Virtual + * Machines" or "Job Schedule Collections". + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resource?: string; + /** + * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create + * or Update Virtual Machine", "Restart Virtual Machine". + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly operation?: string; + /** + * The short, localized friendly description of the operation; suitable for tool tips and + * detailed views. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly description?: string; +} + +/** + * Details of a REST API operation, returned from the Resource Provider Operations API + * @summary REST API Operation + */ +export interface Operation { + /** + * The name of the operation, as per Resource-Based Access Control (RBAC). Examples: + * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action" + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Whether the operation applies to data-plane. This is "true" for data-plane operations and + * "false" for ARM/control-plane operations. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isDataAction?: boolean; + /** + * Localized display information for this particular operation. + */ + display?: OperationDisplay; + /** + * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit + * logs UX. Default value is "user,system". Possible values include: 'user', 'system', + * 'user,system' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly origin?: Origin; + /** + * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. + * Possible values include: 'Internal' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly actionType?: ActionType; +} + +/** + * Optional Parameters. + */ +export interface SpacecraftsCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * Title line of Two Line Element (TLE). + */ + titleLine?: string; + /** + * Line 1 of Two Line Element (TLE). + */ + tleLine1?: string; + /** + * Line 2 of Two Line Element (TLE). + */ + tleLine2?: string; + /** + * Links of the Spacecraft + */ + links?: SpacecraftLink[]; +} + +/** + * Optional Parameters. + */ +export interface SpacecraftsUpdateTagsOptionalParams extends msRest.RequestOptionsBase { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * Optional Parameters. + */ +export interface SpacecraftsBeginCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * Title line of Two Line Element (TLE). + */ + titleLine?: string; + /** + * Line 1 of Two Line Element (TLE). + */ + tleLine1?: string; + /** + * Line 2 of Two Line Element (TLE). + */ + tleLine2?: string; + /** + * Links of the Spacecraft + */ + links?: SpacecraftLink[]; +} + +/** + * Optional Parameters. + */ +export interface ContactProfilesCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * Minimum viable contact duration in ISO 8601 format. + */ + minimumViableContactDuration?: string; + /** + * Minimum viable elevation for the contact in decimal degrees. + */ + minimumElevationDegrees?: number; + /** + * Auto track configuration. Possible values include: 'disabled', 'xBand', 'sBand' + */ + autoTrackingConfiguration?: AutoTrackingConfiguration; +} + +/** + * Optional Parameters. + */ +export interface ContactProfilesUpdateTagsOptionalParams extends msRest.RequestOptionsBase { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * Optional Parameters. + */ +export interface ContactProfilesBeginCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * Minimum viable contact duration in ISO 8601 format. + */ + minimumViableContactDuration?: string; + /** + * Minimum viable elevation for the contact in decimal degrees. + */ + minimumElevationDegrees?: number; + /** + * Auto track configuration. Possible values include: 'disabled', 'xBand', 'sBand' + */ + autoTrackingConfiguration?: AutoTrackingConfiguration; +} + +/** + * An interface representing AzureOrbitalOptions. + */ +export interface AzureOrbitalOptions extends AzureServiceClientOptions { + baseUri?: string; +} + +/** + * @interface + * A list of REST API operations supported by an Azure Resource Provider. It contains an URL link + * to get the next set of results. + * @extends Array + */ +export interface OperationListResult extends Array { + /** + * URL to get the next set of operation list results (if there are any). + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * Response for the ListSpacecrafts API service call. + * @extends Array + */ +export interface SpacecraftListResult extends Array { + /** + * The URL to get the next set of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * Response for the ListContacts API service call. + * @extends Array + */ +export interface ContactListResult extends Array { + /** + * The URL to get the next set of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * Response for the ListContactProfiles API service call. + * @extends Array + */ +export interface ContactProfileListResult extends Array { + /** + * The URL to get the next set of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * Response for the AvailableGroundStations API service call. + * @extends Array + */ +export interface AvailableGroundStationListResult extends Array { + /** + * The URL to get the next set of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * Defines values for AuthorizationStatus. + * Possible values include: 'Allowed', 'Pending', 'Denied' + * @readonly + * @enum {string} + */ +export type AuthorizationStatus = 'Allowed' | 'Pending' | 'Denied'; + +/** + * Defines values for Direction. + * Possible values include: 'uplink', 'downlink' + * @readonly + * @enum {string} + */ +export type Direction = 'uplink' | 'downlink'; + +/** + * Defines values for Polarization. + * Possible values include: 'RHCP', 'LHCP', 'dualRhcpLhcp', 'linearVertical', 'linearHorizontal' + * @readonly + * @enum {string} + */ +export type Polarization = 'RHCP' | 'LHCP' | 'dualRhcpLhcp' | 'linearVertical' | 'linearHorizontal'; + +/** + * Defines values for Protocol. + * Possible values include: 'TCP', 'UDP' + * @readonly + * @enum {string} + */ +export type Protocol = 'TCP' | 'UDP'; + +/** + * Defines values for Status. + * Possible values include: 'scheduled', 'cancelled', 'succeeded', 'failed', 'providerCancelled' + * @readonly + * @enum {string} + */ +export type Status = 'scheduled' | 'cancelled' | 'succeeded' | 'failed' | 'providerCancelled'; + +/** + * Defines values for AutoTrackingConfiguration. + * Possible values include: 'disabled', 'xBand', 'sBand' + * @readonly + * @enum {string} + */ +export type AutoTrackingConfiguration = 'disabled' | 'xBand' | 'sBand'; + +/** + * Defines values for CreatedByType. + * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + * @readonly + * @enum {string} + */ +export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key'; + +/** + * Defines values for Origin. + * Possible values include: 'user', 'system', 'user,system' + * @readonly + * @enum {string} + */ +export type Origin = 'user' | 'system' | 'user,system'; + +/** + * Defines values for ActionType. + * Possible values include: 'Internal' + * @readonly + * @enum {string} + */ +export type ActionType = 'Internal'; + +/** + * Defines values for Capability. + * Possible values include: 'EarthObservation', 'Communication' + * @readonly + * @enum {string} + */ +export type Capability = 'EarthObservation' | 'Communication'; + +/** + * Contains response data for the list operation. + */ +export type OperationsListResponse = OperationListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: OperationListResult; + }; +}; + +/** + * Contains response data for the listBySubscription operation. + */ +export type SpacecraftsListBySubscriptionResponse = SpacecraftListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: SpacecraftListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type SpacecraftsListResponse = SpacecraftListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: SpacecraftListResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type SpacecraftsGetResponse = Spacecraft & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Spacecraft; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type SpacecraftsCreateOrUpdateResponse = Spacecraft & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Spacecraft; + }; +}; + +/** + * Contains response data for the updateTags operation. + */ +export type SpacecraftsUpdateTagsResponse = Spacecraft & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Spacecraft; + }; +}; + +/** + * Contains response data for the listAvailableContacts operation. + */ +export type SpacecraftsListAvailableContactsResponse = AvailableContactsListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: AvailableContactsListResult; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type SpacecraftsBeginCreateOrUpdateResponse = Spacecraft & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Spacecraft; + }; +}; + +/** + * Contains response data for the beginListAvailableContacts operation. + */ +export type SpacecraftsBeginListAvailableContactsResponse = AvailableContactsListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: AvailableContactsListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ContactsListResponse = ContactListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ContactListResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ContactsGetResponse = Contact & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Contact; + }; +}; + +/** + * Contains response data for the create operation. + */ +export type ContactsCreateResponse = Contact & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Contact; + }; +}; + +/** + * Contains response data for the beginCreate operation. + */ +export type ContactsBeginCreateResponse = Contact & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Contact; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ContactProfilesGetResponse = ContactProfile & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ContactProfile; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type ContactProfilesCreateOrUpdateResponse = ContactProfile & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ContactProfile; + }; +}; + +/** + * Contains response data for the updateTags operation. + */ +export type ContactProfilesUpdateTagsResponse = ContactProfile & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ContactProfile; + }; +}; + +/** + * Contains response data for the listBySubscription operation. + */ +export type ContactProfilesListBySubscriptionResponse = ContactProfileListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ContactProfileListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ContactProfilesListResponse = ContactProfileListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ContactProfileListResult; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type ContactProfilesBeginCreateOrUpdateResponse = ContactProfile & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ContactProfile; + }; +}; + +/** + * Contains response data for the listByCapability operation. + */ +export type AvailableGroundStationsListByCapabilityResponse = AvailableGroundStationListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: AvailableGroundStationListResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type AvailableGroundStationsGetResponse = AvailableGroundStation & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: AvailableGroundStation; + }; +}; + +/** + * Contains response data for the listByCapabilityNext operation. + */ +export type AvailableGroundStationsListByCapabilityNextResponse = AvailableGroundStationListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: AvailableGroundStationListResult; + }; +}; diff --git a/sdk/orbital/arm-orbital/src/models/mappers.ts b/sdk/orbital/arm-orbital/src/models/mappers.ts new file mode 100644 index 000000000000..7e2fd8952166 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/mappers.ts @@ -0,0 +1,1101 @@ +/* + * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; +import * as msRest from "@azure/ms-rest-js"; + +export const CloudError = CloudErrorMapper; +export const BaseResource = BaseResourceMapper; + +export const TagsObject: msRest.CompositeMapper = { + serializedName: "TagsObject", + type: { + name: "Composite", + className: "TagsObject", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const SpacecraftLink: msRest.CompositeMapper = { + serializedName: "SpacecraftLink", + type: { + name: "Composite", + className: "SpacecraftLink", + modelProperties: { + centerFrequencyMHz: { + required: true, + serializedName: "centerFrequencyMHz", + type: { + name: "Number" + } + }, + bandwidthMHz: { + required: true, + serializedName: "bandwidthMHz", + type: { + name: "Number" + } + }, + direction: { + required: true, + serializedName: "direction", + type: { + name: "String" + } + }, + polarization: { + required: true, + serializedName: "polarization", + type: { + name: "String" + } + } + } + } +}; + +export const Resource: msRest.CompositeMapper = { + serializedName: "Resource", + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + systemData: { + readOnly: true, + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; + +export const TrackedResource: msRest.CompositeMapper = { + serializedName: "TrackedResource", + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + location: { + required: true, + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const Spacecraft: msRest.CompositeMapper = { + serializedName: "Spacecraft", + type: { + name: "Composite", + className: "Spacecraft", + modelProperties: { + ...TrackedResource.type.modelProperties, + noradId: { + required: true, + serializedName: "properties.noradId", + type: { + name: "String" + } + }, + authorizationStatus: { + readOnly: true, + serializedName: "properties.authorizationStatus", + type: { + name: "Enum", + allowedValues: [ + "Allowed", + "Pending", + "Denied" + ] + } + }, + authorizationStatusExtended: { + readOnly: true, + serializedName: "properties.authorizationStatusExtended", + type: { + name: "String" + } + }, + titleLine: { + serializedName: "properties.titleLine", + type: { + name: "String" + } + }, + tleLine1: { + serializedName: "properties.tleLine1", + type: { + name: "String" + } + }, + tleLine2: { + serializedName: "properties.tleLine2", + type: { + name: "String" + } + }, + links: { + serializedName: "properties.links", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SpacecraftLink" + } + } + } + }, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceReference: msRest.CompositeMapper = { + serializedName: "ResourceReference", + type: { + name: "Composite", + className: "ResourceReference", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const EndPoint: msRest.CompositeMapper = { + serializedName: "EndPoint", + type: { + name: "Composite", + className: "EndPoint", + modelProperties: { + ipAddress: { + required: true, + serializedName: "ipAddress", + type: { + name: "String" + } + }, + endPointName: { + required: true, + serializedName: "endPointName", + type: { + name: "String" + } + }, + port: { + required: true, + serializedName: "port", + type: { + name: "String" + } + }, + protocol: { + required: true, + serializedName: "protocol", + type: { + name: "String" + } + } + } + } +}; + +export const ContactProfileLinkChannel: msRest.CompositeMapper = { + serializedName: "ContactProfileLinkChannel", + type: { + name: "Composite", + className: "ContactProfileLinkChannel", + modelProperties: { + centerFrequencyMHz: { + required: true, + serializedName: "centerFrequencyMHz", + type: { + name: "Number" + } + }, + bandwidthMHz: { + required: true, + serializedName: "bandwidthMHz", + type: { + name: "Number" + } + }, + endPoint: { + required: true, + serializedName: "endPoint", + type: { + name: "Composite", + className: "EndPoint" + } + }, + modulationConfiguration: { + serializedName: "modulationConfiguration", + type: { + name: "String" + } + }, + demodulationConfiguration: { + serializedName: "demodulationConfiguration", + type: { + name: "String" + } + }, + encodingConfiguration: { + serializedName: "encodingConfiguration", + type: { + name: "String" + } + }, + decodingConfiguration: { + serializedName: "decodingConfiguration", + type: { + name: "String" + } + } + } + } +}; + +export const ContactProfileLink: msRest.CompositeMapper = { + serializedName: "ContactProfileLink", + type: { + name: "Composite", + className: "ContactProfileLink", + modelProperties: { + polarization: { + required: true, + serializedName: "polarization", + type: { + name: "String" + } + }, + direction: { + required: true, + serializedName: "direction", + type: { + name: "String" + } + }, + gainOverTemperature: { + serializedName: "gainOverTemperature", + type: { + name: "Number" + } + }, + eirpdBW: { + serializedName: "eirpdBW", + type: { + name: "Number" + } + }, + channels: { + required: true, + serializedName: "channels", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContactProfileLinkChannel" + } + } + } + } + } + } +}; + +export const ContactProfile: msRest.CompositeMapper = { + serializedName: "ContactProfile", + type: { + name: "Composite", + className: "ContactProfile", + modelProperties: { + ...TrackedResource.type.modelProperties, + minimumViableContactDuration: { + serializedName: "properties.minimumViableContactDuration", + type: { + name: "String" + } + }, + minimumElevationDegrees: { + serializedName: "properties.minimumElevationDegrees", + type: { + name: "Number" + } + }, + autoTrackingConfiguration: { + serializedName: "properties.autoTrackingConfiguration", + type: { + name: "Enum", + allowedValues: [ + "disabled", + "xBand", + "sBand" + ] + } + }, + links: { + required: true, + serializedName: "properties.links", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContactProfileLink" + } + } + } + }, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + } + } + } +}; + +export const ContactParameters: msRest.CompositeMapper = { + serializedName: "ContactParameters", + type: { + name: "Composite", + className: "ContactParameters", + modelProperties: { + contactProfile: { + required: true, + serializedName: "contactProfile", + type: { + name: "Composite", + className: "ResourceReference" + } + }, + groundStationName: { + required: true, + serializedName: "groundStationName", + type: { + name: "String" + } + }, + startTime: { + required: true, + serializedName: "startTime", + type: { + name: "DateTime" + } + }, + endTime: { + required: true, + serializedName: "endTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const ProxyResource: msRest.CompositeMapper = { + serializedName: "ProxyResource", + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + +export const Contact: msRest.CompositeMapper = { + serializedName: "Contact", + type: { + name: "Composite", + className: "Contact", + modelProperties: { + ...ProxyResource.type.modelProperties, + status: { + readOnly: true, + serializedName: "properties.status", + type: { + name: "Enum", + allowedValues: [ + "scheduled", + "cancelled", + "succeeded", + "failed", + "providerCancelled" + ] + } + }, + reservationStartTime: { + required: true, + serializedName: "properties.reservationStartTime", + type: { + name: "DateTime" + } + }, + reservationEndTime: { + required: true, + serializedName: "properties.reservationEndTime", + type: { + name: "DateTime" + } + }, + rxStartTime: { + readOnly: true, + serializedName: "properties.rxStartTime", + type: { + name: "DateTime" + } + }, + rxEndTime: { + readOnly: true, + serializedName: "properties.rxEndTime", + type: { + name: "DateTime" + } + }, + txStartTime: { + readOnly: true, + serializedName: "properties.txStartTime", + type: { + name: "DateTime" + } + }, + txEndTime: { + readOnly: true, + serializedName: "properties.txEndTime", + type: { + name: "DateTime" + } + }, + errorMessage: { + readOnly: true, + serializedName: "properties.errorMessage", + type: { + name: "String" + } + }, + maximumElevationDegrees: { + readOnly: true, + serializedName: "properties.maximumElevationDegrees", + type: { + name: "Number" + } + }, + startAzimuthDegrees: { + readOnly: true, + serializedName: "properties.startAzimuthDegrees", + type: { + name: "Number" + } + }, + endAzimuthDegrees: { + readOnly: true, + serializedName: "properties.endAzimuthDegrees", + type: { + name: "Number" + } + }, + groundStationName: { + required: true, + serializedName: "properties.groundStationName", + type: { + name: "String" + } + }, + startElevationDegrees: { + readOnly: true, + serializedName: "properties.startElevationDegrees", + type: { + name: "Number" + } + }, + endElevationDegrees: { + readOnly: true, + serializedName: "properties.endElevationDegrees", + type: { + name: "Number" + } + }, + contactProfile: { + required: true, + serializedName: "properties.contactProfile", + type: { + name: "Composite", + className: "ResourceReference" + } + }, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + } + } + } +}; + +export const AvailableContacts: msRest.CompositeMapper = { + serializedName: "AvailableContacts", + type: { + name: "Composite", + className: "AvailableContacts", + modelProperties: { + spacecraft: { + serializedName: "spacecraft", + type: { + name: "Composite", + className: "ResourceReference" + } + }, + groundStationName: { + readOnly: true, + serializedName: "groundStationName", + type: { + name: "String" + } + }, + maximumElevationDegrees: { + readOnly: true, + serializedName: "properties.maximumElevationDegrees", + type: { + name: "Number" + } + }, + txStartTime: { + readOnly: true, + serializedName: "properties.txStartTime", + type: { + name: "DateTime" + } + }, + txEndTime: { + readOnly: true, + serializedName: "properties.txEndTime", + type: { + name: "DateTime" + } + }, + rxStartTime: { + readOnly: true, + serializedName: "properties.rxStartTime", + type: { + name: "DateTime" + } + }, + rxEndTime: { + readOnly: true, + serializedName: "properties.rxEndTime", + type: { + name: "DateTime" + } + }, + startAzimuthDegrees: { + readOnly: true, + serializedName: "properties.startAzimuthDegrees", + type: { + name: "Number" + } + }, + endAzimuthDegrees: { + readOnly: true, + serializedName: "properties.endAzimuthDegrees", + type: { + name: "Number" + } + }, + startElevationDegrees: { + readOnly: true, + serializedName: "properties.startElevationDegrees", + type: { + name: "Number" + } + }, + endElevationDegrees: { + readOnly: true, + serializedName: "properties.endElevationDegrees", + type: { + name: "Number" + } + } + } + } +}; + +export const AvailableContactsListResult: msRest.CompositeMapper = { + serializedName: "AvailableContactsListResult", + type: { + name: "Composite", + className: "AvailableContactsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AvailableContacts" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AvailableGroundStation: msRest.CompositeMapper = { + serializedName: "AvailableGroundStation", + type: { + name: "Composite", + className: "AvailableGroundStation", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + city: { + serializedName: "properties.city", + type: { + name: "String" + } + }, + providerName: { + serializedName: "properties.providerName", + type: { + name: "String" + } + }, + longitudeDegrees: { + serializedName: "properties.longitudeDegrees", + type: { + name: "Number" + } + }, + latitudeDegrees: { + serializedName: "properties.latitudeDegrees", + type: { + name: "Number" + } + }, + altitudeMeters: { + serializedName: "properties.altitudeMeters", + type: { + name: "Number" + } + } + } + } +}; + +export const ResourceIdListResultValueItem: msRest.CompositeMapper = { + serializedName: "ResourceIdListResult_valueItem", + type: { + name: "Composite", + className: "ResourceIdListResultValueItem", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceIdListResult: msRest.CompositeMapper = { + serializedName: "ResourceIdListResult", + type: { + name: "Composite", + className: "ResourceIdListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceIdListResultValueItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const SystemData: msRest.CompositeMapper = { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + modelProperties: { + createdBy: { + serializedName: "createdBy", + type: { + name: "String" + } + }, + createdByType: { + serializedName: "createdByType", + type: { + name: "String" + } + }, + createdAt: { + serializedName: "createdAt", + type: { + name: "DateTime" + } + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", + type: { + name: "String" + } + }, + lastModifiedByType: { + serializedName: "lastModifiedByType", + type: { + name: "String" + } + }, + lastModifiedAt: { + serializedName: "lastModifiedAt", + type: { + name: "DateTime" + } + } + } + } +}; + +export const AzureEntityResource: msRest.CompositeMapper = { + serializedName: "AzureEntityResource", + type: { + name: "Composite", + className: "AzureEntityResource", + modelProperties: { + ...Resource.type.modelProperties, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + } + } + } +}; + +export const OperationDisplay: msRest.CompositeMapper = { + serializedName: "Operation_display", + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + readOnly: true, + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + readOnly: true, + serializedName: "resource", + type: { + name: "String" + } + }, + operation: { + readOnly: true, + serializedName: "operation", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const Operation: msRest.CompositeMapper = { + serializedName: "Operation", + type: { + name: "Composite", + className: "Operation", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + isDataAction: { + readOnly: true, + serializedName: "isDataAction", + type: { + name: "Boolean" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + }, + origin: { + readOnly: true, + serializedName: "origin", + type: { + name: "String" + } + }, + actionType: { + readOnly: true, + serializedName: "actionType", + type: { + name: "String" + } + } + } + } +}; + +export const OperationListResult: msRest.CompositeMapper = { + serializedName: "OperationListResult", + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + } + } + } +}; + +export const SpacecraftListResult: msRest.CompositeMapper = { + serializedName: "SpacecraftListResult", + type: { + name: "Composite", + className: "SpacecraftListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Spacecraft" + } + } + } + } + } + } +}; + +export const ContactListResult: msRest.CompositeMapper = { + serializedName: "ContactListResult", + type: { + name: "Composite", + className: "ContactListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Contact" + } + } + } + } + } + } +}; + +export const ContactProfileListResult: msRest.CompositeMapper = { + serializedName: "ContactProfileListResult", + type: { + name: "Composite", + className: "ContactProfileListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContactProfile" + } + } + } + } + } + } +}; + +export const AvailableGroundStationListResult: msRest.CompositeMapper = { + serializedName: "AvailableGroundStationListResult", + type: { + name: "Composite", + className: "AvailableGroundStationListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AvailableGroundStation" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/orbital/arm-orbital/src/models/operationsMappers.ts b/sdk/orbital/arm-orbital/src/models/operationsMappers.ts new file mode 100644 index 000000000000..938d3e665a23 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/operationsMappers.ts @@ -0,0 +1,14 @@ +/* + * 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. + */ + +export { + CloudError, + Operation, + OperationDisplay, + OperationListResult +} from "../models/mappers"; diff --git a/sdk/orbital/arm-orbital/src/models/parameters.ts b/sdk/orbital/arm-orbital/src/models/parameters.ts new file mode 100644 index 000000000000..24311030c2e5 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/parameters.ts @@ -0,0 +1,123 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; + +export const acceptLanguage: msRest.OperationParameter = { + parameterPath: "acceptLanguage", + mapper: { + serializedName: "accept-language", + defaultValue: 'en-US', + type: { + name: "String" + } + } +}; +export const apiVersion: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + serializedName: "api-version", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + } +}; +export const capability: msRest.OperationQueryParameter = { + parameterPath: "capability", + mapper: { + required: true, + serializedName: "capability", + defaultValue: 'EarthObservation', + type: { + name: "String" + } + } +}; +export const contactName: msRest.OperationURLParameter = { + parameterPath: "contactName", + mapper: { + required: true, + serializedName: "contactName", + type: { + name: "String" + } + } +}; +export const contactProfileName: msRest.OperationURLParameter = { + parameterPath: "contactProfileName", + mapper: { + required: true, + serializedName: "contactProfileName", + type: { + name: "String" + } + } +}; +export const groundStationName: msRest.OperationURLParameter = { + parameterPath: "groundStationName", + mapper: { + required: true, + serializedName: "groundStationName", + type: { + name: "String" + } + } +}; +export const nextPageLink: msRest.OperationURLParameter = { + parameterPath: "nextPageLink", + mapper: { + required: true, + serializedName: "nextLink", + type: { + name: "String" + } + }, + skipEncoding: true +}; +export const resourceGroupName: msRest.OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + required: true, + serializedName: "resourceGroupName", + constraints: { + MaxLength: 90, + MinLength: 1 + }, + type: { + name: "String" + } + } +}; +export const spacecraftName: msRest.OperationURLParameter = { + parameterPath: "spacecraftName", + mapper: { + required: true, + serializedName: "spacecraftName", + type: { + name: "String" + } + } +}; +export const subscriptionId: msRest.OperationURLParameter = { + parameterPath: "subscriptionId", + mapper: { + required: true, + serializedName: "subscriptionId", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + } +}; diff --git a/sdk/orbital/arm-orbital/src/models/spacecraftsMappers.ts b/sdk/orbital/arm-orbital/src/models/spacecraftsMappers.ts new file mode 100644 index 000000000000..8f8b80f37710 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/models/spacecraftsMappers.ts @@ -0,0 +1,30 @@ +/* + * 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. + */ + +export { + AvailableContacts, + AvailableContactsListResult, + AzureEntityResource, + BaseResource, + CloudError, + Contact, + ContactParameters, + ContactProfile, + ContactProfileLink, + ContactProfileLinkChannel, + EndPoint, + ProxyResource, + Resource, + ResourceReference, + Spacecraft, + SpacecraftLink, + SpacecraftListResult, + SystemData, + TagsObject, + TrackedResource +} from "../models/mappers"; diff --git a/sdk/orbital/arm-orbital/src/operations/availableGroundStations.ts b/sdk/orbital/arm-orbital/src/operations/availableGroundStations.ts new file mode 100644 index 000000000000..e04d110c6994 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/operations/availableGroundStations.ts @@ -0,0 +1,196 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/availableGroundStationsMappers"; +import * as Parameters from "../models/parameters"; +import { AzureOrbitalContext } from "../azureOrbitalContext"; + +/** Class representing a AvailableGroundStations. */ +export class AvailableGroundStations { + private readonly client: AzureOrbitalContext; + + /** + * Create a AvailableGroundStations. + * @param {AzureOrbitalContext} client Reference to the service client. + */ + constructor(client: AzureOrbitalContext) { + this.client = client; + } + + /** + * Returns list of available ground stations + * @param capability Ground Station Capability. Possible values include: 'EarthObservation', + * 'Communication' + * @param [options] The optional parameters + * @returns Promise + */ + listByCapability(capability: Models.Capability, options?: msRest.RequestOptionsBase): Promise; + /** + * @param capability Ground Station Capability. Possible values include: 'EarthObservation', + * 'Communication' + * @param callback The callback + */ + listByCapability(capability: Models.Capability, callback: msRest.ServiceCallback): void; + /** + * @param capability Ground Station Capability. Possible values include: 'EarthObservation', + * 'Communication' + * @param options The optional parameters + * @param callback The callback + */ + listByCapability(capability: Models.Capability, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByCapability(capability: Models.Capability, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + capability, + options + }, + listByCapabilityOperationSpec, + callback) as Promise; + } + + /** + * Gets the specified available ground station + * @param groundStationName Ground Station name + * @param [options] The optional parameters + * @returns Promise + */ + get(groundStationName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groundStationName Ground Station name + * @param callback The callback + */ + get(groundStationName: string, callback: msRest.ServiceCallback): void; + /** + * @param groundStationName Ground Station name + * @param options The optional parameters + * @param callback The callback + */ + get(groundStationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(groundStationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groundStationName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Returns list of available ground stations + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param capability Ground Station Capability. Possible values include: 'EarthObservation', + * 'Communication' + * @param [options] The optional parameters + * @returns Promise + */ + listByCapabilityNext(nextPageLink: string, capability: Models.Capability, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param capability Ground Station Capability. Possible values include: 'EarthObservation', + * 'Communication' + * @param callback The callback + */ + listByCapabilityNext(nextPageLink: string, capability: Models.Capability, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param capability Ground Station Capability. Possible values include: 'EarthObservation', + * 'Communication' + * @param options The optional parameters + * @param callback The callback + */ + listByCapabilityNext(nextPageLink: string, capability: Models.Capability, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByCapabilityNext(nextPageLink: string, capability: Models.Capability, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + capability, + options + }, + listByCapabilityNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByCapabilityOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Orbital/availableGroundStations", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.capability + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AvailableGroundStationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Orbital/availableGroundStations/{groundStationName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groundStationName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AvailableGroundStation + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listByCapabilityNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.capability + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.AvailableGroundStationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/orbital/arm-orbital/src/operations/contactProfiles.ts b/sdk/orbital/arm-orbital/src/operations/contactProfiles.ts new file mode 100644 index 000000000000..70d5a24a800c --- /dev/null +++ b/sdk/orbital/arm-orbital/src/operations/contactProfiles.ts @@ -0,0 +1,400 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/contactProfilesMappers"; +import * as Parameters from "../models/parameters"; +import { AzureOrbitalContext } from "../azureOrbitalContext"; + +/** Class representing a ContactProfiles. */ +export class ContactProfiles { + private readonly client: AzureOrbitalContext; + + /** + * Create a ContactProfiles. + * @param {AzureOrbitalContext} client Reference to the service client. + */ + constructor(client: AzureOrbitalContext) { + this.client = client; + } + + /** + * Gets the specified contact Profile in a specified resource group + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, contactProfileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param callback The callback + */ + get(resourceGroupName: string, contactProfileName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, contactProfileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, contactProfileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + contactProfileName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a contact profile + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param location The geo-location where the resource lives + * @param links Links of the Contact Profile + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, contactProfileName: string, location: string, links: Models.ContactProfileLink[], options?: Models.ContactProfilesCreateOrUpdateOptionalParams): Promise { + return this.beginCreateOrUpdate(resourceGroupName,contactProfileName,location,links,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes a specified contact profile resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, contactProfileName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,contactProfileName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Updates the specified contact profile tags. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param [options] The optional parameters + * @returns Promise + */ + updateTags(resourceGroupName: string, contactProfileName: string, options?: Models.ContactProfilesUpdateTagsOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param callback The callback + */ + updateTags(resourceGroupName: string, contactProfileName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param options The optional parameters + * @param callback The callback + */ + updateTags(resourceGroupName: string, contactProfileName: string, options: Models.ContactProfilesUpdateTagsOptionalParams, callback: msRest.ServiceCallback): void; + updateTags(resourceGroupName: string, contactProfileName: string, options?: Models.ContactProfilesUpdateTagsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + contactProfileName, + options + }, + updateTagsOperationSpec, + callback) as Promise; + } + + /** + * Returns list of contact profiles + * @param [options] The optional parameters + * @returns Promise + */ + listBySubscription(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listBySubscription(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listBySubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listBySubscription(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listBySubscriptionOperationSpec, + callback) as Promise; + } + + /** + * Returns list of contact profiles + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param callback The callback + */ + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a contact profile + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param location The geo-location where the resource lives + * @param links Links of the Contact Profile + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, contactProfileName: string, location: string, links: Models.ContactProfileLink[], options?: Models.ContactProfilesBeginCreateOrUpdateOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + contactProfileName, + location, + links, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Deletes a specified contact profile resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param contactProfileName Contact Profile Name + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, contactProfileName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + contactProfileName, + options + }, + beginDeleteMethodOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/contactProfiles/{contactProfileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.contactProfileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContactProfile + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const updateTagsOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/contactProfiles/{contactProfileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.contactProfileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.TagsObject, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ContactProfile + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listBySubscriptionOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Orbital/contactProfiles", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContactProfileListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/contactProfiles", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContactProfileListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/contactProfiles/{contactProfileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.contactProfileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + tags: [ + "options", + "tags" + ], + location: "location", + minimumViableContactDuration: [ + "options", + "minimumViableContactDuration" + ], + minimumElevationDegrees: [ + "options", + "minimumElevationDegrees" + ], + autoTrackingConfiguration: [ + "options", + "autoTrackingConfiguration" + ], + links: "links" + }, + mapper: { + ...Mappers.ContactProfile, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ContactProfile + }, + 201: { + bodyMapper: Mappers.ContactProfile + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/contactProfiles/{contactProfileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.contactProfileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/orbital/arm-orbital/src/operations/contacts.ts b/sdk/orbital/arm-orbital/src/operations/contacts.ts new file mode 100644 index 000000000000..619a9c1a1acf --- /dev/null +++ b/sdk/orbital/arm-orbital/src/operations/contacts.ts @@ -0,0 +1,280 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/contactsMappers"; +import * as Parameters from "../models/parameters"; +import { AzureOrbitalContext } from "../azureOrbitalContext"; + +/** Class representing a Contacts. */ +export class Contacts { + private readonly client: AzureOrbitalContext; + + /** + * Create a Contacts. + * @param {AzureOrbitalContext} client Reference to the service client. + */ + constructor(client: AzureOrbitalContext) { + this.client = client; + } + + /** + * Returns list of contacts by spacecraftName + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, spacecraftName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param callback The callback + */ + list(resourceGroupName: string, spacecraftName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, spacecraftName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, spacecraftName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + spacecraftName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Gets the specified contact in a specified resource group + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactName Contact Name + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, spacecraftName: string, contactName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactName Contact Name + * @param callback The callback + */ + get(resourceGroupName: string, spacecraftName: string, contactName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactName Contact Name + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, spacecraftName: string, contactName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, spacecraftName: string, contactName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + spacecraftName, + contactName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Creates a contact. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactName Contact Name + * @param parameters The parameters to provide for the created contact. + * @param [options] The optional parameters + * @returns Promise + */ + create(resourceGroupName: string, spacecraftName: string, contactName: string, parameters: Models.Contact, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreate(resourceGroupName,spacecraftName,contactName,parameters,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes a specified contact + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactName Contact Name + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, spacecraftName: string, contactName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,spacecraftName,contactName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Creates a contact. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactName Contact Name + * @param parameters The parameters to provide for the created contact. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreate(resourceGroupName: string, spacecraftName: string, contactName: string, parameters: Models.Contact, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + spacecraftName, + contactName, + parameters, + options + }, + beginCreateOperationSpec, + options); + } + + /** + * Deletes a specified contact + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactName Contact Name + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, spacecraftName: string, contactName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + spacecraftName, + contactName, + options + }, + beginDeleteMethodOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/contacts", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ContactListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/contacts/{contactName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName, + Parameters.contactName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Contact + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/contacts/{contactName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName, + Parameters.contactName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.Contact, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Contact + }, + 201: { + bodyMapper: Mappers.Contact + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/contacts/{contactName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName, + Parameters.contactName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/orbital/arm-orbital/src/operations/index.ts b/sdk/orbital/arm-orbital/src/operations/index.ts new file mode 100644 index 000000000000..8c33cddde098 --- /dev/null +++ b/sdk/orbital/arm-orbital/src/operations/index.ts @@ -0,0 +1,14 @@ +/* + * 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. + */ + +export * from "./operations"; +export * from "./spacecrafts"; +export * from "./contacts"; +export * from "./contactProfiles"; +export * from "./availableGroundStations"; diff --git a/sdk/orbital/arm-orbital/src/operations/operations.ts b/sdk/orbital/arm-orbital/src/operations/operations.ts new file mode 100644 index 000000000000..55bca89ccd0d --- /dev/null +++ b/sdk/orbital/arm-orbital/src/operations/operations.ts @@ -0,0 +1,73 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/operationsMappers"; +import * as Parameters from "../models/parameters"; +import { AzureOrbitalContext } from "../azureOrbitalContext"; + +/** Class representing a Operations. */ +export class Operations { + private readonly client: AzureOrbitalContext; + + /** + * Create a Operations. + * @param {AzureOrbitalContext} client Reference to the service client. + */ + constructor(client: AzureOrbitalContext) { + this.client = client; + } + + /** + * Lists all of the available Orbital Rest API operations. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Orbital/operations", + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/orbital/arm-orbital/src/operations/spacecrafts.ts b/sdk/orbital/arm-orbital/src/operations/spacecrafts.ts new file mode 100644 index 000000000000..5b28b10aeb3b --- /dev/null +++ b/sdk/orbital/arm-orbital/src/operations/spacecrafts.ts @@ -0,0 +1,483 @@ +/* + * 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 * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/spacecraftsMappers"; +import * as Parameters from "../models/parameters"; +import { AzureOrbitalContext } from "../azureOrbitalContext"; + +/** Class representing a Spacecrafts. */ +export class Spacecrafts { + private readonly client: AzureOrbitalContext; + + /** + * Create a Spacecrafts. + * @param {AzureOrbitalContext} client Reference to the service client. + */ + constructor(client: AzureOrbitalContext) { + this.client = client; + } + + /** + * Return list of spacecrafts + * @param [options] The optional parameters + * @returns Promise + */ + listBySubscription(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listBySubscription(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listBySubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listBySubscription(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listBySubscriptionOperationSpec, + callback) as Promise; + } + + /** + * Return list of spacecrafts + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param callback The callback + */ + list(resourceGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Gets the specified spacecraft in a specified resource group + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, spacecraftName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param callback The callback + */ + get(resourceGroupName: string, spacecraftName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, spacecraftName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, spacecraftName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + spacecraftName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a spacecraft resource + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param location The geo-location where the resource lives + * @param noradId NORAD ID of the spacecraft. + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, spacecraftName: string, location: string, noradId: string, options?: Models.SpacecraftsCreateOrUpdateOptionalParams): Promise { + return this.beginCreateOrUpdate(resourceGroupName,spacecraftName,location,noradId,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Deletes a specified spacecraft resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, spacecraftName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,spacecraftName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Updates the specified spacecraft tags. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param [options] The optional parameters + * @returns Promise + */ + updateTags(resourceGroupName: string, spacecraftName: string, options?: Models.SpacecraftsUpdateTagsOptionalParams): Promise; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param callback The callback + */ + updateTags(resourceGroupName: string, spacecraftName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param options The optional parameters + * @param callback The callback + */ + updateTags(resourceGroupName: string, spacecraftName: string, options: Models.SpacecraftsUpdateTagsOptionalParams, callback: msRest.ServiceCallback): void; + updateTags(resourceGroupName: string, spacecraftName: string, options?: Models.SpacecraftsUpdateTagsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + spacecraftName, + options + }, + updateTagsOperationSpec, + callback) as Promise; + } + + /** + * Return list of available contacts + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactProfile The reference to the contact profile resource. + * @param groundStationName Name of Azure Ground Station. + * @param startTime Start time of a contact. + * @param endTime End time of a contact. + * @param [options] The optional parameters + * @returns Promise + */ + listAvailableContacts(resourceGroupName: string, spacecraftName: string, contactProfile: Models.ResourceReference, groundStationName: string, startTime: Date | string, endTime: Date | string, options?: msRest.RequestOptionsBase): Promise { + return this.beginListAvailableContacts(resourceGroupName,spacecraftName,contactProfile,groundStationName,startTime,endTime,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Creates or updates a spacecraft resource + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param location The geo-location where the resource lives + * @param noradId NORAD ID of the spacecraft. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(resourceGroupName: string, spacecraftName: string, location: string, noradId: string, options?: Models.SpacecraftsBeginCreateOrUpdateOptionalParams): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + spacecraftName, + location, + noradId, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * Deletes a specified spacecraft resource. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, spacecraftName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + spacecraftName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * Return list of available contacts + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param spacecraftName Spacecraft ID + * @param contactProfile The reference to the contact profile resource. + * @param groundStationName Name of Azure Ground Station. + * @param startTime Start time of a contact. + * @param endTime End time of a contact. + * @param [options] The optional parameters + * @returns Promise + */ + beginListAvailableContacts(resourceGroupName: string, spacecraftName: string, contactProfile: Models.ResourceReference, groundStationName: string, startTime: Date | string, endTime: Date | string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + spacecraftName, + contactProfile, + groundStationName, + startTime, + endTime, + options + }, + beginListAvailableContactsOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listBySubscriptionOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Orbital/spacecrafts", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SpacecraftListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SpacecraftListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Spacecraft + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const updateTagsOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.TagsObject, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Spacecraft + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + tags: [ + "options", + "tags" + ], + location: "location", + noradId: "noradId", + titleLine: [ + "options", + "titleLine" + ], + tleLine1: [ + "options", + "tleLine1" + ], + tleLine2: [ + "options", + "tleLine2" + ], + links: [ + "options", + "links" + ] + }, + mapper: { + ...Mappers.Spacecraft, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Spacecraft + }, + 201: { + bodyMapper: Mappers.Spacecraft + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginListAvailableContactsOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Orbital/spacecrafts/{spacecraftName}/listAvailableContacts", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.spacecraftName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + contactProfile: "contactProfile", + groundStationName: "groundStationName", + startTime: "startTime", + endTime: "endTime" + }, + mapper: { + ...Mappers.ContactParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.AvailableContactsListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/orbital/arm-orbital/tsconfig.json b/sdk/orbital/arm-orbital/tsconfig.json new file mode 100644 index 000000000000..422b584abd5e --- /dev/null +++ b/sdk/orbital/arm-orbital/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6", "dom"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +}