From 9f2339d2b0d76f31c14209333b7cec7ccefacc38 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Tue, 5 Jan 2021 17:52:44 +0000 Subject: [PATCH] CodeGen from PR 12289 in Azure/azure-rest-api-specs Get latest master (#12289) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Hub Generated] Review request for Microsoft.AlertsManagement to add version stable/2019-06-01 (#11833) * Changing Swagger file * Changing examples * Fixing tags example * Fixing tags example * Fixing tags example * prettier fix for white spaces * Enable azure-sdk-for-net-track2 (#12169) * Updating existing CRR APIs with zone restore feature (#12157) * - Added change for support of cross zone restores. * - updating example json * - Fixing prettier * lastUpdatedDate for templates (#11900) * lastUpdatedDate for templates * fix * [Hub Generated] Review request for Microsoft.AppPlatform to add version preview/2020-11-01-preview (#11823) * Adds base for updating Microsoft.AppPlatform from version stable/2020-07-01 to version 2020-11-01-preview * Updates readme * Updates API version in new specs and examples * Introduce additional change to 2020-11-01-preview. * Additional properties to monitoringSettings. * Readonly properties to requiredTraffics. Signed-off-by: Pan Li * Make credscan happy. Signed-off-by: Pan Li * [Hub Generated] Review request for Microsoft.Consumption to add version stable/2019-10-01 (#12113) * Fix linter and swagger warnings * Fix errors * Removed unneeded change * [ASC.Automations] Add new data type "RegulatoryComplianceAssessment" (#12185) * Add SubAssessment event source type and add more automations examples * Change Location isReadOnlu to false * Test * Add new read/write location and add new type TrackedResourceLocation * Minor * minor * prettier fixes * Change variable name to TrackedResourceLocation * Change type name TrackedResourceLocation to AzureTrackedResourceLocation * Update automations example * Add SecureScores & SecureScoreControls as new supported datatypes in Automations resource * [ASC.Automations] add new data type RegulatoryComplianceAssessment * add datalake store track2 config (#12186) * cleanup old pipeline dependencies (#11889) * cleanup pipeline deps * add rest-api-specs-scripts * Extending recovery network input in replication intent API to support new network creation (#12191) * [Hub Generated] Review request for Microsoft.Maps to add version preview/2020-02-01-preview (#12172) * Adding operations for Maps Creator resource. * Fixing typo. * Adds suppression to readme * Adds suppression to readme * Adds suppression to readme * Adds suppression to readme * Resolving linter errors. * Minor update. * Updating all reference to v2 schema. * Marked private atlas as deprecated in description. * add operationsmanagement track2 config (#12141) * Update comment.yml (#12202) Add ARM traffic query link. When add breakingChangeReviewRequired * Adding new properties to response body (#12201) * adding new properties * updating examples * prettier fix * [Hub Generated] Review request for Microsoft.ContainerService to add version stable/2020-12-01 (#12064) * Add autorest.az configurations for azure monitor control service (#12090) * add AMCS config for codegen * reorganize command group * rename command group * Codegen modify try to rename DataCollectionRules create parameters * hide DataCollectionRules Create & Update commands and DataCollectionRuleAssociations Create command * use alias instand of rename in code-gen * use monitor-control-service as the extension name * Update readme.python.md * add logic track2 config (#12166) * add alertsmanagement track2 config (#11759) * Update comment.yml (#12213) * add mixedreality track2 confi (#12070) * add signalr track2 config (#11892) * add cognitiveservice track2 config (#11498) * add machinglearningservices track2 config (#12183) * add apimanagement track2 config (#12187) * add serialconsole track2 config (#12046) * Update TransparentDataEncryption Group Name (#12160) * update TransparentDataEncryption Group name * update reference of TransparentDataEncryption * Update readme.python.md (#12216) * Required changes for Azure HealthBot swagger (#12124) * Fixes for SDK generation files. * Fixes for SDK generation files. * Added GO. * Change Healthcare bot to Healthbot. * 1. Remove unused properties of SKU. 2. Removed unused CheckNameAvailability.json 3. Remove subgroup. * Sku is required. * [Hub Generated] Review request for Microsoft.IoTCentral to add version stable/2018-09-01 (#12224) * update to name * update * add api-version of guest configuration to go SDK (#12217) * add api-version for templatespecs (#12197) * Update specificationRepositoryConfiguration.json (#12218) * Adding new api version to devops RP (#11585) * Initial commit as per PR review * Actual changes to api spec for new version * Switching to multi-api build for python * Fix python spec to correct namespaces in multiapi mode * Revert changes to python generation * Add systemdata * Fix the path for sys data reference * Fix path once more * remove additional properties after including systemdata * Remove more addtional properties * Move system data to root * Fix wrong output-folder (#12229) * Remove swagger and examples because the controller will be used for private preview. (#12177) * Update pull_request_assignment.yml (#12230) * [Hub Generated] Review request for Microsoft.StorageCache to add version stable/2020-10-01 (#11407) * Init the next version so diffs can work better. * Updates readme * Updates API version in new specs and examples * Updates to StorageTargetProperties and added examples of cmk, mtu Add 202 to the storage cache and storage target create/update and update examples Fix ST no junction example's 202 response. add properties for nfs extended groups fix issues with extended groups properties found with autorest add properties and objects for Active Directory username download undo unintended change changes from comments in pull request AccessPolicy support. Example fixes for Access Policies. Fix attribute names to match latest RP. update to credential properties for LDAP and Active Directory marking password properties with x-ms-secret tag minor changes on extended groups and add examples Added blob NFS and some other validation fixes. Update required property for domainName from dnsName Updated blobNfs examples and some kpi fixes. Correct validation errors in examples. Added systemdata to resources. Remove x-ms-secret in keyvault reference due to linter error and common types not using it. Remove blobNfs from this version. Remove blobNfs from spec file. Remove x-ms-secret due to linter errors. Fix certificate spelling. Updating prettier and spell check errors. Used prettier on main spec file. Readded x-ms-secret that open api hub failed on but the PR pipeline allows. * Add prettier fix after rebase * Remove 202 bodies and add systemData to examples. * Update spec with prettier. * Address comments on spec for descriptions, readmes, and extendedGroupsEnabled. * Updating to address addition ldap and pattern comments. * Update version tag to include 01 * Restore changes that would be considered breaking changes matching 2020-03-01 * Address a few other comments. * Update netbios field names and some descriptions. * Fix s360 for missing debugInfo operation. * Fix credscan error in example file. * Update required fields, new validator failure on debugInfo return codes, and bindPassword example value. * Update debug info example with new return codes. * Update other credscan password errors. * Update Semantic-and-Model-Violations-Reference.md (#12199) Adding secret_property code, update some other codes. * ADP - add system metadata to dataPool (#12179) * Swagger Linting Fix (#12162) * Fix Linting Issuing * no message * fix description * add description and object back * test to resolve model validation test (cherry picked from commit ab273dfc0d5897683c128ee15da4babafa7a85ba) * [SQL][V20180601] Updating LocationCapabilities spec (#12032) * [SQL][V20180601] Updating LocationCapabilities spec * Fill 2020 versions * Rollback V2018 changes and bump LocationCapabilities in V4 to 2020-08-01-preview * update order for CI-FixRequiredOnFailure (#12227) * update rdbms track2 config (#12245) * ADT: refix path (#12161) * python track2 configure (#12150) * Add and remove owner for service principals (#12081) * [Hub Generated] Review request for Microsoft.MixedReality to add version stable/2020-05-01 (#11810) * fix spec * fix prettier * [Hub Generated] Review request for Microsoft.MixedReality to add version preview/2019-12-02-preview (#11769) * fix for swagger completeness * forgot curly brace * fix example * Api Management - make /tenant endpoints ARM compliant in 2020-06-01-preview version (#11549) * Adds base for updating Microsoft.ApiManagement from version stable/2019-12-01 to version 2020-06-01-preview * Updates readme * Updates API version in new specs and examples * Add support in API Management for Availability Zones (#10284) * apim in azs * fix prettier check * PATCH should return 200 OK (#10328) * add support for PATCH returning 200 OK * CI fixes prettier fix CI fixes part 2 * Password no longer a mandatory property when uploading Certificates * add missing x-ms-odata extension for filter support * +gatewayhostnameconfiguration protocol changes (#10292) * [2020-06-01-preview] Update Oauth Server secrets Contract (#10602) * Oauth server secrets contract * fix azureMonitor enum * API Management Service Deleted Services Resource (#10607) * API Management Service Deleted Services Resource * Path fix * Lint + custom-words fixes * Location URI parameter for deletedservices Resource * GET for deletedservices by service name * Remove resourceGroupName from resource path * fixes * schema for purge operation * perttier applied * 204 response code added Co-authored-by: REDMOND\glfeokti * OperationNameFormat property added to Diagnostic contract (#10641) * OperationNameFormat property added to Diagnostic contract * add azuremonitor to update contract Co-authored-by: REDMOND\glfeokti * [Microsoft.ApiManagement][2020-06-01-preview] Change Network Status response contract (#10331) * Change Network Status response contract * Update examples for network status contract * ApiManagement - tenant/settings endpoints * ApiManagement - tenant/settings endpoints fix * ApiManagement - tenant/settings endpoints fix prettier * ApiManagement - tenant/settings endpoints fix 3 * ApiManagement - tenant/settings endpoints fix 4 * ApiManagement - tenant/settings endpoints fix 5 Co-authored-by: Samir Solanki Co-authored-by: maksimkim Co-authored-by: promoisha Co-authored-by: REDMOND\glfeokti Co-authored-by: RupengLiu Co-authored-by: vfedonkin * Add "mail" parameter to UserUpdateParameters in graphrbac (#12127) This patch adds a single optional field "mail" to UserUpdateParameters schema. This makes it possible to update user's e-mail address using the (Go) Azure SDK. Currently this is not possible. I have curled the graphrbac API with the extra body parameter and it works as expected. Addition of the field will make it possible to support the mail property on the azuread_user resource in terraform-provider-azuread. Co-authored-by: David Čepelík * [Hub Generated] Review request for Microsoft.Advisor to add version stable/2020-01-01 (#12262) * add resourcegraph track2 config (#12122) * add reservations track2 config (#12027) * Removing a readonly tag from a property (#12254) * Fix swagger correctness errors (#12246) * Fix swagger correctness issues in Security for Iot service * changed int format from 32 to 64 * Add systemData to iotSecuritySolutions Co-authored-by: Liran Chen * [Hub Generated] Review request for Microsoft.Consumption to add version stable/2019-10-01 (#12196) * AAS - Swagger Linting and Correctness Fix (#12176) * Fix R4013 IntegerTypeMustHaveFormat * Fix R4010 RequiredDefaultResponse * Fix R4007 DefaultErrorResponseSchema * removed extra bracket * fix semantic issue * add type error * Fix linting issue * test to resolve model validation test * Revert "test to resolve model validation test" This reverts commit ab273dfc0d5897683c128ee15da4babafa7a85ba. * Resolve Model Validation Issue * Resolve Model Validation Issue v2 * test - add missing properties (cherry picked from commit 48ec27c51cc61f4b3c05b531618f40b7c2f77de6) * fix format * set default value * add x-ms-enum * fix nit * Add missing property * add missing properties * add missing bracket * change GatewayListStatusLive type * add missing "origin" property * fix model validation * Revert "change GatewayListStatusLive type" This reverts commit 4f3fa743d5ce91bea6bcf83474e6e3fc15bc3483. * Revert "fix model validation" This reverts commit 945bc233b9e623b2d90f7903b8b4dee94d873aa8. * add redhatopenshift track2 config (#12045) * [Hub Generated] Review request for Microsoft.CostManagement to add version stable/2019-10-01 (#12194) * Adding nextLink and previousLink to Tags endpoint properties * moving properties out * prettier check fix Co-authored-by: Jorge Chavez Nieto * add relay track2 config (#11495) * update healthbot t2 config (#12269) * update healthbot t2 config * fix readme * add automation track2 config (#11628) * add automation track2 config * update config * Azure Remote Rendering REST API swagger file - for review (#12015) * Azure Remote Rendering API specifcation * fix schema issue * fix examples * fix request bodies integer values, :stop path * pointing readme.md to open api spec for ARR * fix typo, add custom words * add msvc to custom words * fix readme.md * ran prettifier * fix reference to json * reference sts from file as well * fix readme.md * changes to readme.md * remove example from error to fix error * add 200 OK status for retried PUT for conversions and sessiosn * ran prettier * make autorest linter not crash * fix casing of nextLinkName paramter * factor out conversion list response * add examples for conversions * adding examples for sessions, prettify files * [Hub Generated] Review request for Microsoft.Maps/Microsoft.Maps to add version preview/2.0 (#12175) * microsoft.imagery 512 not supported Adding micorosft.imagery to 512 tile not supported list * Updating Raster Tilesets to Have Max Zoom 22 Certain raster tilesets now support up to zoom level 22. * minor changes to swagger (#12253) * minor changes to swagger * reverting sdk definitions file * Add addons to AVS 2020-07-17-preview (#12236) * found missing AVS/privateclouds/addons commit, moving it to 2020-07-17-preview API from PR repo * fixed prettier errors * Fixed vladation warnings for x-ms-enum and missing description/title, related to addons * fixed validation error for missing systemData for addons responses * fixed prettier errors * fixed validation error for missing systemData for addons responses * systemData for any Resource * make sure systemData is readOnly * systemData needs to go in a new api version * suppress systemData error Co-authored-by: Cameron Taggart * Azs api bug fix (#12133) * Old api version for ComputeOperationResult * Api Bugfix for Azure Stack Fabric Admin * Fix for typo in readme * Add default reponse * Fix example issue for default error * Update comment.yml (#12273) * [Hub Generated] Review request for Microsoft.CostManagement to add version stable/2019-11-01 (#12031) * fix dataSet typo * fix dimensions and tags typo * more dimensions and tags to fix * one more miss on dimensions and tags * Add the includeMonetaryCommitment missing field * fix spell check error * make property read only * remove the not operation from query filters * New backup service api version (#12171) * Initial commit: adding new api version * - new api 2020-12-01 * updating the readme.md package reference * - adding the zone information for new api * - updating api-version in examples - added 'zone' in Get recoverypoint api example json * Fixing prettier issue * Revert "- updating api-version in examples" This reverts commit 80baa9fcec1293bd3a51875d793f2178964fce52. * - adding api-version in examples * adding new api version in package mds * [IotHub] Introducing networkRuleSets in IotHubProperties [2020-08-31 : preview and stable ] (#10853) * Adds base for updating Microsoft.Devices from version preview/2020-07-10-preview to version 2020-08-31-preview * Updates readme * Updates API version in new specs and examples * Adds base for updating Microsoft.Devices from version stable/2020-08-01 to version 2020-08-31 * Updates readme * Updates API version in new specs and examples * Adding networkRuleSets support for iothub * Adding networkRuleSets Support in preview version * Adding Examples, correcting order in iothub.json * Updating Readme to have stable and previe versions * Modifying Tag to package-2020-08-31 * Adding Arm identity properties from 2020-07-010-preview version * Removing creds * minor fix * swagger correctness fix (#12101) * swagger correctness fix * update preview version too * Revert change and add defaults (#12243) * Remove gallery preview version 2020-09-30 from stable release (#12222) * add managementpartner track2 config (#12043) * [Hub Generated] Review request for Microsoft.Insights to add version stable/2019-03-01 (#12232) * Fixed swagger validations for api version 2019 * reverted error response change and suppress * removed redundant error details * renamed suppression rule * fixed suppression Co-authored-by: napolish <67951636+napolish@users.noreply.github.com> Co-authored-by: Phoenix He Co-authored-by: arpja <46751982+arpja@users.noreply.github.com> Co-authored-by: ShaniFelig <74960756+ShaniFelig@users.noreply.github.com> Co-authored-by: Pan Li Co-authored-by: Zach Rathbun Co-authored-by: surashed <55134940+surashed@users.noreply.github.com> Co-authored-by: Kaihui (Kerwin) Sun Co-authored-by: Zhenglai Zhang Co-authored-by: om-nishant <50401171+om-nishant@users.noreply.github.com> Co-authored-by: Ihar Voitka Co-authored-by: Ruoxuan Wang <52271048+ruowan@users.noreply.github.com> Co-authored-by: Ju Hee Lee Co-authored-by: xiazhan Co-authored-by: kai ru <69238381+kairu-ms@users.noreply.github.com> Co-authored-by: Ji Wang Co-authored-by: Andy Zhang Co-authored-by: guy-microsoft <50947884+guy-microsoft@users.noreply.github.com> Co-authored-by: PoAn (Baron) Chen Co-authored-by: Arcturus Co-authored-by: suyash691 Co-authored-by: nemijato <68876730+nemijato@users.noreply.github.com> Co-authored-by: brpanask <64860651+brpanask@users.noreply.github.com> Co-authored-by: Ray Chen Co-authored-by: Eli Arbel Co-authored-by: David Han <76010854+david-msft@users.noreply.github.com> Co-authored-by: Roman Khotsyn Co-authored-by: David R. Williamson Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> Co-authored-by: Xinyi Joffre Co-authored-by: roytan-microsoft <73565668+roytan-microsoft@users.noreply.github.com> Co-authored-by: Vitaliy Fedonkin Co-authored-by: Samir Solanki Co-authored-by: maksimkim Co-authored-by: promoisha Co-authored-by: REDMOND\glfeokti Co-authored-by: RupengLiu Co-authored-by: vfedonkin Co-authored-by: David Čepelík Co-authored-by: David Čepelík Co-authored-by: mudit794 <42189950+mudit794@users.noreply.github.com> Co-authored-by: Dhawal Jain <41853104+dhawal777@users.noreply.github.com> Co-authored-by: MichalHel <51286657+MichalHel@users.noreply.github.com> Co-authored-by: Liran Chen Co-authored-by: jochav <75458295+jochav@users.noreply.github.com> Co-authored-by: Jorge Chavez Nieto Co-authored-by: rikogeln <40666347+rikogeln@users.noreply.github.com> Co-authored-by: chgennar <56695749+chgennar@users.noreply.github.com> Co-authored-by: hivyas <61890270+hivyas@users.noreply.github.com> Co-authored-by: Douglas Lee <65295939+leedouglas@users.noreply.github.com> Co-authored-by: Cameron Taggart Co-authored-by: LingyunSu <33764806+LingyunSu@users.noreply.github.com> Co-authored-by: elabicha <61994320+elabicha@users.noreply.github.com> Co-authored-by: Nikhil Kumar Mengani <62704762+nimengan@users.noreply.github.com> Co-authored-by: Junbo Wang Co-authored-by: Daniel Orozco <64658732+dagoroz@users.noreply.github.com> Co-authored-by: Adam Sandor Co-authored-by: yashmuel <63585146+yashmuel@users.noreply.github.com> --- .../azure/mgmt/devops/__init__.py | 19 + .../azure/mgmt/devops/_configuration.py | 49 ++ .../azure/mgmt/devops/_dev_ops_client.py | 60 ++ .../azure/mgmt/devops/models/__init__.py | 67 +++ .../devops/models/_dev_ops_client_enums.py | 27 + .../azure/mgmt/devops/models/_models.py | 518 ++++++++++++++++++ .../azure/mgmt/devops/models/_models_py3.py | 518 ++++++++++++++++++ .../azure/mgmt/devops/models/_paged_models.py | 53 ++ .../azure/mgmt/devops/operations/__init__.py | 20 + .../mgmt/devops/operations/_operations.py | 103 ++++ ...ipeline_template_definitions_operations.py | 103 ++++ .../operations/_pipelines_operations.py | 468 ++++++++++++++++ .../azure/mgmt/devops/version.py | 13 + 13 files changed, 2018 insertions(+) create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/__init__.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_configuration.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_dev_ops_client.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/__init__.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_dev_ops_client_enums.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models_py3.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_paged_models.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/__init__.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_operations.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipeline_template_definitions_operations.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipelines_operations.py create mode 100644 sdk/devops/azure-mgmt-devops/azure/mgmt/devops/version.py diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/__init__.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/__init__.py new file mode 100644 index 000000000000..e1de6280b77c --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import DevOpsClientConfiguration +from ._dev_ops_client import DevOpsClient +__all__ = ['DevOpsClient', 'DevOpsClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_configuration.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_configuration.py new file mode 100644 index 000000000000..33b981ea8ca6 --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_configuration.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class DevOpsClientConfiguration(AzureConfiguration): + """Configuration for DevOpsClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Unique identifier of the Azure subscription. This + is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(DevOpsClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-devops/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_dev_ops_client.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_dev_ops_client.py new file mode 100644 index 000000000000..fc3f9595a47b --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/_dev_ops_client.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import DevOpsClientConfiguration +from .operations import Operations +from .operations import PipelineTemplateDefinitionsOperations +from .operations import PipelinesOperations +from . import models + + +class DevOpsClient(SDKClient): + """Azure DevOps Resource Provider + + :ivar config: Configuration for client. + :vartype config: DevOpsClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.devops.operations.Operations + :ivar pipeline_template_definitions: PipelineTemplateDefinitions operations + :vartype pipeline_template_definitions: azure.mgmt.devops.operations.PipelineTemplateDefinitionsOperations + :ivar pipelines: Pipelines operations + :vartype pipelines: azure.mgmt.devops.operations.PipelinesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Unique identifier of the Azure subscription. This + is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = DevOpsClientConfiguration(credentials, subscription_id, base_url) + super(DevOpsClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-07-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.pipeline_template_definitions = PipelineTemplateDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.pipelines = PipelinesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/__init__.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/__init__.py new file mode 100644 index 000000000000..5b1b63488ff5 --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/__init__.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import Authorization + from ._models_py3 import BootstrapConfiguration + from ._models_py3 import CodeRepository + from ._models_py3 import InputDescriptor + from ._models_py3 import InputValue + from ._models_py3 import Operation + from ._models_py3 import OrganizationReference + from ._models_py3 import Pipeline + from ._models_py3 import PipelineTemplate + from ._models_py3 import PipelineTemplateDefinition + from ._models_py3 import PipelineUpdateParameters + from ._models_py3 import ProjectReference + from ._models_py3 import Resource +except (SyntaxError, ImportError): + from ._models import Authorization + from ._models import BootstrapConfiguration + from ._models import CodeRepository + from ._models import InputDescriptor + from ._models import InputValue + from ._models import Operation + from ._models import OrganizationReference + from ._models import Pipeline + from ._models import PipelineTemplate + from ._models import PipelineTemplateDefinition + from ._models import PipelineUpdateParameters + from ._models import ProjectReference + from ._models import Resource +from ._paged_models import OperationPaged +from ._paged_models import PipelinePaged +from ._paged_models import PipelineTemplateDefinitionPaged +from ._dev_ops_client_enums import ( + InputDataType, + CodeRepositoryType, +) + +__all__ = [ + 'Authorization', + 'BootstrapConfiguration', + 'CodeRepository', + 'InputDescriptor', + 'InputValue', + 'Operation', + 'OrganizationReference', + 'Pipeline', + 'PipelineTemplate', + 'PipelineTemplateDefinition', + 'PipelineUpdateParameters', + 'ProjectReference', + 'Resource', + 'OperationPaged', + 'PipelineTemplateDefinitionPaged', + 'PipelinePaged', + 'InputDataType', + 'CodeRepositoryType', +] diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_dev_ops_client_enums.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_dev_ops_client_enums.py new file mode 100644 index 000000000000..6ea349abbf41 --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_dev_ops_client_enums.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class InputDataType(str, Enum): + + string = "String" + secure_string = "SecureString" + int_enum = "Int" + bool_enum = "Bool" + authorization = "Authorization" + + +class CodeRepositoryType(str, Enum): + + git_hub = "gitHub" + vsts_git = "vstsGit" diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models.py new file mode 100644 index 000000000000..620a8f9dfc14 --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models.py @@ -0,0 +1,518 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Authorization(Model): + """Authorization info used to access a resource (like code repository). + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar authorization_type: Required. Type of authorization. Default value: + "personalAccessToken" . + :vartype authorization_type: str + :param parameters: Authorization parameters corresponding to the + authorization type. + :type parameters: dict[str, str] + """ + + _validation = { + 'authorization_type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{str}'}, + } + + authorization_type = "personalAccessToken" + + def __init__(self, **kwargs): + super(Authorization, self).__init__(**kwargs) + self.parameters = kwargs.get('parameters', None) + + +class BootstrapConfiguration(Model): + """Configuration used to bootstrap a Pipeline. + + All required parameters must be populated in order to send to Azure. + + :param repository: Repository containing the source code for the pipeline. + :type repository: ~azure.mgmt.devops.models.CodeRepository + :param template: Required. Template used to bootstrap the pipeline. + :type template: ~azure.mgmt.devops.models.PipelineTemplate + """ + + _validation = { + 'template': {'required': True}, + } + + _attribute_map = { + 'repository': {'key': 'repository', 'type': 'CodeRepository'}, + 'template': {'key': 'template', 'type': 'PipelineTemplate'}, + } + + def __init__(self, **kwargs): + super(BootstrapConfiguration, self).__init__(**kwargs) + self.repository = kwargs.get('repository', None) + self.template = kwargs.get('template', None) + + +class CloudError(Model): + """An error response from the Pipelines Resource Provider. + + :param error: Details of the error from the Pipelines Resource Provider. + :type error: ~azure.mgmt.devops.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Pipelines Resource Provider. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error or the method where the error occurred. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.devops.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class CodeRepository(Model): + """Repository containing the source code for a pipeline. + + All required parameters must be populated in order to send to Azure. + + :param repository_type: Required. Type of code repository. Possible values + include: 'gitHub', 'vstsGit' + :type repository_type: str or ~azure.mgmt.devops.models.CodeRepositoryType + :param id: Required. Unique immutable identifier of the code repository. + :type id: str + :param default_branch: Required. Default branch used to configure + Continuous Integration (CI) in the pipeline. + :type default_branch: str + :param authorization: Authorization info to access the code repository. + :type authorization: ~azure.mgmt.devops.models.Authorization + :param properties: Repository-specific properties. + :type properties: dict[str, str] + """ + + _validation = { + 'repository_type': {'required': True}, + 'id': {'required': True}, + 'default_branch': {'required': True}, + } + + _attribute_map = { + 'repository_type': {'key': 'repositoryType', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'default_branch': {'key': 'defaultBranch', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'Authorization'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(CodeRepository, self).__init__(**kwargs) + self.repository_type = kwargs.get('repository_type', None) + self.id = kwargs.get('id', None) + self.default_branch = kwargs.get('default_branch', None) + self.authorization = kwargs.get('authorization', None) + self.properties = kwargs.get('properties', None) + + +class InputDescriptor(Model): + """Representation of a pipeline template input parameter. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Identifier of the input parameter. + :type id: str + :param description: Description of the input parameter. + :type description: str + :param type: Required. Data type of the value of the input parameter. + Possible values include: 'String', 'SecureString', 'Int', 'Bool', + 'Authorization' + :type type: str or ~azure.mgmt.devops.models.InputDataType + :param possible_values: List of possible values for the input parameter. + :type possible_values: list[~azure.mgmt.devops.models.InputValue] + """ + + _validation = { + 'id': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'possible_values': {'key': 'possibleValues', 'type': '[InputValue]'}, + } + + def __init__(self, **kwargs): + super(InputDescriptor, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.description = kwargs.get('description', None) + self.type = kwargs.get('type', None) + self.possible_values = kwargs.get('possible_values', None) + + +class InputValue(Model): + """Representation of a pipeline template input parameter value. + + :param value: Value of an input parameter. + :type value: str + :param display_value: Description of the input parameter value. + :type display_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'display_value': {'key': 'displayValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InputValue, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.display_value = kwargs.get('display_value', None) + + +class Operation(Model): + """Properties of an Operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the operation. + :vartype name: str + :param is_data_action: Indicates whether the operation applies to + data-plane. + :type is_data_action: str + :ivar operation: Friendly name of the operation. + :vartype operation: str + :ivar resource: Friendly name of the resource type the operation applies + to. + :vartype resource: str + :ivar description: Friendly description of the operation. + :vartype description: str + :ivar provider: Friendly name of the resource provider. + :vartype provider: str + """ + + _validation = { + 'name': {'readonly': True}, + 'operation': {'readonly': True}, + 'resource': {'readonly': True}, + 'description': {'readonly': True}, + 'provider': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = None + self.is_data_action = kwargs.get('is_data_action', None) + self.operation = None + self.resource = None + self.description = None + self.provider = None + + +class OrganizationReference(Model): + """Reference to an Azure DevOps Organization. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Unique immutable identifier for the Azure DevOps Organization. + :vartype id: str + :param name: Required. Name of the Azure DevOps Organization. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OrganizationReference, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + + +class Resource(Model): + """An Azure Resource Manager (ARM) resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar type: Resource Type + :vartype type: str + :param tags: Resource Tags + :type tags: dict[str, str] + :param location: Resource Location + :type location: str + :ivar name: Resource Name + :vartype name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.type = None + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + self.name = None + + +class Pipeline(Resource): + """Azure DevOps Pipeline used to configure Continuous Integration (CI) & + Continuous Delivery (CD) for Azure resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar type: Resource Type + :vartype type: str + :param tags: Resource Tags + :type tags: dict[str, str] + :param location: Resource Location + :type location: str + :ivar name: Resource Name + :vartype name: str + :ivar pipeline_id: Unique identifier of the Azure Pipeline within the + Azure DevOps Project. + :vartype pipeline_id: int + :param organization: Required. Reference to the Azure DevOps Organization + containing the Pipeline. + :type organization: ~azure.mgmt.devops.models.OrganizationReference + :param project: Required. Reference to the Azure DevOps Project containing + the Pipeline. + :type project: ~azure.mgmt.devops.models.ProjectReference + :param bootstrap_configuration: Required. Configuration used to bootstrap + the Pipeline. + :type bootstrap_configuration: + ~azure.mgmt.devops.models.BootstrapConfiguration + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + 'pipeline_id': {'readonly': True}, + 'organization': {'required': True}, + 'project': {'required': True}, + 'bootstrap_configuration': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'pipeline_id': {'key': 'properties.pipelineId', 'type': 'int'}, + 'organization': {'key': 'properties.organization', 'type': 'OrganizationReference'}, + 'project': {'key': 'properties.project', 'type': 'ProjectReference'}, + 'bootstrap_configuration': {'key': 'properties.bootstrapConfiguration', 'type': 'BootstrapConfiguration'}, + } + + def __init__(self, **kwargs): + super(Pipeline, self).__init__(**kwargs) + self.pipeline_id = None + self.organization = kwargs.get('organization', None) + self.project = kwargs.get('project', None) + self.bootstrap_configuration = kwargs.get('bootstrap_configuration', None) + + +class PipelineTemplate(Model): + """Template used to bootstrap the pipeline. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique identifier of the pipeline template. + :type id: str + :param parameters: Dictionary of input parameters used in the pipeline + template. + :type parameters: dict[str, str] + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(PipelineTemplate, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.parameters = kwargs.get('parameters', None) + + +class PipelineTemplateDefinition(Model): + """Definition of a pipeline template. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique identifier of the pipeline template. + :type id: str + :param description: Description of the pipeline enabled by the template. + :type description: str + :param inputs: List of input parameters required by the template to create + a pipeline. + :type inputs: list[~azure.mgmt.devops.models.InputDescriptor] + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': '[InputDescriptor]'}, + } + + def __init__(self, **kwargs): + super(PipelineTemplateDefinition, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.description = kwargs.get('description', None) + self.inputs = kwargs.get('inputs', None) + + +class PipelineUpdateParameters(Model): + """Request payload used to update an existing Azure Pipeline. + + :param tags: Dictionary of key-value pairs to be set as tags on the Azure + Pipeline. This will overwrite any existing tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(PipelineUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class ProjectReference(Model): + """Reference to an Azure DevOps Project. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Unique immutable identifier of the Azure DevOps Project. + :vartype id: str + :param name: Required. Name of the Azure DevOps Project. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProjectReference, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models_py3.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models_py3.py new file mode 100644 index 000000000000..96929867181e --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_models_py3.py @@ -0,0 +1,518 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Authorization(Model): + """Authorization info used to access a resource (like code repository). + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar authorization_type: Required. Type of authorization. Default value: + "personalAccessToken" . + :vartype authorization_type: str + :param parameters: Authorization parameters corresponding to the + authorization type. + :type parameters: dict[str, str] + """ + + _validation = { + 'authorization_type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{str}'}, + } + + authorization_type = "personalAccessToken" + + def __init__(self, *, parameters=None, **kwargs) -> None: + super(Authorization, self).__init__(**kwargs) + self.parameters = parameters + + +class BootstrapConfiguration(Model): + """Configuration used to bootstrap a Pipeline. + + All required parameters must be populated in order to send to Azure. + + :param repository: Repository containing the source code for the pipeline. + :type repository: ~azure.mgmt.devops.models.CodeRepository + :param template: Required. Template used to bootstrap the pipeline. + :type template: ~azure.mgmt.devops.models.PipelineTemplate + """ + + _validation = { + 'template': {'required': True}, + } + + _attribute_map = { + 'repository': {'key': 'repository', 'type': 'CodeRepository'}, + 'template': {'key': 'template', 'type': 'PipelineTemplate'}, + } + + def __init__(self, *, template, repository=None, **kwargs) -> None: + super(BootstrapConfiguration, self).__init__(**kwargs) + self.repository = repository + self.template = template + + +class CloudError(Model): + """An error response from the Pipelines Resource Provider. + + :param error: Details of the error from the Pipelines Resource Provider. + :type error: ~azure.mgmt.devops.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Pipelines Resource Provider. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error or the method where the error occurred. + :type target: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.devops.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CodeRepository(Model): + """Repository containing the source code for a pipeline. + + All required parameters must be populated in order to send to Azure. + + :param repository_type: Required. Type of code repository. Possible values + include: 'gitHub', 'vstsGit' + :type repository_type: str or ~azure.mgmt.devops.models.CodeRepositoryType + :param id: Required. Unique immutable identifier of the code repository. + :type id: str + :param default_branch: Required. Default branch used to configure + Continuous Integration (CI) in the pipeline. + :type default_branch: str + :param authorization: Authorization info to access the code repository. + :type authorization: ~azure.mgmt.devops.models.Authorization + :param properties: Repository-specific properties. + :type properties: dict[str, str] + """ + + _validation = { + 'repository_type': {'required': True}, + 'id': {'required': True}, + 'default_branch': {'required': True}, + } + + _attribute_map = { + 'repository_type': {'key': 'repositoryType', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'default_branch': {'key': 'defaultBranch', 'type': 'str'}, + 'authorization': {'key': 'authorization', 'type': 'Authorization'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, repository_type, id: str, default_branch: str, authorization=None, properties=None, **kwargs) -> None: + super(CodeRepository, self).__init__(**kwargs) + self.repository_type = repository_type + self.id = id + self.default_branch = default_branch + self.authorization = authorization + self.properties = properties + + +class InputDescriptor(Model): + """Representation of a pipeline template input parameter. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Identifier of the input parameter. + :type id: str + :param description: Description of the input parameter. + :type description: str + :param type: Required. Data type of the value of the input parameter. + Possible values include: 'String', 'SecureString', 'Int', 'Bool', + 'Authorization' + :type type: str or ~azure.mgmt.devops.models.InputDataType + :param possible_values: List of possible values for the input parameter. + :type possible_values: list[~azure.mgmt.devops.models.InputValue] + """ + + _validation = { + 'id': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'possible_values': {'key': 'possibleValues', 'type': '[InputValue]'}, + } + + def __init__(self, *, id: str, type, description: str=None, possible_values=None, **kwargs) -> None: + super(InputDescriptor, self).__init__(**kwargs) + self.id = id + self.description = description + self.type = type + self.possible_values = possible_values + + +class InputValue(Model): + """Representation of a pipeline template input parameter value. + + :param value: Value of an input parameter. + :type value: str + :param display_value: Description of the input parameter value. + :type display_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'display_value': {'key': 'displayValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, display_value: str=None, **kwargs) -> None: + super(InputValue, self).__init__(**kwargs) + self.value = value + self.display_value = display_value + + +class Operation(Model): + """Properties of an Operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of the operation. + :vartype name: str + :param is_data_action: Indicates whether the operation applies to + data-plane. + :type is_data_action: str + :ivar operation: Friendly name of the operation. + :vartype operation: str + :ivar resource: Friendly name of the resource type the operation applies + to. + :vartype resource: str + :ivar description: Friendly description of the operation. + :vartype description: str + :ivar provider: Friendly name of the resource provider. + :vartype provider: str + """ + + _validation = { + 'name': {'readonly': True}, + 'operation': {'readonly': True}, + 'resource': {'readonly': True}, + 'description': {'readonly': True}, + 'provider': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + } + + def __init__(self, *, is_data_action: str=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = None + self.is_data_action = is_data_action + self.operation = None + self.resource = None + self.description = None + self.provider = None + + +class OrganizationReference(Model): + """Reference to an Azure DevOps Organization. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Unique immutable identifier for the Azure DevOps Organization. + :vartype id: str + :param name: Required. Name of the Azure DevOps Organization. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str, **kwargs) -> None: + super(OrganizationReference, self).__init__(**kwargs) + self.id = None + self.name = name + + +class Resource(Model): + """An Azure Resource Manager (ARM) resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar type: Resource Type + :vartype type: str + :param tags: Resource Tags + :type tags: dict[str, str] + :param location: Resource Location + :type location: str + :ivar name: Resource Name + :vartype name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, tags=None, location: str=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.type = None + self.tags = tags + self.location = location + self.name = None + + +class Pipeline(Resource): + """Azure DevOps Pipeline used to configure Continuous Integration (CI) & + Continuous Delivery (CD) for Azure resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id + :vartype id: str + :ivar type: Resource Type + :vartype type: str + :param tags: Resource Tags + :type tags: dict[str, str] + :param location: Resource Location + :type location: str + :ivar name: Resource Name + :vartype name: str + :ivar pipeline_id: Unique identifier of the Azure Pipeline within the + Azure DevOps Project. + :vartype pipeline_id: int + :param organization: Required. Reference to the Azure DevOps Organization + containing the Pipeline. + :type organization: ~azure.mgmt.devops.models.OrganizationReference + :param project: Required. Reference to the Azure DevOps Project containing + the Pipeline. + :type project: ~azure.mgmt.devops.models.ProjectReference + :param bootstrap_configuration: Required. Configuration used to bootstrap + the Pipeline. + :type bootstrap_configuration: + ~azure.mgmt.devops.models.BootstrapConfiguration + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + 'pipeline_id': {'readonly': True}, + 'organization': {'required': True}, + 'project': {'required': True}, + 'bootstrap_configuration': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'pipeline_id': {'key': 'properties.pipelineId', 'type': 'int'}, + 'organization': {'key': 'properties.organization', 'type': 'OrganizationReference'}, + 'project': {'key': 'properties.project', 'type': 'ProjectReference'}, + 'bootstrap_configuration': {'key': 'properties.bootstrapConfiguration', 'type': 'BootstrapConfiguration'}, + } + + def __init__(self, *, organization, project, bootstrap_configuration, tags=None, location: str=None, **kwargs) -> None: + super(Pipeline, self).__init__(tags=tags, location=location, **kwargs) + self.pipeline_id = None + self.organization = organization + self.project = project + self.bootstrap_configuration = bootstrap_configuration + + +class PipelineTemplate(Model): + """Template used to bootstrap the pipeline. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique identifier of the pipeline template. + :type id: str + :param parameters: Dictionary of input parameters used in the pipeline + template. + :type parameters: dict[str, str] + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{str}'}, + } + + def __init__(self, *, id: str, parameters=None, **kwargs) -> None: + super(PipelineTemplate, self).__init__(**kwargs) + self.id = id + self.parameters = parameters + + +class PipelineTemplateDefinition(Model): + """Definition of a pipeline template. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique identifier of the pipeline template. + :type id: str + :param description: Description of the pipeline enabled by the template. + :type description: str + :param inputs: List of input parameters required by the template to create + a pipeline. + :type inputs: list[~azure.mgmt.devops.models.InputDescriptor] + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'inputs': {'key': 'inputs', 'type': '[InputDescriptor]'}, + } + + def __init__(self, *, id: str, description: str=None, inputs=None, **kwargs) -> None: + super(PipelineTemplateDefinition, self).__init__(**kwargs) + self.id = id + self.description = description + self.inputs = inputs + + +class PipelineUpdateParameters(Model): + """Request payload used to update an existing Azure Pipeline. + + :param tags: Dictionary of key-value pairs to be set as tags on the Azure + Pipeline. This will overwrite any existing tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(PipelineUpdateParameters, self).__init__(**kwargs) + self.tags = tags + + +class ProjectReference(Model): + """Reference to an Azure DevOps Project. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Unique immutable identifier of the Azure DevOps Project. + :vartype id: str + :param name: Required. Name of the Azure DevOps Project. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str, **kwargs) -> None: + super(ProjectReference, self).__init__(**kwargs) + self.id = None + self.name = name diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_paged_models.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_paged_models.py new file mode 100644 index 000000000000..bcffe9fccc6d --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/models/_paged_models.py @@ -0,0 +1,53 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) +class PipelineTemplateDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PipelineTemplateDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PipelineTemplateDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PipelineTemplateDefinitionPaged, self).__init__(*args, **kwargs) +class PipelinePaged(Paged): + """ + A paging container for iterating over a list of :class:`Pipeline ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Pipeline]'} + } + + def __init__(self, *args, **kwargs): + + super(PipelinePaged, self).__init__(*args, **kwargs) diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/__init__.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/__init__.py new file mode 100644 index 000000000000..203dd8e67155 --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._operations import Operations +from ._pipeline_template_definitions_operations import PipelineTemplateDefinitionsOperations +from ._pipelines_operations import PipelinesOperations + +__all__ = [ + 'Operations', + 'PipelineTemplateDefinitionsOperations', + 'PipelinesOperations', +] diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_operations.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_operations.py new file mode 100644 index 000000000000..e9076f13f25c --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_operations.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: API version to be used with the HTTP request. Constant value: "2019-07-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-07-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the operations supported by Microsoft.DevOps resource + provider. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.devops.models.OperationPaged[~azure.mgmt.devops.models.Operation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.DevOps/operations'} diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipeline_template_definitions_operations.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipeline_template_definitions_operations.py new file mode 100644 index 000000000000..29f44b4772fa --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipeline_template_definitions_operations.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PipelineTemplateDefinitionsOperations(object): + """PipelineTemplateDefinitionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: API version to be used with the HTTP request. Constant value: "2019-07-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-07-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all pipeline templates which can be used to configure an Azure + Pipeline. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PipelineTemplateDefinition + :rtype: + ~azure.mgmt.devops.models.PipelineTemplateDefinitionPaged[~azure.mgmt.devops.models.PipelineTemplateDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PipelineTemplateDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.DevOps/pipelineTemplateDefinitions'} diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipelines_operations.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipelines_operations.py new file mode 100644 index 000000000000..13795d421b6c --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/operations/_pipelines_operations.py @@ -0,0 +1,468 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PipelinesOperations(object): + """PipelinesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: API version to be used with the HTTP request. Constant value: "2019-07-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-07-01-preview" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, pipeline_name, create_operation_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(create_operation_parameters, 'Pipeline') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Pipeline', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, pipeline_name, create_operation_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an Azure Pipeline. + + :param resource_group_name: Name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param pipeline_name: The name of the Azure Pipeline resource in ARM. + :type pipeline_name: str + :param create_operation_parameters: The request payload to create the + Azure Pipeline. + :type create_operation_parameters: ~azure.mgmt.devops.models.Pipeline + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Pipeline or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.devops.models.Pipeline] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.devops.models.Pipeline]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + pipeline_name=pipeline_name, + create_operation_parameters=create_operation_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Pipeline', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOps/pipelines/{pipelineName}'} + + def get( + self, resource_group_name, pipeline_name, custom_headers=None, raw=False, **operation_config): + """Gets an existing Azure Pipeline. + + :param resource_group_name: Name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param pipeline_name: The name of the Azure Pipeline resource in ARM. + :type pipeline_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Pipeline or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.devops.models.Pipeline or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Pipeline', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOps/pipelines/{pipelineName}'} + + def update( + self, resource_group_name, pipeline_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates the properties of an Azure Pipeline. Currently, only tags can + be updated. + + :param resource_group_name: Name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param pipeline_name: The name of the Azure Pipeline resource. + :type pipeline_name: str + :param tags: Dictionary of key-value pairs to be set as tags on the + Azure Pipeline. This will overwrite any existing tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Pipeline or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.devops.models.Pipeline or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + update_operation_parameters = models.PipelineUpdateParameters(tags=tags) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(update_operation_parameters, 'PipelineUpdateParameters') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Pipeline', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOps/pipelines/{pipelineName}'} + + def delete( + self, resource_group_name, pipeline_name, custom_headers=None, raw=False, **operation_config): + """Deletes an Azure Pipeline. + + :param resource_group_name: Name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param pipeline_name: The name of the Azure Pipeline resource. + :type pipeline_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOps/pipelines/{pipelineName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Azure Pipelines under the specified resource group. + + :param resource_group_name: Name of the resource group within the + Azure subscription. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Pipeline + :rtype: + ~azure.mgmt.devops.models.PipelinePaged[~azure.mgmt.devops.models.Pipeline] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PipelinePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOps/pipelines'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Lists all Azure Pipelines under the specified subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Pipeline + :rtype: + ~azure.mgmt.devops.models.PipelinePaged[~azure.mgmt.devops.models.Pipeline] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PipelinePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DevOps/pipelines'} diff --git a/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/version.py b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/version.py new file mode 100644 index 000000000000..5f9d05736100 --- /dev/null +++ b/sdk/devops/azure-mgmt-devops/azure/mgmt/devops/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2020-07-13-preview" +