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"]
+}