diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index e36dcfa835e8..a529b3cfc879 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -4095,7 +4095,7 @@ packages: dependencies: semver: 7.3.7 shelljs: 0.8.5 - typescript: 4.9.0-dev.20220828 + typescript: 4.9.0-dev.20220830 dev: false /downlevel-dts/0.4.0: @@ -9098,8 +9098,8 @@ packages: hasBin: true dev: false - /typescript/4.9.0-dev.20220828: - resolution: {integrity: sha512-XM4H+zuGTaVi+ZLpLZ6jNTTlE4t1keC6g2e4x3JztjzIHEN/RfV2NncqflIkWD39Fh7qqCckFboFqVcG7M+QuA==} + /typescript/4.9.0-dev.20220830: + resolution: {integrity: sha512-DVMaPFszCw9wFZcTYcFiksny0rUttUJpIvtwCD3ynKYepnX1OCTHwLwsAGtETxi6AuutJ5pSRn2LoAILjzYwvw==} engines: {node: '>=4.2.0'} hasBin: true dev: false @@ -10373,7 +10373,7 @@ packages: dev: false file:projects/arm-appplatform.tgz: - resolution: {integrity: sha512-7zq9QIxYf9wPf4PLHgD1sE/cdFBJOmELQJBLWbUHk/P5pvzlw4r3BdoG0jZnQTutmcyILS/xnv0Wo45r4X1Svg==, tarball: file:projects/arm-appplatform.tgz} + resolution: {integrity: sha512-JEwxfs3ZDv/XxqpTFIw1XrlKNqb5b+9FLl7kpEZ0w+gvmiciBBM94oRC3sJ4uK/XSiVabB63cGQb2x8RAwAjgg==, tarball: file:projects/arm-appplatform.tgz} name: '@rush-temp/arm-appplatform' version: 0.0.0 dependencies: @@ -10385,6 +10385,8 @@ packages: '@rollup/plugin-json': 4.1.0_rollup@2.77.2 '@rollup/plugin-multi-entry': 4.1.0_rollup@2.77.2 '@rollup/plugin-node-resolve': 13.3.0_rollup@2.77.2 + '@types/chai': 4.3.1 + chai: 4.3.6 cross-env: 7.0.3 mkdirp: 1.0.4 mocha: 7.2.0 @@ -10396,7 +10398,6 @@ packages: uglify-js: 3.16.3 transitivePeerDependencies: - '@types/node' - - encoding - supports-color dev: false @@ -15669,7 +15670,7 @@ packages: dev: false file:projects/communication-job-router.tgz: - resolution: {integrity: sha512-kJTGc13v98By2R/RRGv8OLG+OUGpQlnEsh3awDVosiZK5hW2fr34X1S1RQEabHvPuXQt4s5qG1sikvbhovRrpA==, tarball: file:projects/communication-job-router.tgz} + resolution: {integrity: sha512-f2VzRwK94ENNXQYhHUwoDmbYDN0TOFYwlwLo3qthLuSROqb3XRi0Klw4LgqiIgQKO2NxU3nQzAeDaeVs6NegvQ==, tarball: file:projects/communication-job-router.tgz} name: '@rush-temp/communication-job-router' version: 0.0.0 dependencies: diff --git a/sdk/appplatform/arm-appplatform/CHANGELOG.md b/sdk/appplatform/arm-appplatform/CHANGELOG.md index b6a3bc327073..f1ee29f7c58a 100644 --- a/sdk/appplatform/arm-appplatform/CHANGELOG.md +++ b/sdk/appplatform/arm-appplatform/CHANGELOG.md @@ -1,15 +1,225 @@ # Release History + +## 2.1.0-beta.1 (2022-08-30) + +**Features** -## 2.0.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added operation group ApiPortalCustomDomains + - Added operation group ApiPortals + - Added operation group GatewayCustomDomains + - Added operation group GatewayRouteConfigs + - Added operation group Gateways + - Added operation group Storages + - Added operation BuildServiceBuilder.listDeployments + - Added operation Deployments.beginDisableRemoteDebugging + - Added operation Deployments.beginDisableRemoteDebuggingAndWait + - Added operation Deployments.beginEnableRemoteDebugging + - Added operation Deployments.beginEnableRemoteDebuggingAndWait + - Added operation Deployments.getRemoteDebuggingConfig + - Added operation Services.beginStart + - Added operation Services.beginStartAndWait + - Added operation Services.beginStop + - Added operation Services.beginStopAndWait + - Added Interface ApiPortalCustomDomainProperties + - Added Interface ApiPortalCustomDomainResource + - Added Interface ApiPortalCustomDomainResourceCollection + - Added Interface ApiPortalCustomDomainsCreateOrUpdateOptionalParams + - Added Interface ApiPortalCustomDomainsDeleteOptionalParams + - Added Interface ApiPortalCustomDomainsGetOptionalParams + - Added Interface ApiPortalCustomDomainsListNextOptionalParams + - Added Interface ApiPortalCustomDomainsListOptionalParams + - Added Interface ApiPortalInstance + - Added Interface ApiPortalProperties + - Added Interface ApiPortalResource + - Added Interface ApiPortalResourceCollection + - Added Interface ApiPortalResourceRequests + - Added Interface ApiPortalsCreateOrUpdateOptionalParams + - Added Interface ApiPortalsDeleteOptionalParams + - Added Interface ApiPortalsGetOptionalParams + - Added Interface ApiPortalsListNextOptionalParams + - Added Interface ApiPortalsListOptionalParams + - Added Interface ApiPortalsValidateDomainOptionalParams + - Added Interface AppResource + - Added Interface AppVNetAddons + - Added Interface AzureFileVolume + - Added Interface BindingResource + - Added Interface Build + - Added Interface BuilderResource + - Added Interface BuildpackBindingResource + - Added Interface BuildResourceRequests + - Added Interface BuildResult + - Added Interface BuildResultUserSourceInfo + - Added Interface BuildService + - Added Interface BuildServiceAgentPoolResource + - Added Interface BuildServiceBuilderListDeploymentsOptionalParams + - Added Interface CertificateResource + - Added Interface ConfigServerResource + - Added Interface ConfigurationServiceResource + - Added Interface ContainerProbeSettings + - Added Interface ContentCertificateProperties + - Added Interface CustomContainer + - Added Interface CustomContainerUserSourceInfo + - Added Interface CustomDomainResource + - Added Interface CustomPersistentDiskProperties + - Added Interface CustomPersistentDiskResource + - Added Interface DeploymentList + - Added Interface DeploymentResource + - Added Interface DeploymentsDisableRemoteDebuggingOptionalParams + - Added Interface DeploymentsEnableRemoteDebuggingOptionalParams + - Added Interface DeploymentsGetRemoteDebuggingConfigOptionalParams + - Added Interface ExecAction + - Added Interface GatewayApiMetadataProperties + - Added Interface GatewayApiRoute + - Added Interface GatewayCorsProperties + - Added Interface GatewayCustomDomainProperties + - Added Interface GatewayCustomDomainResource + - Added Interface GatewayCustomDomainResourceCollection + - Added Interface GatewayCustomDomainsCreateOrUpdateOptionalParams + - Added Interface GatewayCustomDomainsDeleteOptionalParams + - Added Interface GatewayCustomDomainsGetOptionalParams + - Added Interface GatewayCustomDomainsListNextOptionalParams + - Added Interface GatewayCustomDomainsListOptionalParams + - Added Interface GatewayInstance + - Added Interface GatewayOperatorProperties + - Added Interface GatewayOperatorResourceRequests + - Added Interface GatewayProperties + - Added Interface GatewayResource + - Added Interface GatewayResourceCollection + - Added Interface GatewayResourceRequests + - Added Interface GatewayRouteConfigOpenApiProperties + - Added Interface GatewayRouteConfigProperties + - Added Interface GatewayRouteConfigResource + - Added Interface GatewayRouteConfigResourceCollection + - Added Interface GatewayRouteConfigsCreateOrUpdateOptionalParams + - Added Interface GatewayRouteConfigsDeleteOptionalParams + - Added Interface GatewayRouteConfigsGetOptionalParams + - Added Interface GatewayRouteConfigsListNextOptionalParams + - Added Interface GatewayRouteConfigsListOptionalParams + - Added Interface GatewaysCreateOrUpdateOptionalParams + - Added Interface GatewaysDeleteOptionalParams + - Added Interface GatewaysGetOptionalParams + - Added Interface GatewaysListNextOptionalParams + - Added Interface GatewaysListOptionalParams + - Added Interface GatewaysValidateDomainOptionalParams + - Added Interface HttpGetAction + - Added Interface ImageRegistryCredential + - Added Interface IngressConfig + - Added Interface IngressSettings + - Added Interface IngressSettingsClientAuth + - Added Interface JarUploadedUserSourceInfo + - Added Interface KeyVaultCertificateProperties + - Added Interface MarketplaceResource + - Added Interface MonitoringSettingResource + - Added Interface NetCoreZipUploadedUserSourceInfo + - Added Interface Probe + - Added Interface ProbeAction + - Added Interface ProxyResource + - Added Interface RemoteDebugging + - Added Interface RemoteDebuggingPayload + - Added Interface ServiceRegistryResource + - Added Interface ServiceResource + - Added Interface ServicesStartOptionalParams + - Added Interface ServicesStopOptionalParams + - Added Interface ServiceVNetAddons + - Added Interface SourceUploadedUserSourceInfo + - Added Interface SsoProperties + - Added Interface StorageAccount + - Added Interface StorageProperties + - Added Interface StorageResource + - Added Interface StorageResourceCollection + - Added Interface StoragesCreateOrUpdateOptionalParams + - Added Interface StoragesDeleteOptionalParams + - Added Interface StoragesGetOptionalParams + - Added Interface StoragesListNextOptionalParams + - Added Interface StoragesListOptionalParams + - Added Interface SupportedBuildpackResource + - Added Interface SupportedStackResource + - Added Interface TCPSocketAction + - Added Interface TrackedResource + - Added Interface UploadedUserSourceInfo + - Added Interface UserAssignedManagedIdentity + - Added Type Alias ApiPortalCustomDomainsCreateOrUpdateResponse + - Added Type Alias ApiPortalCustomDomainsGetResponse + - Added Type Alias ApiPortalCustomDomainsListNextResponse + - Added Type Alias ApiPortalCustomDomainsListResponse + - Added Type Alias ApiPortalProvisioningState + - Added Type Alias ApiPortalsCreateOrUpdateResponse + - Added Type Alias ApiPortalsGetResponse + - Added Type Alias ApiPortalsListNextResponse + - Added Type Alias ApiPortalsListResponse + - Added Type Alias ApiPortalsValidateDomainResponse + - Added Type Alias BackendProtocol + - Added Type Alias BuildServiceBuilderListDeploymentsResponse + - Added Type Alias CertificateResourceProvisioningState + - Added Type Alias CustomDomainResourceProvisioningState + - Added Type Alias CustomPersistentDiskPropertiesUnion + - Added Type Alias DeploymentsDisableRemoteDebuggingResponse + - Added Type Alias DeploymentsEnableRemoteDebuggingResponse + - Added Type Alias DeploymentsGetRemoteDebuggingConfigResponse + - Added Type Alias GatewayCustomDomainsCreateOrUpdateResponse + - Added Type Alias GatewayCustomDomainsGetResponse + - Added Type Alias GatewayCustomDomainsListNextResponse + - Added Type Alias GatewayCustomDomainsListResponse + - Added Type Alias GatewayProvisioningState + - Added Type Alias GatewayRouteConfigProtocol + - Added Type Alias GatewayRouteConfigsCreateOrUpdateResponse + - Added Type Alias GatewayRouteConfigsGetResponse + - Added Type Alias GatewayRouteConfigsListNextResponse + - Added Type Alias GatewayRouteConfigsListResponse + - Added Type Alias GatewaysCreateOrUpdateResponse + - Added Type Alias GatewaysGetResponse + - Added Type Alias GatewaysListNextResponse + - Added Type Alias GatewaysListResponse + - Added Type Alias GatewaysValidateDomainResponse + - Added Type Alias HttpSchemeType + - Added Type Alias PowerState + - Added Type Alias ProbeActionType + - Added Type Alias ProbeActionUnion + - Added Type Alias SessionAffinity + - Added Type Alias StoragePropertiesUnion + - Added Type Alias StoragesCreateOrUpdateResponse + - Added Type Alias StoragesGetResponse + - Added Type Alias StoragesListNextResponse + - Added Type Alias StoragesListResponse + - Added Type Alias StorageType + - Added Type Alias Type + - Interface AppResourceProperties has a new optional parameter customPersistentDisks + - Interface AppResourceProperties has a new optional parameter ingressSettings + - Interface AppResourceProperties has a new optional parameter vnetAddons + - Interface BuildProperties has a new optional parameter resourceRequests + - Interface CertificateProperties has a new optional parameter provisioningState + - Interface ClusterResourceProperties has a new optional parameter marketplaceResource + - Interface ClusterResourceProperties has a new optional parameter powerState + - Interface ClusterResourceProperties has a new optional parameter vnetAddons + - Interface CustomDomainProperties has a new optional parameter provisioningState + - Interface DeploymentSettings has a new optional parameter containerProbeSettings + - Interface DeploymentSettings has a new optional parameter livenessProbe + - Interface DeploymentSettings has a new optional parameter readinessProbe + - Interface DeploymentSettings has a new optional parameter startupProbe + - Interface DeploymentSettings has a new optional parameter terminationGracePeriodSeconds + - Interface ManagedIdentityProperties has a new optional parameter userAssignedIdentities + - Interface NetworkProfile has a new optional parameter ingressConfig + - Interface NetworkProfile has a new optional parameter outboundType + - Class AppPlatformManagementClient has a new parameter apiPortalCustomDomains + - Class AppPlatformManagementClient has a new parameter apiPortals + - Class AppPlatformManagementClient has a new parameter gatewayCustomDomains + - Class AppPlatformManagementClient has a new parameter gatewayRouteConfigs + - Class AppPlatformManagementClient has a new parameter gateways + - Class AppPlatformManagementClient has a new parameter storages + - Added Enum KnownApiPortalProvisioningState + - Added Enum KnownBackendProtocol + - Added Enum KnownCertificateResourceProvisioningState + - Added Enum KnownCustomDomainResourceProvisioningState + - Added Enum KnownGatewayProvisioningState + - Added Enum KnownGatewayRouteConfigProtocol + - Added Enum KnownHttpSchemeType + - Added Enum KnownPowerState + - Added Enum KnownProbeActionType + - Added Enum KnownSessionAffinity + - Added Enum KnownStorageType + - Added Enum KnownType + + ## 2.0.0 (2022-05-19) The package of @azure/arm-appplatform is using our next generation design principles since version 2.0.0, which contains breaking changes. diff --git a/sdk/appplatform/arm-appplatform/README.md b/sdk/appplatform/arm-appplatform/README.md index fb45ed5db8df..83fb27b5bf5c 100644 --- a/sdk/appplatform/arm-appplatform/README.md +++ b/sdk/appplatform/arm-appplatform/README.md @@ -6,7 +6,7 @@ REST API for Azure Spring Apps [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/appplatform/arm-appplatform) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-appplatform) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-appplatform) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-appplatform?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/appplatform/arm-appplatform/_meta.json b/sdk/appplatform/arm-appplatform/_meta.json index 9f09205cc823..68cf01c0e51e 100644 --- a/sdk/appplatform/arm-appplatform/_meta.json +++ b/sdk/appplatform/arm-appplatform/_meta.json @@ -1,8 +1,8 @@ { - "commit": "5b1dddff54392a2b6ffa41d4b5ef0e5f0e8b31ae", + "commit": "8bbfbf24cdda79ebf34ffa1f297b288d516f5c6a", "readme": "specification/appplatform/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\appplatform\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-alpha.19.20220408.1 --generate-sample=true", + "autorest_command": "autorest --version=3.8.4 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/appplatform/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.3.0", - "use": "@autorest/typescript@6.0.0-alpha.19.20220408.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.2", + "use": "@autorest/typescript@6.0.0-rc.1" } \ No newline at end of file diff --git a/sdk/appplatform/arm-appplatform/package.json b/sdk/appplatform/arm-appplatform/package.json index e186ff2b8167..9a62f02a9922 100644 --- a/sdk/appplatform/arm-appplatform/package.json +++ b/sdk/appplatform/arm-appplatform/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for AppPlatformManagementClient.", - "version": "2.0.1", + "version": "2.1.0-beta.1", "engines": { "node": ">=12.0.0" }, @@ -40,9 +40,13 @@ "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "@types/chai": "^4.2.8", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/appplatform/arm-appplatform", "repository": { @@ -93,9 +97,8 @@ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", - "integration-test:browser": "echo skipped", - "docs": "echo skipped" + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped" }, "sideEffects": false, "//metadata": { @@ -106,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-appplatform?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/appplatform/arm-appplatform/review/arm-appplatform.api.md b/sdk/appplatform/arm-appplatform/review/arm-appplatform.api.md index 6940710a10ad..243b4218fd6f 100644 --- a/sdk/appplatform/arm-appplatform/review/arm-appplatform.api.md +++ b/sdk/appplatform/arm-appplatform/review/arm-appplatform.api.md @@ -18,6 +18,162 @@ export interface ActiveDeploymentCollection { activeDeploymentNames?: string[]; } +// @public +export interface ApiPortalCustomDomainProperties { + thumbprint?: string; +} + +// @public +export interface ApiPortalCustomDomainResource extends ProxyResource { + properties?: ApiPortalCustomDomainProperties; +} + +// @public +export interface ApiPortalCustomDomainResourceCollection { + nextLink?: string; + value?: ApiPortalCustomDomainResource[]; +} + +// @public +export interface ApiPortalCustomDomains { + beginCreateOrUpdate(resourceGroupName: string, serviceName: string, apiPortalName: string, domainName: string, apiPortalCustomDomainResource: ApiPortalCustomDomainResource, options?: ApiPortalCustomDomainsCreateOrUpdateOptionalParams): Promise, ApiPortalCustomDomainsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, apiPortalName: string, domainName: string, apiPortalCustomDomainResource: ApiPortalCustomDomainResource, options?: ApiPortalCustomDomainsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serviceName: string, apiPortalName: string, domainName: string, options?: ApiPortalCustomDomainsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serviceName: string, apiPortalName: string, domainName: string, options?: ApiPortalCustomDomainsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serviceName: string, apiPortalName: string, domainName: string, options?: ApiPortalCustomDomainsGetOptionalParams): Promise; + list(resourceGroupName: string, serviceName: string, apiPortalName: string, options?: ApiPortalCustomDomainsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ApiPortalCustomDomainsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ApiPortalCustomDomainsCreateOrUpdateResponse = ApiPortalCustomDomainResource; + +// @public +export interface ApiPortalCustomDomainsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ApiPortalCustomDomainsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApiPortalCustomDomainsGetResponse = ApiPortalCustomDomainResource; + +// @public +export interface ApiPortalCustomDomainsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApiPortalCustomDomainsListNextResponse = ApiPortalCustomDomainResourceCollection; + +// @public +export interface ApiPortalCustomDomainsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApiPortalCustomDomainsListResponse = ApiPortalCustomDomainResourceCollection; + +// @public +export interface ApiPortalInstance { + readonly name?: string; + readonly status?: string; +} + +// @public +export interface ApiPortalProperties { + gatewayIds?: string[]; + httpsOnly?: boolean; + readonly instances?: ApiPortalInstance[]; + readonly provisioningState?: ApiPortalProvisioningState; + public?: boolean; + readonly resourceRequests?: ApiPortalResourceRequests; + sourceUrls?: string[]; + ssoProperties?: SsoProperties; + readonly url?: string; +} + +// @public +export type ApiPortalProvisioningState = string; + +// @public +export interface ApiPortalResource extends ProxyResource { + properties?: ApiPortalProperties; + sku?: Sku; +} + +// @public +export interface ApiPortalResourceCollection { + nextLink?: string; + value?: ApiPortalResource[]; +} + +// @public +export interface ApiPortalResourceRequests { + readonly cpu?: string; + readonly memory?: string; +} + +// @public +export interface ApiPortals { + beginCreateOrUpdate(resourceGroupName: string, serviceName: string, apiPortalName: string, apiPortalResource: ApiPortalResource, options?: ApiPortalsCreateOrUpdateOptionalParams): Promise, ApiPortalsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, apiPortalName: string, apiPortalResource: ApiPortalResource, options?: ApiPortalsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serviceName: string, apiPortalName: string, options?: ApiPortalsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serviceName: string, apiPortalName: string, options?: ApiPortalsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serviceName: string, apiPortalName: string, options?: ApiPortalsGetOptionalParams): Promise; + list(resourceGroupName: string, serviceName: string, options?: ApiPortalsListOptionalParams): PagedAsyncIterableIterator; + validateDomain(resourceGroupName: string, serviceName: string, apiPortalName: string, validatePayload: CustomDomainValidatePayload, options?: ApiPortalsValidateDomainOptionalParams): Promise; +} + +// @public +export interface ApiPortalsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ApiPortalsCreateOrUpdateResponse = ApiPortalResource; + +// @public +export interface ApiPortalsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ApiPortalsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApiPortalsGetResponse = ApiPortalResource; + +// @public +export interface ApiPortalsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApiPortalsListNextResponse = ApiPortalResourceCollection; + +// @public +export interface ApiPortalsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApiPortalsListResponse = ApiPortalResourceCollection; + +// @public +export interface ApiPortalsValidateDomainOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApiPortalsValidateDomainResponse = CustomDomainValidateResult; + // @public export interface ApplicationInsightsAgentVersions { readonly java?: string; @@ -29,6 +185,10 @@ export class AppPlatformManagementClient extends coreClient.ServiceClient { $host: string; constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AppPlatformManagementClientOptionalParams); // (undocumented) + apiPortalCustomDomains: ApiPortalCustomDomains; + // (undocumented) + apiPortals: ApiPortals; + // (undocumented) apiVersion: string; // (undocumented) apps: Apps; @@ -53,6 +213,12 @@ export class AppPlatformManagementClient extends coreClient.ServiceClient { // (undocumented) deployments: Deployments; // (undocumented) + gatewayCustomDomains: GatewayCustomDomains; + // (undocumented) + gatewayRouteConfigs: GatewayRouteConfigs; + // (undocumented) + gateways: Gateways; + // (undocumented) monitoringSettings: MonitoringSettings; // (undocumented) operations: Operations; @@ -65,6 +231,8 @@ export class AppPlatformManagementClient extends coreClient.ServiceClient { // (undocumented) skus: Skus; // (undocumented) + storages: Storages; + // (undocumented) subscriptionId: string; } @@ -76,11 +244,11 @@ export interface AppPlatformManagementClientOptionalParams extends coreClient.Se } // @public -export type AppResource = ProxyResource & { - properties?: AppResourceProperties; +export interface AppResource extends ProxyResource { identity?: ManagedIdentityProperties; location?: string; -}; + properties?: AppResourceProperties; +} // @public export interface AppResourceCollection { @@ -95,15 +263,18 @@ export interface AppResourceProperties { [propertyName: string]: Record; }; }; + customPersistentDisks?: CustomPersistentDiskResource[]; enableEndToEndTLS?: boolean; - fqdn?: string; + readonly fqdn?: string; httpsOnly?: boolean; + ingressSettings?: IngressSettings; loadedCertificates?: LoadedCertificate[]; persistentDisk?: PersistentDisk; readonly provisioningState?: AppResourceProvisioningState; public?: boolean; temporaryDisk?: TemporaryDisk; readonly url?: string; + vnetAddons?: AppVNetAddons; } // @public @@ -194,6 +365,12 @@ export interface AppsValidateDomainOptionalParams extends coreClient.OperationOp // @public export type AppsValidateDomainResponse = CustomDomainValidateResult; +// @public +export interface AppVNetAddons { + publicEndpoint?: boolean; + readonly publicEndpointUrl?: string; +} + // @public export interface AvailableOperations { nextLink?: string; @@ -206,9 +383,18 @@ export interface AvailableRuntimeVersions { } // @public -export type BindingResource = ProxyResource & { +export interface AzureFileVolume extends CustomPersistentDiskProperties { + shareName: string; + type: "AzureFileVolume"; +} + +// @public +export type BackendProtocol = string; + +// @public +export interface BindingResource extends ProxyResource { properties?: BindingResourceProperties; -}; +} // @public export interface BindingResourceCollection { @@ -291,9 +477,9 @@ export type BindingsUpdateResponse = BindingResource; export type BindingType = string; // @public -export type Build = ProxyResource & { +export interface Build extends ProxyResource { properties?: BuildProperties; -}; +} // @public export interface BuildCollection { @@ -312,9 +498,9 @@ export interface BuilderProperties { export type BuilderProvisioningState = string; // @public -export type BuilderResource = ProxyResource & { +export interface BuilderResource extends ProxyResource { properties?: BuilderProperties; -}; +} // @public export interface BuilderResourceCollection { @@ -389,9 +575,9 @@ export interface BuildpackBindingProperties { export type BuildpackBindingProvisioningState = string; // @public -export type BuildpackBindingResource = ProxyResource & { +export interface BuildpackBindingResource extends ProxyResource { properties?: BuildpackBindingProperties; -}; +} // @public export interface BuildpackBindingResourceCollection { @@ -419,6 +605,7 @@ export interface BuildProperties { }; readonly provisioningState?: BuildProvisioningState; relativePath?: string; + resourceRequests?: BuildResourceRequests; readonly triggeredBuildResult?: TriggeredBuildResult; } @@ -426,9 +613,15 @@ export interface BuildProperties { export type BuildProvisioningState = string; // @public -export type BuildResult = ProxyResource & { +export interface BuildResourceRequests { + cpu?: string; + memory?: string; +} + +// @public +export interface BuildResult extends ProxyResource { properties?: BuildResultProperties; -}; +} // @public export interface BuildResultCollection { @@ -453,15 +646,15 @@ export interface BuildResultProperties { export type BuildResultProvisioningState = string; // @public -export type BuildResultUserSourceInfo = UserSourceInfo & { - type: "BuildResult"; +export interface BuildResultUserSourceInfo extends UserSourceInfo { buildResultId?: string; -}; + type: "BuildResult"; +} // @public -export type BuildService = ProxyResource & { +export interface BuildService extends ProxyResource { properties?: BuildServiceProperties; -}; +} // @public export interface BuildServiceAgentPool { @@ -499,9 +692,9 @@ export interface BuildServiceAgentPoolProperties { } // @public -export type BuildServiceAgentPoolResource = ProxyResource & { +export interface BuildServiceAgentPoolResource extends ProxyResource { properties?: BuildServiceAgentPoolProperties; -}; +} // @public export interface BuildServiceAgentPoolResourceCollection { @@ -533,6 +726,7 @@ export interface BuildServiceBuilder { beginDeleteAndWait(resourceGroupName: string, serviceName: string, buildServiceName: string, builderName: string, options?: BuildServiceBuilderDeleteOptionalParams): Promise; get(resourceGroupName: string, serviceName: string, buildServiceName: string, builderName: string, options?: BuildServiceBuilderGetOptionalParams): Promise; list(resourceGroupName: string, serviceName: string, buildServiceName: string, options?: BuildServiceBuilderListOptionalParams): PagedAsyncIterableIterator; + listDeployments(resourceGroupName: string, serviceName: string, buildServiceName: string, builderName: string, options?: BuildServiceBuilderListDeploymentsOptionalParams): Promise; } // @public @@ -557,6 +751,13 @@ export interface BuildServiceBuilderGetOptionalParams extends coreClient.Operati // @public export type BuildServiceBuilderGetResponse = BuilderResource; +// @public +export interface BuildServiceBuilderListDeploymentsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type BuildServiceBuilderListDeploymentsResponse = DeploymentList; + // @public export interface BuildServiceBuilderListNextOptionalParams extends coreClient.OperationOptions { } @@ -735,6 +936,7 @@ export interface CertificateProperties { readonly expirationDate?: string; readonly issuedDate?: string; readonly issuer?: string; + readonly provisioningState?: CertificateResourceProvisioningState; readonly subjectName?: string; readonly thumbprint?: string; type: "KeyVaultCertificate" | "ContentCertificate"; @@ -744,9 +946,9 @@ export interface CertificateProperties { export type CertificatePropertiesUnion = CertificateProperties | KeyVaultCertificateProperties | ContentCertificateProperties; // @public -export type CertificateResource = ProxyResource & { +export interface CertificateResource extends ProxyResource { properties?: CertificatePropertiesUnion; -}; +} // @public export interface CertificateResourceCollection { @@ -754,6 +956,9 @@ export interface CertificateResourceCollection { value?: CertificateResource[]; } +// @public +export type CertificateResourceProvisioningState = string; + // @public export interface Certificates { beginCreateOrUpdate(resourceGroupName: string, serviceName: string, certificateName: string, certificateResource: CertificateResource, options?: CertificatesCreateOrUpdateOptionalParams): Promise, CertificatesCreateOrUpdateResponse>>; @@ -816,10 +1021,13 @@ export interface CloudErrorBody { // @public export interface ClusterResourceProperties { readonly fqdn?: string; + marketplaceResource?: MarketplaceResource; networkProfile?: NetworkProfile; + readonly powerState?: PowerState; readonly provisioningState?: ProvisioningState; readonly serviceId?: string; readonly version?: number; + vnetAddons?: ServiceVNetAddons; // (undocumented) zoneRedundant?: boolean; } @@ -846,9 +1054,9 @@ export interface ConfigServerProperties { } // @public -export type ConfigServerResource = ProxyResource & { +export interface ConfigServerResource extends ProxyResource { properties?: ConfigServerProperties; -}; +} // @public export interface ConfigServers { @@ -960,9 +1168,9 @@ export interface ConfigurationServiceProperties { export type ConfigurationServiceProvisioningState = string; // @public -export type ConfigurationServiceResource = ProxyResource & { +export interface ConfigurationServiceResource extends ProxyResource { properties?: ConfigurationServiceProperties; -}; +} // @public export interface ConfigurationServiceResourceCollection { @@ -1045,25 +1253,47 @@ export interface ConfigurationServicesValidateOptionalParams extends coreClient. export type ConfigurationServicesValidateResponse = ConfigurationServiceSettingsValidateResult; // @public -export type ContentCertificateProperties = CertificateProperties & { - type: "ContentCertificate"; +export interface ContainerProbeSettings { + disableProbe?: boolean; +} + +// @public +export interface ContentCertificateProperties extends CertificateProperties { content?: string; -}; + type: "ContentCertificate"; +} // @public export type CreatedByType = string; +// @public +export interface CustomContainer { + args?: string[]; + command?: string[]; + containerImage?: string; + imageRegistryCredential?: ImageRegistryCredential; + languageFramework?: string; + server?: string; +} + +// @public +export interface CustomContainerUserSourceInfo extends UserSourceInfo { + customContainer?: CustomContainer; + type: "Container"; +} + // @public export interface CustomDomainProperties { readonly appName?: string; certName?: string; + readonly provisioningState?: CustomDomainResourceProvisioningState; thumbprint?: string; } // @public -export type CustomDomainResource = ProxyResource & { +export interface CustomDomainResource extends ProxyResource { properties?: CustomDomainProperties; -}; +} // @public export interface CustomDomainResourceCollection { @@ -1071,6 +1301,9 @@ export interface CustomDomainResourceCollection { value?: CustomDomainResource[]; } +// @public +export type CustomDomainResourceProvisioningState = string; + // @public export interface CustomDomains { beginCreateOrUpdate(resourceGroupName: string, serviceName: string, appName: string, domainName: string, domainResource: CustomDomainResource, options?: CustomDomainsCreateOrUpdateOptionalParams): Promise, CustomDomainsCreateOrUpdateResponse>>; @@ -1139,6 +1372,23 @@ export interface CustomDomainValidateResult { message?: string; } +// @public +export interface CustomPersistentDiskProperties { + mountOptions?: string[]; + mountPath: string; + readOnly?: boolean; + type: "AzureFileVolume"; +} + +// @public (undocumented) +export type CustomPersistentDiskPropertiesUnion = CustomPersistentDiskProperties | AzureFileVolume; + +// @public +export interface CustomPersistentDiskResource { + customPersistentDiskProperties?: CustomPersistentDiskPropertiesUnion; + storageId: string; +} + // @public export interface DeploymentInstance { readonly discoveryStatus?: string; @@ -1150,10 +1400,15 @@ export interface DeploymentInstance { } // @public -export type DeploymentResource = ProxyResource & { +export interface DeploymentList { + deployments?: string[]; +} + +// @public +export interface DeploymentResource extends ProxyResource { properties?: DeploymentResourceProperties; sku?: Sku; -}; +} // @public export interface DeploymentResourceCollection { @@ -1183,6 +1438,10 @@ export interface Deployments { beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, deploymentResource: DeploymentResource, options?: DeploymentsCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsDeleteOptionalParams): Promise; + beginDisableRemoteDebugging(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsDisableRemoteDebuggingOptionalParams): Promise, DeploymentsDisableRemoteDebuggingResponse>>; + beginDisableRemoteDebuggingAndWait(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsDisableRemoteDebuggingOptionalParams): Promise; + beginEnableRemoteDebugging(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsEnableRemoteDebuggingOptionalParams): Promise, DeploymentsEnableRemoteDebuggingResponse>>; + beginEnableRemoteDebuggingAndWait(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsEnableRemoteDebuggingOptionalParams): Promise; beginGenerateHeapDump(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, diagnosticParameters: DiagnosticParameters, options?: DeploymentsGenerateHeapDumpOptionalParams): Promise, void>>; beginGenerateHeapDumpAndWait(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, diagnosticParameters: DiagnosticParameters, options?: DeploymentsGenerateHeapDumpOptionalParams): Promise; beginGenerateThreadDump(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, diagnosticParameters: DiagnosticParameters, options?: DeploymentsGenerateThreadDumpOptionalParams): Promise, void>>; @@ -1199,6 +1458,7 @@ export interface Deployments { beginUpdateAndWait(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, deploymentResource: DeploymentResource, options?: DeploymentsUpdateOptionalParams): Promise; get(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsGetOptionalParams): Promise; getLogFileUrl(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsGetLogFileUrlOptionalParams): Promise; + getRemoteDebuggingConfig(resourceGroupName: string, serviceName: string, appName: string, deploymentName: string, options?: DeploymentsGetRemoteDebuggingConfigOptionalParams): Promise; list(resourceGroupName: string, serviceName: string, appName: string, options?: DeploymentsListOptionalParams): PagedAsyncIterableIterator; listForCluster(resourceGroupName: string, serviceName: string, options?: DeploymentsListForClusterOptionalParams): PagedAsyncIterableIterator; } @@ -1218,6 +1478,25 @@ export interface DeploymentsDeleteOptionalParams extends coreClient.OperationOpt updateIntervalInMs?: number; } +// @public +export interface DeploymentsDisableRemoteDebuggingOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DeploymentsDisableRemoteDebuggingResponse = RemoteDebugging; + +// @public +export interface DeploymentsEnableRemoteDebuggingOptionalParams extends coreClient.OperationOptions { + remoteDebuggingPayload?: RemoteDebuggingPayload; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type DeploymentsEnableRemoteDebuggingResponse = RemoteDebugging; + // @public export interface DeploymentSettings { addonConfigs?: { @@ -1225,10 +1504,15 @@ export interface DeploymentSettings { [propertyName: string]: Record; }; }; + containerProbeSettings?: ContainerProbeSettings; environmentVariables?: { [propertyName: string]: string; }; + livenessProbe?: Probe; + readinessProbe?: Probe; resourceRequests?: ResourceRequests; + startupProbe?: Probe; + terminationGracePeriodSeconds?: number; } // @public @@ -1254,6 +1538,13 @@ export type DeploymentsGetLogFileUrlResponse = LogFileUrlResponse; export interface DeploymentsGetOptionalParams extends coreClient.OperationOptions { } +// @public +export interface DeploymentsGetRemoteDebuggingConfigOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type DeploymentsGetRemoteDebuggingConfigResponse = RemoteDebugging; + // @public export type DeploymentsGetResponse = DeploymentResource; @@ -1336,352 +1627,647 @@ export interface ErrorModel { } // @public -export interface GitPatternRepository { - hostKey?: string; - hostKeyAlgorithm?: string; - label?: string; - name: string; - password?: string; - pattern?: string[]; - privateKey?: string; - searchPaths?: string[]; - strictHostKeyChecking?: boolean; - uri: string; - username?: string; +export interface ExecAction extends ProbeAction { + command?: string[]; + type: "ExecAction"; } // @public -export type JarUploadedUserSourceInfo = UploadedUserSourceInfo & { - type: "Jar"; - runtimeVersion?: string; - jvmOptions?: string; -}; +export interface GatewayApiMetadataProperties { + description?: string; + documentation?: string; + serverUrl?: string; + title?: string; + version?: string; +} // @public -export type KeyVaultCertificateProperties = CertificateProperties & { - type: "KeyVaultCertificate"; - vaultUri: string; - keyVaultCertName: string; - certVersion?: string; - excludePrivateKey?: boolean; -}; +export interface GatewayApiRoute { + description?: string; + filters?: string[]; + order?: number; + predicates?: string[]; + ssoEnabled?: boolean; + tags?: string[]; + title?: string; + tokenRelay?: boolean; + uri?: string; +} // @public -export enum KnownActionType { - // (undocumented) - Internal = "Internal" +export interface GatewayCorsProperties { + allowCredentials?: boolean; + allowedHeaders?: string[]; + allowedMethods?: string[]; + allowedOrigins?: string[]; + exposedHeaders?: string[]; + maxAge?: number; } // @public -export enum KnownAppResourceProvisioningState { - // (undocumented) - Creating = "Creating", - // (undocumented) - Deleting = "Deleting", - // (undocumented) - Failed = "Failed", - // (undocumented) - Succeeded = "Succeeded", - // (undocumented) - Updating = "Updating" +export interface GatewayCustomDomainProperties { + thumbprint?: string; } // @public -export enum KnownBindingType { - // (undocumented) - ApacheSkyWalking = "ApacheSkyWalking", - // (undocumented) - AppDynamics = "AppDynamics", - // (undocumented) - ApplicationInsights = "ApplicationInsights", - // (undocumented) - Dynatrace = "Dynatrace", - // (undocumented) - ElasticAPM = "ElasticAPM", - // (undocumented) - NewRelic = "NewRelic" +export interface GatewayCustomDomainResource extends ProxyResource { + properties?: GatewayCustomDomainProperties; } // @public -export enum KnownBuilderProvisioningState { - // (undocumented) - Creating = "Creating", - // (undocumented) - Deleting = "Deleting", - // (undocumented) - Failed = "Failed", - // (undocumented) - Succeeded = "Succeeded", - // (undocumented) - Updating = "Updating" +export interface GatewayCustomDomainResourceCollection { + nextLink?: string; + value?: GatewayCustomDomainResource[]; +} + +// @public +export interface GatewayCustomDomains { + beginCreateOrUpdate(resourceGroupName: string, serviceName: string, gatewayName: string, domainName: string, gatewayCustomDomainResource: GatewayCustomDomainResource, options?: GatewayCustomDomainsCreateOrUpdateOptionalParams): Promise, GatewayCustomDomainsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, gatewayName: string, domainName: string, gatewayCustomDomainResource: GatewayCustomDomainResource, options?: GatewayCustomDomainsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serviceName: string, gatewayName: string, domainName: string, options?: GatewayCustomDomainsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serviceName: string, gatewayName: string, domainName: string, options?: GatewayCustomDomainsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serviceName: string, gatewayName: string, domainName: string, options?: GatewayCustomDomainsGetOptionalParams): Promise; + list(resourceGroupName: string, serviceName: string, gatewayName: string, options?: GatewayCustomDomainsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface GatewayCustomDomainsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type GatewayCustomDomainsCreateOrUpdateResponse = GatewayCustomDomainResource; + +// @public +export interface GatewayCustomDomainsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface GatewayCustomDomainsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewayCustomDomainsGetResponse = GatewayCustomDomainResource; + +// @public +export interface GatewayCustomDomainsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewayCustomDomainsListNextResponse = GatewayCustomDomainResourceCollection; + +// @public +export interface GatewayCustomDomainsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewayCustomDomainsListResponse = GatewayCustomDomainResourceCollection; + +// @public +export interface GatewayInstance { + readonly name?: string; + readonly status?: string; +} + +// @public +export interface GatewayOperatorProperties { + readonly instances?: GatewayInstance[]; + readonly resourceRequests?: GatewayOperatorResourceRequests; +} + +// @public +export interface GatewayOperatorResourceRequests { + readonly cpu?: string; + readonly instanceCount?: number; + readonly memory?: string; +} + +// @public +export interface GatewayProperties { + apiMetadataProperties?: GatewayApiMetadataProperties; + corsProperties?: GatewayCorsProperties; + httpsOnly?: boolean; + readonly instances?: GatewayInstance[]; + readonly operatorProperties?: GatewayOperatorProperties; + readonly provisioningState?: GatewayProvisioningState; + public?: boolean; + resourceRequests?: GatewayResourceRequests; + ssoProperties?: SsoProperties; + readonly url?: string; +} + +// @public +export type GatewayProvisioningState = string; + +// @public +export interface GatewayResource extends ProxyResource { + properties?: GatewayProperties; + sku?: Sku; +} + +// @public +export interface GatewayResourceCollection { + nextLink?: string; + value?: GatewayResource[]; +} + +// @public +export interface GatewayResourceRequests { + cpu?: string; + memory?: string; +} + +// @public +export interface GatewayRouteConfigOpenApiProperties { + uri?: string; +} + +// @public +export interface GatewayRouteConfigProperties { + appResourceId?: string; + openApi?: GatewayRouteConfigOpenApiProperties; + protocol?: GatewayRouteConfigProtocol; + readonly provisioningState?: GatewayProvisioningState; + routes?: GatewayApiRoute[]; +} + +// @public +export type GatewayRouteConfigProtocol = string; + +// @public +export interface GatewayRouteConfigResource extends ProxyResource { + properties?: GatewayRouteConfigProperties; +} + +// @public +export interface GatewayRouteConfigResourceCollection { + nextLink?: string; + value?: GatewayRouteConfigResource[]; +} + +// @public +export interface GatewayRouteConfigs { + beginCreateOrUpdate(resourceGroupName: string, serviceName: string, gatewayName: string, routeConfigName: string, gatewayRouteConfigResource: GatewayRouteConfigResource, options?: GatewayRouteConfigsCreateOrUpdateOptionalParams): Promise, GatewayRouteConfigsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, gatewayName: string, routeConfigName: string, gatewayRouteConfigResource: GatewayRouteConfigResource, options?: GatewayRouteConfigsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serviceName: string, gatewayName: string, routeConfigName: string, options?: GatewayRouteConfigsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serviceName: string, gatewayName: string, routeConfigName: string, options?: GatewayRouteConfigsDeleteOptionalParams): Promise; + get(resourceGroupName: string, serviceName: string, gatewayName: string, routeConfigName: string, options?: GatewayRouteConfigsGetOptionalParams): Promise; + list(resourceGroupName: string, serviceName: string, gatewayName: string, options?: GatewayRouteConfigsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface GatewayRouteConfigsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type GatewayRouteConfigsCreateOrUpdateResponse = GatewayRouteConfigResource; + +// @public +export interface GatewayRouteConfigsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface GatewayRouteConfigsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewayRouteConfigsGetResponse = GatewayRouteConfigResource; + +// @public +export interface GatewayRouteConfigsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewayRouteConfigsListNextResponse = GatewayRouteConfigResourceCollection; + +// @public +export interface GatewayRouteConfigsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewayRouteConfigsListResponse = GatewayRouteConfigResourceCollection; + +// @public +export interface Gateways { + beginCreateOrUpdate(resourceGroupName: string, serviceName: string, gatewayName: string, gatewayResource: GatewayResource, options?: GatewaysCreateOrUpdateOptionalParams): Promise, GatewaysCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, gatewayName: string, gatewayResource: GatewayResource, options?: GatewaysCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serviceName: string, gatewayName: string, options?: GatewaysDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serviceName: string, gatewayName: string, options?: GatewaysDeleteOptionalParams): Promise; + get(resourceGroupName: string, serviceName: string, gatewayName: string, options?: GatewaysGetOptionalParams): Promise; + list(resourceGroupName: string, serviceName: string, options?: GatewaysListOptionalParams): PagedAsyncIterableIterator; + validateDomain(resourceGroupName: string, serviceName: string, gatewayName: string, validatePayload: CustomDomainValidatePayload, options?: GatewaysValidateDomainOptionalParams): Promise; +} + +// @public +export interface GatewaysCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type GatewaysCreateOrUpdateResponse = GatewayResource; + +// @public +export interface GatewaysDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface GatewaysGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewaysGetResponse = GatewayResource; + +// @public +export interface GatewaysListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewaysListNextResponse = GatewayResourceCollection; + +// @public +export interface GatewaysListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewaysListResponse = GatewayResourceCollection; + +// @public +export interface GatewaysValidateDomainOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type GatewaysValidateDomainResponse = CustomDomainValidateResult; + +// @public +export interface GitPatternRepository { + hostKey?: string; + hostKeyAlgorithm?: string; + label?: string; + name: string; + password?: string; + pattern?: string[]; + privateKey?: string; + searchPaths?: string[]; + strictHostKeyChecking?: boolean; + uri: string; + username?: string; +} + +// @public +export interface HttpGetAction extends ProbeAction { + path?: string; + scheme?: HttpSchemeType; + type: "HTTPGetAction"; +} + +// @public +export type HttpSchemeType = string; + +// @public +export interface ImageRegistryCredential { + password?: string; + username?: string; +} + +// @public +export interface IngressConfig { + readTimeoutInSeconds?: number; +} + +// @public +export interface IngressSettings { + backendProtocol?: BackendProtocol; + clientAuth?: IngressSettingsClientAuth; + readTimeoutInSeconds?: number; + sendTimeoutInSeconds?: number; + sessionAffinity?: SessionAffinity; + sessionCookieMaxAge?: number; +} + +// @public +export interface IngressSettingsClientAuth { + certificates?: string[]; +} + +// @public +export interface JarUploadedUserSourceInfo extends UploadedUserSourceInfo { + jvmOptions?: string; + runtimeVersion?: string; + type: "Jar"; +} + +// @public +export interface KeyVaultCertificateProperties extends CertificateProperties { + certVersion?: string; + excludePrivateKey?: boolean; + keyVaultCertName: string; + type: "KeyVaultCertificate"; + vaultUri: string; +} + +// @public +export enum KnownActionType { + Internal = "Internal" +} + +// @public +export enum KnownApiPortalProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating" +} + +// @public +export enum KnownAppResourceProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating" +} + +// @public +export enum KnownBackendProtocol { + Default = "Default", + Grpc = "GRPC" +} + +// @public +export enum KnownBindingType { + ApacheSkyWalking = "ApacheSkyWalking", + AppDynamics = "AppDynamics", + ApplicationInsights = "ApplicationInsights", + Dynatrace = "Dynatrace", + ElasticAPM = "ElasticAPM", + NewRelic = "NewRelic" +} + +// @public +export enum KnownBuilderProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating" } // @public export enum KnownBuildpackBindingProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownBuildProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownBuildResultProvisioningState { - // (undocumented) Building = "Building", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Queuing = "Queuing", - // (undocumented) Succeeded = "Succeeded" } // @public export enum KnownBuildServiceProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) + Updating = "Updating" +} + +// @public +export enum KnownCertificateResourceProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", Updating = "Updating" } // @public export enum KnownConfigServerState { - // (undocumented) Deleted = "Deleted", - // (undocumented) Failed = "Failed", - // (undocumented) NotAvailable = "NotAvailable", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownConfigurationServiceProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownCreatedByType { - // (undocumented) Application = "Application", - // (undocumented) Key = "Key", - // (undocumented) ManagedIdentity = "ManagedIdentity", - // (undocumented) User = "User" } +// @public +export enum KnownCustomDomainResourceProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating" +} + // @public export enum KnownDeploymentResourceProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownDeploymentResourceStatus { - // (undocumented) Running = "Running", - // (undocumented) Stopped = "Stopped" } +// @public +export enum KnownGatewayProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating" +} + +// @public +export enum KnownGatewayRouteConfigProtocol { + Http = "HTTP", + Https = "HTTPS" +} + +// @public +export enum KnownHttpSchemeType { + Http = "HTTP", + Https = "HTTPS" +} + // @public export enum KnownKPackBuildStageProvisioningState { - // (undocumented) Failed = "Failed", - // (undocumented) NotStarted = "NotStarted", - // (undocumented) Running = "Running", - // (undocumented) Succeeded = "Succeeded" } // @public export enum KnownLastModifiedByType { - // (undocumented) Application = "Application", - // (undocumented) Key = "Key", - // (undocumented) ManagedIdentity = "ManagedIdentity", - // (undocumented) User = "User" } // @public export enum KnownManagedIdentityType { - // (undocumented) None = "None", - // (undocumented) SystemAssigned = "SystemAssigned", - // (undocumented) SystemAssignedUserAssigned = "SystemAssigned,UserAssigned", - // (undocumented) UserAssigned = "UserAssigned" } // @public export enum KnownMonitoringSettingState { - // (undocumented) Failed = "Failed", - // (undocumented) NotAvailable = "NotAvailable", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } +// @public +export enum KnownPowerState { + Running = "Running", + Stopped = "Stopped" +} + +// @public +export enum KnownProbeActionType { + ExecAction = "ExecAction", + HttpGetAction = "HTTPGetAction", + TCPSocketAction = "TCPSocketAction" +} + // @public export enum KnownProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleted = "Deleted", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Moved = "Moved", - // (undocumented) MoveFailed = "MoveFailed", - // (undocumented) Moving = "Moving", - // (undocumented) Starting = "Starting", - // (undocumented) Stopping = "Stopping", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownResourceSkuRestrictionsReasonCode { - // (undocumented) NotAvailableForSubscription = "NotAvailableForSubscription", - // (undocumented) QuotaId = "QuotaId" } // @public export enum KnownResourceSkuRestrictionsType { - // (undocumented) Location = "Location", - // (undocumented) Zone = "Zone" } // @public export enum KnownServiceRegistryProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } +// @public +export enum KnownSessionAffinity { + Cookie = "Cookie", + None = "None" +} + // @public export enum KnownSkuScaleType { - // (undocumented) Automatic = "Automatic", - // (undocumented) Manual = "Manual", - // (undocumented) None = "None" } +// @public +export enum KnownStorageType { + StorageAccount = "StorageAccount" +} + // @public export enum KnownSupportedRuntimePlatform { - // (undocumented) Java = "Java", - // (undocumented) NETCore = ".NET Core" } // @public export enum KnownSupportedRuntimeValue { - // (undocumented) Java11 = "Java_11", - // (undocumented) Java17 = "Java_17", - // (undocumented) Java8 = "Java_8", - // (undocumented) NetCore31 = "NetCore_31" } // @public export enum KnownTestKeyType { - // (undocumented) Primary = "Primary", - // (undocumented) Secondary = "Secondary" } // @public export enum KnownTrafficDirection { - // (undocumented) Inbound = "Inbound", - // (undocumented) Outbound = "Outbound" } +// @public +export enum KnownType { + AzureFileVolume = "AzureFileVolume" +} + // @public export type KPackBuildStageProvisioningState = string; @@ -1711,11 +2297,21 @@ export interface ManagedIdentityProperties { principalId?: string; tenantId?: string; type?: ManagedIdentityType; + userAssignedIdentities?: { + [propertyName: string]: UserAssignedManagedIdentity; + }; } // @public export type ManagedIdentityType = string; +// @public +export interface MarketplaceResource { + plan?: string; + product?: string; + publisher?: string; +} + // @public export interface MetricDimension { displayName?: string; @@ -1749,9 +2345,9 @@ export interface MonitoringSettingProperties { } // @public -export type MonitoringSettingResource = ProxyResource & { +export interface MonitoringSettingResource extends ProxyResource { properties?: MonitoringSettingProperties; -}; +} // @public export interface MonitoringSettings { @@ -1804,17 +2400,19 @@ export interface NameAvailabilityParameters { } // @public -export type NetCoreZipUploadedUserSourceInfo = UploadedUserSourceInfo & { - type: "NetCoreZip"; +export interface NetCoreZipUploadedUserSourceInfo extends UploadedUserSourceInfo { netCoreMainEntryPath?: string; runtimeVersion?: string; -}; + type: "NetCoreZip"; +} // @public export interface NetworkProfile { appNetworkResourceGroup?: string; appSubnetId?: string; + ingressConfig?: IngressConfig; readonly outboundIPs?: NetworkProfileOutboundIPs; + outboundType?: string; readonly requiredTraffics?: RequiredTraffic[]; serviceCidr?: string; serviceRuntimeNetworkResourceGroup?: string; @@ -1875,17 +2473,54 @@ export interface PersistentDisk { readonly usedInGB?: number; } +// @public +export type PowerState = string; + +// @public +export interface Probe { + disableProbe: boolean; + failureThreshold?: number; + initialDelaySeconds?: number; + periodSeconds?: number; + probeAction?: ProbeActionUnion; + successThreshold?: number; + timeoutSeconds?: number; +} + +// @public +export interface ProbeAction { + type: "HTTPGetAction" | "ExecAction" | "TCPSocketAction"; +} + +// @public +export type ProbeActionType = string; + +// @public (undocumented) +export type ProbeActionUnion = ProbeAction | HttpGetAction | ExecAction | TCPSocketAction; + // @public export type ProvisioningState = string; // @public -export type ProxyResource = Resource & {}; +export interface ProxyResource extends Resource { +} // @public export interface RegenerateTestKeyRequestPayload { keyType: TestKeyType; } +// @public +export interface RemoteDebugging { + enabled?: boolean; + port?: number; +} + +// @public +export interface RemoteDebuggingPayload { + port?: number; +} + // @public export interface RequiredTraffic { readonly direction?: TrafficDirection; @@ -2046,9 +2681,9 @@ export interface ServiceRegistryProperties { export type ServiceRegistryProvisioningState = string; // @public -export type ServiceRegistryResource = ProxyResource & { +export interface ServiceRegistryResource extends ProxyResource { properties?: ServiceRegistryProperties; -}; +} // @public export interface ServiceRegistryResourceCollection { @@ -2064,10 +2699,10 @@ export interface ServiceRegistryResourceRequests { } // @public -export type ServiceResource = TrackedResource & { +export interface ServiceResource extends TrackedResource { properties?: ClusterResourceProperties; sku?: Sku; -}; +} // @public export interface ServiceResourceList { @@ -2081,6 +2716,10 @@ export interface Services { beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, resource: ServiceResource, options?: ServicesCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, serviceName: string, options?: ServicesDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, serviceName: string, options?: ServicesDeleteOptionalParams): Promise; + beginStart(resourceGroupName: string, serviceName: string, options?: ServicesStartOptionalParams): Promise, void>>; + beginStartAndWait(resourceGroupName: string, serviceName: string, options?: ServicesStartOptionalParams): Promise; + beginStop(resourceGroupName: string, serviceName: string, options?: ServicesStopOptionalParams): Promise, void>>; + beginStopAndWait(resourceGroupName: string, serviceName: string, options?: ServicesStopOptionalParams): Promise; beginUpdate(resourceGroupName: string, serviceName: string, resource: ServiceResource, options?: ServicesUpdateOptionalParams): Promise, ServicesUpdateResponse>>; beginUpdateAndWait(resourceGroupName: string, serviceName: string, resource: ServiceResource, options?: ServicesUpdateOptionalParams): Promise; checkNameAvailability(location: string, availabilityParameters: NameAvailabilityParameters, options?: ServicesCheckNameAvailabilityOptionalParams): Promise; @@ -2181,6 +2820,18 @@ export interface ServicesRegenerateTestKeyOptionalParams extends coreClient.Oper // @public export type ServicesRegenerateTestKeyResponse = TestKeys; +// @public +export interface ServicesStartOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface ServicesStopOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + // @public export interface ServicesUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2190,6 +2841,14 @@ export interface ServicesUpdateOptionalParams extends coreClient.OperationOption // @public export type ServicesUpdateResponse = ServiceResource; +// @public +export interface ServiceVNetAddons { + logStreamPublicEndpoint?: boolean; +} + +// @public +export type SessionAffinity = string; + // @public export interface Sku { capacity?: number; @@ -2228,11 +2887,19 @@ export interface SkusListOptionalParams extends coreClient.OperationOptions { export type SkusListResponse = ResourceSkuCollection; // @public -export type SourceUploadedUserSourceInfo = UploadedUserSourceInfo & { - type: "Source"; +export interface SourceUploadedUserSourceInfo extends UploadedUserSourceInfo { artifactSelector?: string; runtimeVersion?: string; -}; + type: "Source"; +} + +// @public +export interface SsoProperties { + clientId?: string; + clientSecret?: string; + issuerUri?: string; + scope?: string[]; +} // @public export interface StackProperties { @@ -2241,9 +2908,84 @@ export interface StackProperties { } // @public -export type SupportedBuildpackResource = ProxyResource & { +export interface StorageAccount extends StorageProperties { + accountKey: string; + accountName: string; + storageType: "StorageAccount"; +} + +// @public +export interface StorageProperties { + storageType: "StorageAccount"; +} + +// @public (undocumented) +export type StoragePropertiesUnion = StorageProperties | StorageAccount; + +// @public +export interface StorageResource extends ProxyResource { + properties?: StoragePropertiesUnion; +} + +// @public +export interface StorageResourceCollection { + nextLink?: string; + value?: StorageResource[]; +} + +// @public +export interface Storages { + beginCreateOrUpdate(resourceGroupName: string, serviceName: string, storageName: string, storageResource: StorageResource, options?: StoragesCreateOrUpdateOptionalParams): Promise, StoragesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, serviceName: string, storageName: string, storageResource: StorageResource, options?: StoragesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, serviceName: string, storageName: string, options?: StoragesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, serviceName: string, storageName: string, options?: StoragesDeleteOptionalParams): Promise; + get(resourceGroupName: string, serviceName: string, storageName: string, options?: StoragesGetOptionalParams): Promise; + list(resourceGroupName: string, serviceName: string, options?: StoragesListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface StoragesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type StoragesCreateOrUpdateResponse = StorageResource; + +// @public +export interface StoragesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface StoragesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StoragesGetResponse = StorageResource; + +// @public +export interface StoragesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StoragesListNextResponse = StorageResourceCollection; + +// @public +export interface StoragesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type StoragesListResponse = StorageResourceCollection; + +// @public +export type StorageType = string; + +// @public +export interface SupportedBuildpackResource extends ProxyResource { properties?: SupportedBuildpackResourceProperties; -}; +} // @public export interface SupportedBuildpackResourceProperties { @@ -2270,9 +3012,9 @@ export interface SupportedRuntimeVersion { } // @public -export type SupportedStackResource = ProxyResource & { +export interface SupportedStackResource extends ProxyResource { properties?: SupportedStackResourceProperties; -}; +} // @public export interface SupportedStackResourceProperties { @@ -2296,6 +3038,11 @@ export interface SystemData { lastModifiedByType?: LastModifiedByType; } +// @public +export interface TCPSocketAction extends ProbeAction { + type: "TCPSocketAction"; +} + // @public export interface TemporaryDisk { mountPath?: string; @@ -2315,12 +3062,12 @@ export interface TestKeys { export type TestKeyType = string; // @public -export type TrackedResource = Resource & { +export interface TrackedResource extends Resource { location?: string; tags?: { [propertyName: string]: string; }; -}; +} // @public export type TrafficDirection = string; @@ -2331,22 +3078,31 @@ export interface TriggeredBuildResult { } // @public -export type UploadedUserSourceInfo = UserSourceInfo & { - type: "UploadedUserSourceInfo" | "Jar" | "Source" | "NetCoreZip"; +export type Type = string; + +// @public +export interface UploadedUserSourceInfo extends UserSourceInfo { relativePath?: string; -}; + type: "UploadedUserSourceInfo" | "Jar" | "Source" | "NetCoreZip"; +} // @public (undocumented) export type UploadedUserSourceInfoUnion = UploadedUserSourceInfo | JarUploadedUserSourceInfo | SourceUploadedUserSourceInfo | NetCoreZipUploadedUserSourceInfo; +// @public +export interface UserAssignedManagedIdentity { + readonly clientId?: string; + readonly principalId?: string; +} + // @public export interface UserSourceInfo { - type: "UploadedUserSourceInfo" | "Jar" | "Source" | "NetCoreZip" | "BuildResult"; + type: "UploadedUserSourceInfo" | "Jar" | "Source" | "NetCoreZip" | "BuildResult" | "Container"; version?: string; } // @public (undocumented) -export type UserSourceInfoUnion = UserSourceInfo | UploadedUserSourceInfoUnion | BuildResultUserSourceInfo; +export type UserSourceInfoUnion = UserSourceInfo | UploadedUserSourceInfoUnion | BuildResultUserSourceInfo | CustomContainerUserSourceInfo; // @public export interface ValidationMessages { diff --git a/sdk/appplatform/arm-appplatform/src/appPlatformManagementClient.ts b/sdk/appplatform/arm-appplatform/src/appPlatformManagementClient.ts index 330959a30c3c..64f2a4f50c6e 100644 --- a/sdk/appplatform/arm-appplatform/src/appPlatformManagementClient.ts +++ b/sdk/appplatform/arm-appplatform/src/appPlatformManagementClient.ts @@ -8,6 +8,11 @@ import * as coreClient from "@azure/core-client"; import * as coreRestPipeline from "@azure/core-rest-pipeline"; +import { + PipelineRequest, + PipelineResponse, + SendRequest +} from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { ServicesImpl, @@ -21,12 +26,18 @@ import { MonitoringSettingsImpl, AppsImpl, BindingsImpl, + StoragesImpl, CertificatesImpl, CustomDomainsImpl, DeploymentsImpl, OperationsImpl, RuntimeVersionsImpl, - SkusImpl + SkusImpl, + GatewaysImpl, + GatewayRouteConfigsImpl, + GatewayCustomDomainsImpl, + ApiPortalsImpl, + ApiPortalCustomDomainsImpl } from "./operations"; import { Services, @@ -40,12 +51,18 @@ import { MonitoringSettings, Apps, Bindings, + Storages, Certificates, CustomDomains, Deployments, Operations, RuntimeVersions, - Skus + Skus, + Gateways, + GatewayRouteConfigs, + GatewayCustomDomains, + ApiPortals, + ApiPortalCustomDomains } from "./operationsInterfaces"; import { AppPlatformManagementClientOptionalParams } from "./models"; @@ -82,7 +99,7 @@ export class AppPlatformManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-appplatform/2.0.1`; + const packageDetails = `azsdk-js-arm-appplatform/2.1.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -129,7 +146,7 @@ export class AppPlatformManagementClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2022-04-01"; + this.apiVersion = options.apiVersion || "2022-09-01-preview"; this.services = new ServicesImpl(this); this.configServers = new ConfigServersImpl(this); this.configurationServices = new ConfigurationServicesImpl(this); @@ -141,12 +158,47 @@ export class AppPlatformManagementClient extends coreClient.ServiceClient { this.monitoringSettings = new MonitoringSettingsImpl(this); this.apps = new AppsImpl(this); this.bindings = new BindingsImpl(this); + this.storages = new StoragesImpl(this); this.certificates = new CertificatesImpl(this); this.customDomains = new CustomDomainsImpl(this); this.deployments = new DeploymentsImpl(this); this.operations = new OperationsImpl(this); this.runtimeVersions = new RuntimeVersionsImpl(this); this.skus = new SkusImpl(this); + this.gateways = new GatewaysImpl(this); + this.gatewayRouteConfigs = new GatewayRouteConfigsImpl(this); + this.gatewayCustomDomains = new GatewayCustomDomainsImpl(this); + this.apiPortals = new ApiPortalsImpl(this); + this.apiPortalCustomDomains = new ApiPortalCustomDomainsImpl(this); + this.addCustomApiVersionPolicy(options.apiVersion); + } + + /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ + private addCustomApiVersionPolicy(apiVersion?: string) { + if (!apiVersion) { + return; + } + const apiVersionPolicy = { + name: "CustomApiVersionPolicy", + async sendRequest( + request: PipelineRequest, + next: SendRequest + ): Promise { + const param = request.url.split("?"); + if (param.length > 1) { + const newParams = param[1].split("&").map((item) => { + if (item.indexOf("api-version") > -1) { + return "api-version=" + apiVersion; + } else { + return item; + } + }); + request.url = param[0] + "?" + newParams.join("&"); + } + return next(request); + } + }; + this.pipeline.addPolicy(apiVersionPolicy); } services: Services; @@ -160,10 +212,16 @@ export class AppPlatformManagementClient extends coreClient.ServiceClient { monitoringSettings: MonitoringSettings; apps: Apps; bindings: Bindings; + storages: Storages; certificates: Certificates; customDomains: CustomDomains; deployments: Deployments; operations: Operations; runtimeVersions: RuntimeVersions; skus: Skus; + gateways: Gateways; + gatewayRouteConfigs: GatewayRouteConfigs; + gatewayCustomDomains: GatewayCustomDomains; + apiPortals: ApiPortals; + apiPortalCustomDomains: ApiPortalCustomDomains; } diff --git a/sdk/appplatform/arm-appplatform/src/models/index.ts b/sdk/appplatform/arm-appplatform/src/models/index.ts index d53aee28981a..152cb7187750 100644 --- a/sdk/appplatform/arm-appplatform/src/models/index.ts +++ b/sdk/appplatform/arm-appplatform/src/models/index.ts @@ -8,6 +8,10 @@ import * as coreClient from "@azure/core-client"; +export type CustomPersistentDiskPropertiesUnion = + | CustomPersistentDiskProperties + | AzureFileVolume; +export type StoragePropertiesUnion = StorageProperties | StorageAccount; export type CertificatePropertiesUnion = | CertificateProperties | KeyVaultCertificateProperties @@ -15,7 +19,13 @@ export type CertificatePropertiesUnion = export type UserSourceInfoUnion = | UserSourceInfo | UploadedUserSourceInfoUnion - | BuildResultUserSourceInfo; + | BuildResultUserSourceInfo + | CustomContainerUserSourceInfo; +export type ProbeActionUnion = + | ProbeAction + | HttpGetAction + | ExecAction + | TCPSocketAction; export type UploadedUserSourceInfoUnion = | UploadedUserSourceInfo | JarUploadedUserSourceInfo @@ -31,6 +41,8 @@ export interface ClusterResourceProperties { readonly provisioningState?: ProvisioningState; /** Network profile of the Service */ networkProfile?: NetworkProfile; + /** Additional Service settings in vnet injection instance */ + vnetAddons?: ServiceVNetAddons; /** * Version of the Service * NOTE: This property will not be serialized. It can only be populated by the server. @@ -41,12 +53,19 @@ export interface ClusterResourceProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly serviceId?: string; + /** + * Power state of the Service + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly powerState?: PowerState; zoneRedundant?: boolean; /** * Fully qualified dns name of the service instance * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly fqdn?: string; + /** Purchasing 3rd party product of the Service resource. */ + marketplaceResource?: MarketplaceResource; } /** Service network profile payload */ @@ -71,6 +90,10 @@ export interface NetworkProfile { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly requiredTraffics?: RequiredTraffic[]; + /** Ingress configuration payload for Azure Spring Apps resource. */ + ingressConfig?: IngressConfig; + /** The egress traffic type of Azure Spring Apps VNet instances. */ + outboundType?: string; } /** Desired outbound IP resources for Azure Spring Apps resource. */ @@ -111,6 +134,28 @@ export interface RequiredTraffic { readonly direction?: TrafficDirection; } +/** Ingress configuration payload for Azure Spring Apps resource. */ +export interface IngressConfig { + /** Ingress read time out in seconds. */ + readTimeoutInSeconds?: number; +} + +/** Additional Service settings in vnet injection instance */ +export interface ServiceVNetAddons { + /** Indicates whether the log stream in vnet injection instance could be accessed from internet. */ + logStreamPublicEndpoint?: boolean; +} + +/** Purchasing 3rd Party product for one Azure Spring Apps instance */ +export interface MarketplaceResource { + /** The plan id of the 3rd Party Artifact that is being procured. */ + plan?: string; + /** The publisher id of the 3rd Party Artifact that is being bought. */ + publisher?: string; + /** The 3rd Party artifact that is being procured. */ + product?: string; +} + /** Sku of Azure Spring Apps */ export interface Sku { /** Name of the Sku */ @@ -551,6 +596,8 @@ export interface BuildProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly triggeredBuildResult?: TriggeredBuildResult; + /** The customized build resource for this build */ + resourceRequests?: BuildResourceRequests; } /** The build result triggered by a build */ @@ -559,6 +606,20 @@ export interface TriggeredBuildResult { id?: string; } +/** Resource request payload of Build Resource. */ +export interface BuildResourceRequests { + /** + * Optional Cpu allocated to the build resource. 1 core can be represented by 1 or 1000m. + * The default value is 1, this should not exceed build service agent pool cpu size. + */ + cpu?: string; + /** + * Optional Memory allocated to the build resource. 1 GB can be represented by 1Gi or 1024Mi. + * The default value is 2Gi, this should not exceed build service agent pool memory size. + */ + memory?: string; +} + /** Properties of a buildpack binding */ export interface BuildpackBindingProperties { /** Buildpack Binding Type */ @@ -814,18 +875,27 @@ export interface AppResourceProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: AppResourceProvisioningState; - /** Fully qualified dns Name. */ - fqdn?: string; + /** + * Fully qualified dns Name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly fqdn?: string; /** Indicate if only https is allowed. */ httpsOnly?: boolean; /** Temporary disk settings */ temporaryDisk?: TemporaryDisk; /** Persistent disk settings */ persistentDisk?: PersistentDisk; + /** List of custom persistent disks */ + customPersistentDisks?: CustomPersistentDiskResource[]; /** Indicate if end to end TLS is enabled. */ enableEndToEndTLS?: boolean; /** Collection of loaded certificates */ loadedCertificates?: LoadedCertificate[]; + /** Additional App settings in vnet injection instance */ + vnetAddons?: AppVNetAddons; + /** App ingress settings payload. */ + ingressSettings?: IngressSettings; } /** Temporary disk payload */ @@ -849,6 +919,26 @@ export interface PersistentDisk { mountPath?: string; } +/** Custom persistent disk resource payload. */ +export interface CustomPersistentDiskResource { + /** Properties of the custom persistent disk resource payload. */ + customPersistentDiskProperties?: CustomPersistentDiskPropertiesUnion; + /** The resource id of Azure Spring Apps Storage resource. */ + storageId: string; +} + +/** Custom persistent disk resource payload. */ +export interface CustomPersistentDiskProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "AzureFileVolume"; + /** The mount path of the persistent disk. */ + mountPath: string; + /** Indicates whether the persistent disk is a readOnly one. */ + readOnly?: boolean; + /** These are the mount options for a persistent disk. */ + mountOptions?: string[]; +} + /** Loaded certificate payload */ export interface LoadedCertificate { /** Resource Id of loaded certificate */ @@ -857,6 +947,39 @@ export interface LoadedCertificate { loadTrustStore?: boolean; } +/** Additional App settings in vnet injection instance */ +export interface AppVNetAddons { + /** Indicates whether the App in vnet injection instance exposes endpoint which could be accessed from internet. */ + publicEndpoint?: boolean; + /** + * URL of the App in vnet injection instance which could be accessed from internet + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly publicEndpointUrl?: string; +} + +/** App ingress settings payload. */ +export interface IngressSettings { + /** Ingress read time out in seconds. */ + readTimeoutInSeconds?: number; + /** Ingress send time out in seconds. */ + sendTimeoutInSeconds?: number; + /** Type of the affinity, set this to Cookie to enable session affinity. */ + sessionAffinity?: SessionAffinity; + /** Time in seconds until the cookie expires. */ + sessionCookieMaxAge?: number; + /** How ingress should communicate with this app backend service. */ + backendProtocol?: BackendProtocol; + /** Client-Certification Authentication. */ + clientAuth?: IngressSettingsClientAuth; +} + +/** Client-Certification Authentication. */ +export interface IngressSettingsClientAuth { + /** Collection of certificate resource id. */ + certificates?: string[]; +} + /** Managed identity properties retrieved from ARM request headers. */ export interface ManagedIdentityProperties { /** Type of the managed identity */ @@ -865,6 +988,24 @@ export interface ManagedIdentityProperties { principalId?: string; /** Tenant Id of system-assigned managed identity. */ tenantId?: string; + /** Properties of user-assigned managed identities */ + userAssignedIdentities?: { + [propertyName: string]: UserAssignedManagedIdentity; + }; +} + +/** The details of the user-assigned managed identity assigned to an App. */ +export interface UserAssignedManagedIdentity { + /** + * Principal Id of user-assigned managed identity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * Client Id of user-assigned managed identity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly clientId?: string; } /** Object that includes an array of App resources and a possible link for next set */ @@ -930,6 +1071,20 @@ export interface BindingResourceCollection { nextLink?: string; } +/** Storage resource payload. */ +export interface StorageProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + storageType: "StorageAccount"; +} + +/** Collection compose of storage resources list and a possible link for next page. */ +export interface StorageResourceCollection { + /** The storage resources list. */ + value?: StorageResource[]; + /** The link to next page of storage list. */ + nextLink?: string; +} + /** Certificate resource payload. */ export interface CertificateProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -969,6 +1124,11 @@ export interface CertificateProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly dnsNames?: string[]; + /** + * Provisioning state of the Certificate + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: CertificateResourceProvisioningState; } /** Collection compose of certificate resources list and a possible link for next page. */ @@ -1008,6 +1168,11 @@ export interface CustomDomainProperties { readonly appName?: string; /** The bound certificate name of domain. */ certName?: string; + /** + * Provisioning state of the Domain + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: CustomDomainResourceProvisioningState; } /** Collection compose of a custom domain resources list and a possible link for next page. */ @@ -1065,7 +1230,8 @@ export interface UserSourceInfo { | "Jar" | "Source" | "NetCoreZip" - | "BuildResult"; + | "BuildResult" + | "Container"; /** Version of the source */ version?: string; } @@ -1080,6 +1246,16 @@ export interface DeploymentSettings { addonConfigs?: { [propertyName: string]: { [propertyName: string]: Record }; }; + /** Periodic probe of App Instance liveness. App Instance will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes */ + livenessProbe?: Probe; + /** Periodic probe of App Instance service readiness. App Instance will be removed from service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes */ + readinessProbe?: Probe; + /** StartupProbe indicates that the App Instance has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a App Instance's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes */ + startupProbe?: Probe; + /** Optional duration in seconds the App Instance needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the App Instance are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 90 seconds. */ + terminationGracePeriodSeconds?: number; + /** Container liveness and readiness probe settings */ + containerProbeSettings?: ContainerProbeSettings; } /** Deployment resource request payload */ @@ -1090,6 +1266,36 @@ export interface ResourceRequests { memory?: string; } +/** Probe describes a health check to be performed against an App Instance to determine whether it is alive or ready to receive traffic. */ +export interface Probe { + /** The action of the probe. */ + probeAction?: ProbeActionUnion; + /** Indicate whether the probe is disabled. */ + disableProbe: boolean; + /** Number of seconds after the App Instance has started before probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes */ + initialDelaySeconds?: number; + /** How often (in seconds) to perform the probe. Minimum value is 1. */ + periodSeconds?: number; + /** Number of seconds after which the probe times out. Minimum value is 1. */ + timeoutSeconds?: number; + /** Minimum consecutive failures for the probe to be considered failed after having succeeded. Minimum value is 1. */ + failureThreshold?: number; + /** Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 for liveness and startup. Minimum value is 1. */ + successThreshold?: number; +} + +/** The action of the probe. */ +export interface ProbeAction { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "HTTPGetAction" | "ExecAction" | "TCPSocketAction"; +} + +/** Container liveness and readiness probe settings */ +export interface ContainerProbeSettings { + /** Indicates whether disable the liveness and readiness probe */ + disableProbe?: boolean; +} + /** Deployment instance payload */ export interface DeploymentInstance { /** @@ -1135,6 +1341,26 @@ export interface DeploymentResourceCollection { nextLink?: string; } +/** A list of deployments resource ids. */ +export interface DeploymentList { + /** A list of deployment resource ids. */ + deployments?: string[]; +} + +/** Remote debugging payload. */ +export interface RemoteDebuggingPayload { + /** Application debugging port. */ + port?: number; +} + +/** Remote debugging config. */ +export interface RemoteDebugging { + /** Application debugging port */ + port?: number; + /** Indicate if remote debugging is enabled */ + enabled?: boolean; +} + /** Log file URL payload */ export interface LogFileUrlResponse { /** URL of the log file */ @@ -1380,19 +1606,368 @@ export interface ResourceSkuRestrictionInfo { zones?: string[]; } +/** Spring Cloud Gateway properties payload */ +export interface GatewayProperties { + /** + * State of the Spring Cloud Gateway. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: GatewayProvisioningState; + /** Indicates whether the Spring Cloud Gateway exposes endpoint. */ + public?: boolean; + /** + * URL of the Spring Cloud Gateway, exposed when 'public' is true. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly url?: string; + /** Indicate if only https is allowed. */ + httpsOnly?: boolean; + /** Single sign-on related configuration */ + ssoProperties?: SsoProperties; + /** API metadata property for Spring Cloud Gateway */ + apiMetadataProperties?: GatewayApiMetadataProperties; + /** Cross-Origin Resource Sharing property */ + corsProperties?: GatewayCorsProperties; + /** The requested resource quantity for required CPU and Memory. */ + resourceRequests?: GatewayResourceRequests; + /** + * Collection of instances belong to Spring Cloud Gateway. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly instances?: GatewayInstance[]; + /** + * Properties of the Spring Cloud Gateway Operator. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly operatorProperties?: GatewayOperatorProperties; +} + +/** Single sign-on related configuration */ +export interface SsoProperties { + /** It defines the specific actions applications can be allowed to do on a user's behalf */ + scope?: string[]; + /** The public identifier for the application */ + clientId?: string; + /** The secret known only to the application and the authorization server */ + clientSecret?: string; + /** The URI of Issuer Identifier */ + issuerUri?: string; +} + +/** API metadata property for Spring Cloud Gateway */ +export interface GatewayApiMetadataProperties { + /** Title describing the context of the APIs available on the Gateway instance (default: `Spring Cloud Gateway for K8S`) */ + title?: string; + /** Detailed description of the APIs available on the Gateway instance (default: `Generated OpenAPI 3 document that describes the API routes configured.`) */ + description?: string; + /** Location of additional documentation for the APIs available on the Gateway instance */ + documentation?: string; + /** Version of APIs available on this Gateway instance (default: `unspecified`). */ + version?: string; + /** Base URL that API consumers will use to access APIs on the Gateway instance. */ + serverUrl?: string; +} + +/** Cross-Origin Resource Sharing property */ +export interface GatewayCorsProperties { + /** Allowed origins to make cross-site requests. The special value `*` allows all domains. */ + allowedOrigins?: string[]; + /** Allowed HTTP methods on cross-site requests. The special value `*` allows all methods. If not set, `GET` and `HEAD` are allowed by default. */ + allowedMethods?: string[]; + /** Allowed headers in cross-site requests. The special value `*` allows actual requests to send any header. */ + allowedHeaders?: string[]; + /** How long, in seconds, the response from a pre-flight request can be cached by clients. */ + maxAge?: number; + /** Whether user credentials are supported on cross-site requests. Valid values: `true`, `false`. */ + allowCredentials?: boolean; + /** HTTP response headers to expose for cross-site requests. */ + exposedHeaders?: string[]; +} + +/** Resource request payload of Spring Cloud Gateway. */ +export interface GatewayResourceRequests { + /** Cpu allocated to each Spring Cloud Gateway instance. */ + cpu?: string; + /** Memory allocated to each Spring Cloud Gateway instance. */ + memory?: string; +} + +/** Collection of instances belong to the Spring Cloud Gateway */ +export interface GatewayInstance { + /** + * Name of the Spring Cloud Gateway instance + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * Status of the Spring Cloud Gateway instance + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: string; +} + +/** Properties of the Spring Cloud Gateway Operator. */ +export interface GatewayOperatorProperties { + /** + * The requested resource quantity for required CPU and Memory. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceRequests?: GatewayOperatorResourceRequests; + /** + * Collection of instances belong to Spring Cloud Gateway operator. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly instances?: GatewayInstance[]; +} + +/** Properties of the Spring Cloud Gateway Operator. */ +export interface GatewayOperatorResourceRequests { + /** + * Cpu allocated to each Spring Cloud Gateway Operator instance. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cpu?: string; + /** + * Memory allocated to each Spring Cloud Gateway Operator instance. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly memory?: string; + /** + * Instance count of the Spring Cloud Gateway Operator. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly instanceCount?: number; +} + +/** Object that includes an array of gateway resources and a possible link for next set */ +export interface GatewayResourceCollection { + /** Collection of gateway resources */ + value?: GatewayResource[]; + /** + * URL client should use to fetch the next page (per server side paging). + * It's null for now, added for future use. + */ + nextLink?: string; +} + +/** API route config of the Spring Cloud Gateway */ +export interface GatewayRouteConfigProperties { + /** + * State of the Spring Cloud Gateway route config. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: GatewayProvisioningState; + /** The resource Id of the Azure Spring Apps app, required unless route defines `uri`. */ + appResourceId?: string; + /** OpenAPI properties of Spring Cloud Gateway route config. */ + openApi?: GatewayRouteConfigOpenApiProperties; + /** Protocol of routed Azure Spring Apps applications. */ + protocol?: GatewayRouteConfigProtocol; + /** Array of API routes, each route contains properties such as `title`, `uri`, `ssoEnabled`, `predicates`, `filters`. */ + routes?: GatewayApiRoute[]; +} + +/** OpenAPI properties of Spring Cloud Gateway route config. */ +export interface GatewayRouteConfigOpenApiProperties { + /** The URI of OpenAPI specification. */ + uri?: string; +} + +/** API route config of the Spring Cloud Gateway */ +export interface GatewayApiRoute { + /** A title, will be applied to methods in the generated OpenAPI documentation. */ + title?: string; + /** A description, will be applied to methods in the generated OpenAPI documentation. */ + description?: string; + /** Full uri, will override `appName`. */ + uri?: string; + /** Enable sso validation. */ + ssoEnabled?: boolean; + /** Pass currently-authenticated user's identity token to application service, default is 'false' */ + tokenRelay?: boolean; + /** A number of conditions to evaluate a route for each request. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request. */ + predicates?: string[]; + /** To modify the request before sending it to the target endpoint, or the received response. */ + filters?: string[]; + /** Route processing order. */ + order?: number; + /** Classification tags, will be applied to methods in the generated OpenAPI documentation. */ + tags?: string[]; +} + +/** Object that includes an array of Spring Cloud Gateway route config resources and a possible link for next set */ +export interface GatewayRouteConfigResourceCollection { + /** Collection of Spring Cloud Gateway route config resources */ + value?: GatewayRouteConfigResource[]; + /** + * URL client should use to fetch the next page (per server side paging). + * It's null for now, added for future use. + */ + nextLink?: string; +} + +/** The properties of custom domain for Spring Cloud Gateway */ +export interface GatewayCustomDomainProperties { + /** The thumbprint of bound certificate. */ + thumbprint?: string; +} + +/** Object that includes an array of Spring Cloud Gateway custom domain resources and a possible link for next set */ +export interface GatewayCustomDomainResourceCollection { + /** Collection of Spring Cloud Gateway custom domain resources */ + value?: GatewayCustomDomainResource[]; + /** + * URL client should use to fetch the next page (per server side paging). + * It's null for now, added for future use. + */ + nextLink?: string; +} + +/** API portal properties payload */ +export interface ApiPortalProperties { + /** + * State of the API portal. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ApiPortalProvisioningState; + /** Indicates whether the API portal exposes endpoint. */ + public?: boolean; + /** + * URL of the API portal, exposed when 'public' is true. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly url?: string; + /** Indicate if only https is allowed. */ + httpsOnly?: boolean; + /** The array of resource Ids of gateway to integrate with API portal. */ + gatewayIds?: string[]; + /** Collection of OpenAPI source URL locations. */ + sourceUrls?: string[]; + /** Single sign-on related configuration */ + ssoProperties?: SsoProperties; + /** + * The requested resource quantity for required CPU and Memory. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceRequests?: ApiPortalResourceRequests; + /** + * Collection of instances belong to API portal. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly instances?: ApiPortalInstance[]; +} + +/** Resource requests of the API portal */ +export interface ApiPortalResourceRequests { + /** + * Cpu allocated to each API portal instance + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cpu?: string; + /** + * Memory allocated to each API portal instance + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly memory?: string; +} + +/** Collection of instances belong to the API portal */ +export interface ApiPortalInstance { + /** + * Name of the API portal instance + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * Status of the API portal instance + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: string; +} + +/** Object that includes an array of API portal resources and a possible link for next set */ +export interface ApiPortalResourceCollection { + /** Collection of API portal resources */ + value?: ApiPortalResource[]; + /** + * URL client should use to fetch the next page (per server side paging). + * It's null for now, added for future use. + */ + nextLink?: string; +} + +/** The properties of custom domain for API portal */ +export interface ApiPortalCustomDomainProperties { + /** The thumbprint of bound certificate. */ + thumbprint?: string; +} + +/** Object that includes an array of API portal custom domain resources and a possible link for next set */ +export interface ApiPortalCustomDomainResourceCollection { + /** Collection of API portal custom domain resources */ + value?: ApiPortalCustomDomainResource[]; + /** + * URL client should use to fetch the next page (per server side paging). + * It's null for now, added for future use. + */ + nextLink?: string; +} + +/** Custom container payload */ +export interface CustomContainer { + /** The name of the registry that contains the container image */ + server?: string; + /** Container image of the custom container. This should be in the form of : without the server name of the registry */ + containerImage?: string; + /** Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. */ + command?: string[]; + /** Arguments to the entrypoint. The docker image's CMD is used if this is not provided. */ + args?: string[]; + /** Credential of the image registry */ + imageRegistryCredential?: ImageRegistryCredential; + /** Language framework of the container image uploaded */ + languageFramework?: string; +} + +/** Credential of the image registry */ +export interface ImageRegistryCredential { + /** The username of the image registry credential */ + username?: string; + /** The password of the image registry credential */ + password?: string; +} + /** The resource model definition for a ARM tracked top level resource. */ -export type TrackedResource = Resource & { +export interface TrackedResource extends Resource { /** The GEO location of the resource. */ location?: string; /** Tags of the service which is a list of key value pairs that describe the resource. */ tags?: { [propertyName: string]: string }; -}; +} /** The resource model definition for a ARM proxy resource. It will have everything other than required location and tags. */ -export type ProxyResource = Resource & {}; +export interface ProxyResource extends Resource {} + +/** The properties of the Azure File volume. Azure File shares are mounted as volumes. */ +export interface AzureFileVolume extends CustomPersistentDiskProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "AzureFileVolume"; + /** The share name of the Azure File share. */ + shareName: string; +} + +/** storage resource of type Azure Storage Account. */ +export interface StorageAccount extends StorageProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + storageType: "StorageAccount"; + /** The account name of the Azure Storage Account. */ + accountName: string; + /** The account key of the Azure Storage Account. */ + accountKey: string; +} /** Properties of certificate imported from key vault. */ -export type KeyVaultCertificateProperties = CertificateProperties & { +export interface KeyVaultCertificateProperties extends CertificateProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "KeyVaultCertificate"; /** The vault uri of user key vault. */ @@ -1403,160 +1978,238 @@ export type KeyVaultCertificateProperties = CertificateProperties & { certVersion?: string; /** Optional. If set to true, it will not import private key from key vault. */ excludePrivateKey?: boolean; -}; +} /** Properties of certificate imported from key vault. */ -export type ContentCertificateProperties = CertificateProperties & { +export interface ContentCertificateProperties extends CertificateProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "ContentCertificate"; /** The content of uploaded certificate. */ content?: string; -}; +} /** Source with uploaded location */ -export type UploadedUserSourceInfo = UserSourceInfo & { +export interface UploadedUserSourceInfo extends UserSourceInfo { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "UploadedUserSourceInfo" | "Jar" | "Source" | "NetCoreZip"; /** Relative path of the storage which stores the source */ relativePath?: string; -}; +} /** Reference to a build result */ -export type BuildResultUserSourceInfo = UserSourceInfo & { +export interface BuildResultUserSourceInfo extends UserSourceInfo { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "BuildResult"; /** Resource id of an existing succeeded build result under the same Spring instance. */ buildResultId?: string; -}; +} + +/** Custom container user source info */ +export interface CustomContainerUserSourceInfo extends UserSourceInfo { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "Container"; + /** Custom container payload */ + customContainer?: CustomContainer; +} + +/** HTTPGetAction describes an action based on HTTP Get requests. */ +export interface HttpGetAction extends ProbeAction { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "HTTPGetAction"; + /** Path to access on the HTTP server. */ + path?: string; + /** + * Scheme to use for connecting to the host. Defaults to HTTP. + * + * Possible enum values: + * - `"HTTP"` means that the scheme used will be http:// + * - `"HTTPS"` means that the scheme used will be https:// + */ + scheme?: HttpSchemeType; +} + +/** ExecAction describes a "run in container" action. */ +export interface ExecAction extends ProbeAction { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "ExecAction"; + /** Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. */ + command?: string[]; +} + +/** TCPSocketAction describes an action based on opening a socket */ +export interface TCPSocketAction extends ProbeAction { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "TCPSocketAction"; +} /** Service resource */ -export type ServiceResource = TrackedResource & { +export interface ServiceResource extends TrackedResource { /** Properties of the Service resource */ properties?: ClusterResourceProperties; /** Sku of the Service resource */ sku?: Sku; -}; +} /** Config Server resource */ -export type ConfigServerResource = ProxyResource & { +export interface ConfigServerResource extends ProxyResource { /** Properties of the Config Server resource */ properties?: ConfigServerProperties; -}; +} /** Application Configuration Service resource */ -export type ConfigurationServiceResource = ProxyResource & { +export interface ConfigurationServiceResource extends ProxyResource { /** Application Configuration Service properties payload */ properties?: ConfigurationServiceProperties; -}; +} /** Service Registry resource */ -export type ServiceRegistryResource = ProxyResource & { +export interface ServiceRegistryResource extends ProxyResource { /** Service Registry properties payload */ properties?: ServiceRegistryProperties; -}; +} /** Build service resource payload */ -export type BuildService = ProxyResource & { +export interface BuildService extends ProxyResource { /** Properties of the build resource */ properties?: BuildServiceProperties; -}; +} /** Build resource payload */ -export type Build = ProxyResource & { +export interface Build extends ProxyResource { /** Properties of the build resource */ properties?: BuildProperties; -}; +} /** Buildpack Binding Resource object */ -export type BuildpackBindingResource = ProxyResource & { +export interface BuildpackBindingResource extends ProxyResource { /** Properties of a buildpack binding */ properties?: BuildpackBindingProperties; -}; +} /** Build result resource payload */ -export type BuildResult = ProxyResource & { +export interface BuildResult extends ProxyResource { /** Properties of the build result resource */ properties?: BuildResultProperties; -}; +} /** KPack Builder resource */ -export type BuilderResource = ProxyResource & { +export interface BuilderResource extends ProxyResource { /** Property of the Builder resource. */ properties?: BuilderProperties; -}; +} /** Supported buildpack resource payload */ -export type SupportedBuildpackResource = ProxyResource & { +export interface SupportedBuildpackResource extends ProxyResource { /** Supported buildpack resource properties */ properties?: SupportedBuildpackResourceProperties; -}; +} /** Supported stack resource payload */ -export type SupportedStackResource = ProxyResource & { +export interface SupportedStackResource extends ProxyResource { /** Supported stack resource properties */ properties?: SupportedStackResourceProperties; -}; +} /** The build service agent pool resource */ -export type BuildServiceAgentPoolResource = ProxyResource & { +export interface BuildServiceAgentPoolResource extends ProxyResource { /** build service agent pool properties */ properties?: BuildServiceAgentPoolProperties; -}; +} /** Monitoring Setting resource */ -export type MonitoringSettingResource = ProxyResource & { +export interface MonitoringSettingResource extends ProxyResource { /** Properties of the Monitoring Setting resource */ properties?: MonitoringSettingProperties; -}; +} /** App resource payload */ -export type AppResource = ProxyResource & { +export interface AppResource extends ProxyResource { /** Properties of the App resource */ properties?: AppResourceProperties; /** The Managed Identity type of the app resource */ identity?: ManagedIdentityProperties; /** The GEO location of the application, always the same with its parent resource */ location?: string; -}; +} /** Binding resource payload */ -export type BindingResource = ProxyResource & { +export interface BindingResource extends ProxyResource { /** Properties of the Binding resource */ properties?: BindingResourceProperties; -}; +} + +/** Storage resource payload. */ +export interface StorageResource extends ProxyResource { + /** Properties of the storage resource payload. */ + properties?: StoragePropertiesUnion; +} /** Certificate resource payload. */ -export type CertificateResource = ProxyResource & { +export interface CertificateResource extends ProxyResource { /** Properties of the certificate resource payload. */ properties?: CertificatePropertiesUnion; -}; +} /** Custom domain resource payload. */ -export type CustomDomainResource = ProxyResource & { +export interface CustomDomainResource extends ProxyResource { /** Properties of the custom domain resource. */ properties?: CustomDomainProperties; -}; +} /** Deployment resource payload */ -export type DeploymentResource = ProxyResource & { +export interface DeploymentResource extends ProxyResource { /** Properties of the Deployment resource */ properties?: DeploymentResourceProperties; /** Sku of the Deployment resource */ sku?: Sku; -}; +} + +/** Spring Cloud Gateway resource */ +export interface GatewayResource extends ProxyResource { + /** Spring Cloud Gateway properties payload */ + properties?: GatewayProperties; + /** Sku of the Spring Cloud Gateway resource */ + sku?: Sku; +} + +/** Spring Cloud Gateway route config resource */ +export interface GatewayRouteConfigResource extends ProxyResource { + /** API route config of the Spring Cloud Gateway */ + properties?: GatewayRouteConfigProperties; +} + +/** Custom domain of the Spring Cloud Gateway */ +export interface GatewayCustomDomainResource extends ProxyResource { + /** The properties of custom domain for Spring Cloud Gateway */ + properties?: GatewayCustomDomainProperties; +} + +/** API portal resource */ +export interface ApiPortalResource extends ProxyResource { + /** API portal properties payload */ + properties?: ApiPortalProperties; + /** Sku of the API portal resource */ + sku?: Sku; +} + +/** Custom domain of the API portal */ +export interface ApiPortalCustomDomainResource extends ProxyResource { + /** The properties of custom domain for API portal */ + properties?: ApiPortalCustomDomainProperties; +} /** Uploaded Jar binary for a deployment */ -export type JarUploadedUserSourceInfo = UploadedUserSourceInfo & { +export interface JarUploadedUserSourceInfo extends UploadedUserSourceInfo { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "Jar"; /** Runtime version of the Jar file */ runtimeVersion?: string; /** JVM parameter */ jvmOptions?: string; -}; +} /** Uploaded Java source code binary for a deployment */ -export type SourceUploadedUserSourceInfo = UploadedUserSourceInfo & { +export interface SourceUploadedUserSourceInfo extends UploadedUserSourceInfo { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "Source"; /** @@ -1566,30 +2219,42 @@ export type SourceUploadedUserSourceInfo = UploadedUserSourceInfo & { artifactSelector?: string; /** Runtime version of the source file */ runtimeVersion?: string; -}; +} /** Uploaded Jar binary for a deployment */ -export type NetCoreZipUploadedUserSourceInfo = UploadedUserSourceInfo & { +export interface NetCoreZipUploadedUserSourceInfo + extends UploadedUserSourceInfo { /** Polymorphic discriminator, which specifies the different types this object can be */ type: "NetCoreZip"; /** The path to the .NET executable relative to zip root */ netCoreMainEntryPath?: string; /** Runtime version of the .Net file */ runtimeVersion?: string; -}; +} /** Known values of {@link ProvisioningState} that the service accepts. */ export enum KnownProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Starting */ Starting = "Starting", + /** Stopping */ Stopping = "Stopping", + /** Deleting */ Deleting = "Deleting", + /** Deleted */ Deleted = "Deleted", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Moving */ Moving = "Moving", + /** Moved */ Moved = "Moved", + /** MoveFailed */ MoveFailed = "MoveFailed" } @@ -1614,7 +2279,9 @@ export type ProvisioningState = string; /** Known values of {@link TrafficDirection} that the service accepts. */ export enum KnownTrafficDirection { + /** Inbound */ Inbound = "Inbound", + /** Outbound */ Outbound = "Outbound" } @@ -1628,11 +2295,33 @@ export enum KnownTrafficDirection { */ export type TrafficDirection = string; +/** Known values of {@link PowerState} that the service accepts. */ +export enum KnownPowerState { + /** Running */ + Running = "Running", + /** Stopped */ + Stopped = "Stopped" +} + +/** + * Defines values for PowerState. \ + * {@link KnownPowerState} can be used interchangeably with PowerState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Running** \ + * **Stopped** + */ +export type PowerState = string; + /** Known values of {@link CreatedByType} that the service accepts. */ export enum KnownCreatedByType { + /** User */ User = "User", + /** Application */ Application = "Application", + /** ManagedIdentity */ ManagedIdentity = "ManagedIdentity", + /** Key */ Key = "Key" } @@ -1650,9 +2339,13 @@ export type CreatedByType = string; /** Known values of {@link LastModifiedByType} that the service accepts. */ export enum KnownLastModifiedByType { + /** User */ User = "User", + /** Application */ Application = "Application", + /** ManagedIdentity */ ManagedIdentity = "ManagedIdentity", + /** Key */ Key = "Key" } @@ -1670,7 +2363,9 @@ export type LastModifiedByType = string; /** Known values of {@link TestKeyType} that the service accepts. */ export enum KnownTestKeyType { + /** Primary */ Primary = "Primary", + /** Secondary */ Secondary = "Secondary" } @@ -1686,10 +2381,15 @@ export type TestKeyType = string; /** Known values of {@link ConfigServerState} that the service accepts. */ export enum KnownConfigServerState { + /** NotAvailable */ NotAvailable = "NotAvailable", + /** Deleted */ Deleted = "Deleted", + /** Failed */ Failed = "Failed", + /** Succeeded */ Succeeded = "Succeeded", + /** Updating */ Updating = "Updating" } @@ -1708,10 +2408,15 @@ export type ConfigServerState = string; /** Known values of {@link ConfigurationServiceProvisioningState} that the service accepts. */ export enum KnownConfigurationServiceProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Deleting */ Deleting = "Deleting" } @@ -1730,10 +2435,15 @@ export type ConfigurationServiceProvisioningState = string; /** Known values of {@link ServiceRegistryProvisioningState} that the service accepts. */ export enum KnownServiceRegistryProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Deleting */ Deleting = "Deleting" } @@ -1752,10 +2462,15 @@ export type ServiceRegistryProvisioningState = string; /** Known values of {@link BuildServiceProvisioningState} that the service accepts. */ export enum KnownBuildServiceProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Deleting */ Deleting = "Deleting" } @@ -1774,10 +2489,15 @@ export type BuildServiceProvisioningState = string; /** Known values of {@link BuildProvisioningState} that the service accepts. */ export enum KnownBuildProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Deleting */ Deleting = "Deleting" } @@ -1796,11 +2516,17 @@ export type BuildProvisioningState = string; /** Known values of {@link BindingType} that the service accepts. */ export enum KnownBindingType { + /** ApplicationInsights */ ApplicationInsights = "ApplicationInsights", + /** ApacheSkyWalking */ ApacheSkyWalking = "ApacheSkyWalking", + /** AppDynamics */ AppDynamics = "AppDynamics", + /** Dynatrace */ Dynatrace = "Dynatrace", + /** NewRelic */ NewRelic = "NewRelic", + /** ElasticAPM */ ElasticAPM = "ElasticAPM" } @@ -1820,10 +2546,15 @@ export type BindingType = string; /** Known values of {@link BuildpackBindingProvisioningState} that the service accepts. */ export enum KnownBuildpackBindingProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Deleting */ Deleting = "Deleting" } @@ -1842,10 +2573,15 @@ export type BuildpackBindingProvisioningState = string; /** Known values of {@link BuildResultProvisioningState} that the service accepts. */ export enum KnownBuildResultProvisioningState { + /** Queuing */ Queuing = "Queuing", + /** Building */ Building = "Building", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Deleting */ Deleting = "Deleting" } @@ -1864,9 +2600,13 @@ export type BuildResultProvisioningState = string; /** Known values of {@link KPackBuildStageProvisioningState} that the service accepts. */ export enum KnownKPackBuildStageProvisioningState { + /** NotStarted */ NotStarted = "NotStarted", + /** Running */ Running = "Running", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed" } @@ -1884,10 +2624,15 @@ export type KPackBuildStageProvisioningState = string; /** Known values of {@link BuilderProvisioningState} that the service accepts. */ export enum KnownBuilderProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Deleting */ Deleting = "Deleting" } @@ -1906,9 +2651,13 @@ export type BuilderProvisioningState = string; /** Known values of {@link MonitoringSettingState} that the service accepts. */ export enum KnownMonitoringSettingState { + /** NotAvailable */ NotAvailable = "NotAvailable", + /** Failed */ Failed = "Failed", + /** Succeeded */ Succeeded = "Succeeded", + /** Updating */ Updating = "Updating" } @@ -1926,10 +2675,15 @@ export type MonitoringSettingState = string; /** Known values of {@link AppResourceProvisioningState} that the service accepts. */ export enum KnownAppResourceProvisioningState { + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Deleting */ Deleting = "Deleting" } @@ -1946,11 +2700,66 @@ export enum KnownAppResourceProvisioningState { */ export type AppResourceProvisioningState = string; +/** Known values of {@link Type} that the service accepts. */ +export enum KnownType { + /** AzureFileVolume */ + AzureFileVolume = "AzureFileVolume" +} + +/** + * Defines values for Type. \ + * {@link KnownType} can be used interchangeably with Type, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AzureFileVolume** + */ +export type Type = string; + +/** Known values of {@link SessionAffinity} that the service accepts. */ +export enum KnownSessionAffinity { + /** Cookie */ + Cookie = "Cookie", + /** None */ + None = "None" +} + +/** + * Defines values for SessionAffinity. \ + * {@link KnownSessionAffinity} can be used interchangeably with SessionAffinity, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Cookie** \ + * **None** + */ +export type SessionAffinity = string; + +/** Known values of {@link BackendProtocol} that the service accepts. */ +export enum KnownBackendProtocol { + /** Grpc */ + Grpc = "GRPC", + /** Default */ + Default = "Default" +} + +/** + * Defines values for BackendProtocol. \ + * {@link KnownBackendProtocol} can be used interchangeably with BackendProtocol, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **GRPC** \ + * **Default** + */ +export type BackendProtocol = string; + /** Known values of {@link ManagedIdentityType} that the service accepts. */ export enum KnownManagedIdentityType { + /** None */ None = "None", + /** SystemAssigned */ SystemAssigned = "SystemAssigned", + /** UserAssigned */ UserAssigned = "UserAssigned", + /** SystemAssignedUserAssigned */ SystemAssignedUserAssigned = "SystemAssigned,UserAssigned" } @@ -1966,11 +2775,105 @@ export enum KnownManagedIdentityType { */ export type ManagedIdentityType = string; +/** Known values of {@link StorageType} that the service accepts. */ +export enum KnownStorageType { + /** StorageAccount */ + StorageAccount = "StorageAccount" +} + +/** + * Defines values for StorageType. \ + * {@link KnownStorageType} can be used interchangeably with StorageType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **StorageAccount** + */ +export type StorageType = string; + +/** Known values of {@link CertificateResourceProvisioningState} that the service accepts. */ +export enum KnownCertificateResourceProvisioningState { + /** Creating */ + Creating = "Creating", + /** Updating */ + Updating = "Updating", + /** Succeeded */ + Succeeded = "Succeeded", + /** Failed */ + Failed = "Failed", + /** Deleting */ + Deleting = "Deleting" +} + +/** + * Defines values for CertificateResourceProvisioningState. \ + * {@link KnownCertificateResourceProvisioningState} can be used interchangeably with CertificateResourceProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Succeeded** \ + * **Failed** \ + * **Deleting** + */ +export type CertificateResourceProvisioningState = string; + +/** Known values of {@link CustomDomainResourceProvisioningState} that the service accepts. */ +export enum KnownCustomDomainResourceProvisioningState { + /** Creating */ + Creating = "Creating", + /** Updating */ + Updating = "Updating", + /** Succeeded */ + Succeeded = "Succeeded", + /** Failed */ + Failed = "Failed", + /** Deleting */ + Deleting = "Deleting" +} + +/** + * Defines values for CustomDomainResourceProvisioningState. \ + * {@link KnownCustomDomainResourceProvisioningState} can be used interchangeably with CustomDomainResourceProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Succeeded** \ + * **Failed** \ + * **Deleting** + */ +export type CustomDomainResourceProvisioningState = string; + +/** Known values of {@link ProbeActionType} that the service accepts. */ +export enum KnownProbeActionType { + /** HttpGetAction */ + HttpGetAction = "HTTPGetAction", + /** TCPSocketAction */ + TCPSocketAction = "TCPSocketAction", + /** ExecAction */ + ExecAction = "ExecAction" +} + +/** + * Defines values for ProbeActionType. \ + * {@link KnownProbeActionType} can be used interchangeably with ProbeActionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **HTTPGetAction** \ + * **TCPSocketAction** \ + * **ExecAction** + */ +export type ProbeActionType = string; + /** Known values of {@link DeploymentResourceProvisioningState} that the service accepts. */ export enum KnownDeploymentResourceProvisioningState { + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed" } @@ -1988,7 +2891,9 @@ export type DeploymentResourceProvisioningState = string; /** Known values of {@link DeploymentResourceStatus} that the service accepts. */ export enum KnownDeploymentResourceStatus { + /** Stopped */ Stopped = "Stopped", + /** Running */ Running = "Running" } @@ -2004,6 +2909,7 @@ export type DeploymentResourceStatus = string; /** Known values of {@link ActionType} that the service accepts. */ export enum KnownActionType { + /** Internal */ Internal = "Internal" } @@ -2018,9 +2924,13 @@ export type ActionType = string; /** Known values of {@link SupportedRuntimeValue} that the service accepts. */ export enum KnownSupportedRuntimeValue { + /** Java8 */ Java8 = "Java_8", + /** Java11 */ Java11 = "Java_11", + /** Java17 */ Java17 = "Java_17", + /** NetCore31 */ NetCore31 = "NetCore_31" } @@ -2038,7 +2948,9 @@ export type SupportedRuntimeValue = string; /** Known values of {@link SupportedRuntimePlatform} that the service accepts. */ export enum KnownSupportedRuntimePlatform { + /** Java */ Java = "Java", + /** NETCore */ NETCore = ".NET Core" } @@ -2054,8 +2966,11 @@ export type SupportedRuntimePlatform = string; /** Known values of {@link SkuScaleType} that the service accepts. */ export enum KnownSkuScaleType { + /** None */ None = "None", + /** Manual */ Manual = "Manual", + /** Automatic */ Automatic = "Automatic" } @@ -2072,7 +2987,9 @@ export type SkuScaleType = string; /** Known values of {@link ResourceSkuRestrictionsType} that the service accepts. */ export enum KnownResourceSkuRestrictionsType { + /** Location */ Location = "Location", + /** Zone */ Zone = "Zone" } @@ -2088,7 +3005,9 @@ export type ResourceSkuRestrictionsType = string; /** Known values of {@link ResourceSkuRestrictionsReasonCode} that the service accepts. */ export enum KnownResourceSkuRestrictionsReasonCode { + /** QuotaId */ QuotaId = "QuotaId", + /** NotAvailableForSubscription */ NotAvailableForSubscription = "NotAvailableForSubscription" } @@ -2102,6 +3021,96 @@ export enum KnownResourceSkuRestrictionsReasonCode { */ export type ResourceSkuRestrictionsReasonCode = string; +/** Known values of {@link GatewayProvisioningState} that the service accepts. */ +export enum KnownGatewayProvisioningState { + /** Creating */ + Creating = "Creating", + /** Updating */ + Updating = "Updating", + /** Succeeded */ + Succeeded = "Succeeded", + /** Failed */ + Failed = "Failed", + /** Deleting */ + Deleting = "Deleting" +} + +/** + * Defines values for GatewayProvisioningState. \ + * {@link KnownGatewayProvisioningState} can be used interchangeably with GatewayProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Succeeded** \ + * **Failed** \ + * **Deleting** + */ +export type GatewayProvisioningState = string; + +/** Known values of {@link GatewayRouteConfigProtocol} that the service accepts. */ +export enum KnownGatewayRouteConfigProtocol { + /** Http */ + Http = "HTTP", + /** Https */ + Https = "HTTPS" +} + +/** + * Defines values for GatewayRouteConfigProtocol. \ + * {@link KnownGatewayRouteConfigProtocol} can be used interchangeably with GatewayRouteConfigProtocol, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **HTTP** \ + * **HTTPS** + */ +export type GatewayRouteConfigProtocol = string; + +/** Known values of {@link ApiPortalProvisioningState} that the service accepts. */ +export enum KnownApiPortalProvisioningState { + /** Creating */ + Creating = "Creating", + /** Updating */ + Updating = "Updating", + /** Succeeded */ + Succeeded = "Succeeded", + /** Failed */ + Failed = "Failed", + /** Deleting */ + Deleting = "Deleting" +} + +/** + * Defines values for ApiPortalProvisioningState. \ + * {@link KnownApiPortalProvisioningState} can be used interchangeably with ApiPortalProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Succeeded** \ + * **Failed** \ + * **Deleting** + */ +export type ApiPortalProvisioningState = string; + +/** Known values of {@link HttpSchemeType} that the service accepts. */ +export enum KnownHttpSchemeType { + /** Http */ + Http = "HTTP", + /** Https */ + Https = "HTTPS" +} + +/** + * Defines values for HttpSchemeType. \ + * {@link KnownHttpSchemeType} can be used interchangeably with HttpSchemeType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **HTTP** \ + * **HTTPS** + */ +export type HttpSchemeType = string; + /** Optional parameters. */ export interface ServicesGetOptionalParams extends coreClient.OperationOptions {} @@ -2167,6 +3176,24 @@ export interface ServicesEnableTestEndpointOptionalParams /** Contains response data for the enableTestEndpoint operation. */ export type ServicesEnableTestEndpointResponse = TestKeys; +/** Optional parameters. */ +export interface ServicesStopOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface ServicesStartOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + /** Optional parameters. */ export interface ServicesCheckNameAvailabilityOptionalParams extends coreClient.OperationOptions {} @@ -2530,6 +3557,13 @@ export interface BuildServiceBuilderListOptionalParams /** Contains response data for the list operation. */ export type BuildServiceBuilderListResponse = BuilderResourceCollection; +/** Optional parameters. */ +export interface BuildServiceBuilderListDeploymentsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listDeployments operation. */ +export type BuildServiceBuilderListDeploymentsResponse = DeploymentList; + /** Optional parameters. */ export interface BuildServiceBuilderListNextOptionalParams extends coreClient.OperationOptions {} @@ -2734,6 +3768,48 @@ export interface BindingsListNextOptionalParams /** Contains response data for the listNext operation. */ export type BindingsListNextResponse = BindingResourceCollection; +/** Optional parameters. */ +export interface StoragesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type StoragesGetResponse = StorageResource; + +/** Optional parameters. */ +export interface StoragesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type StoragesCreateOrUpdateResponse = StorageResource; + +/** Optional parameters. */ +export interface StoragesDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface StoragesListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type StoragesListResponse = StorageResourceCollection; + +/** Optional parameters. */ +export interface StoragesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type StoragesListNextResponse = StorageResourceCollection; + /** Optional parameters. */ export interface CertificatesGetOptionalParams extends coreClient.OperationOptions {} @@ -2917,6 +3993,39 @@ export interface DeploymentsRestartOptionalParams resumeFrom?: string; } +/** Optional parameters. */ +export interface DeploymentsEnableRemoteDebuggingOptionalParams + extends coreClient.OperationOptions { + /** Parameters for enable remote debugging */ + remoteDebuggingPayload?: RemoteDebuggingPayload; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the enableRemoteDebugging operation. */ +export type DeploymentsEnableRemoteDebuggingResponse = RemoteDebugging; + +/** Optional parameters. */ +export interface DeploymentsDisableRemoteDebuggingOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the disableRemoteDebugging operation. */ +export type DeploymentsDisableRemoteDebuggingResponse = RemoteDebugging; + +/** Optional parameters. */ +export interface DeploymentsGetRemoteDebuggingConfigOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getRemoteDebuggingConfig operation. */ +export type DeploymentsGetRemoteDebuggingConfigResponse = RemoteDebugging; + /** Optional parameters. */ export interface DeploymentsGetLogFileUrlOptionalParams extends coreClient.OperationOptions {} @@ -3005,6 +4114,230 @@ export interface SkusListNextOptionalParams /** Contains response data for the listNext operation. */ export type SkusListNextResponse = ResourceSkuCollection; +/** Optional parameters. */ +export interface GatewaysGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type GatewaysGetResponse = GatewayResource; + +/** Optional parameters. */ +export interface GatewaysCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type GatewaysCreateOrUpdateResponse = GatewayResource; + +/** Optional parameters. */ +export interface GatewaysDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface GatewaysListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type GatewaysListResponse = GatewayResourceCollection; + +/** Optional parameters. */ +export interface GatewaysValidateDomainOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the validateDomain operation. */ +export type GatewaysValidateDomainResponse = CustomDomainValidateResult; + +/** Optional parameters. */ +export interface GatewaysListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type GatewaysListNextResponse = GatewayResourceCollection; + +/** Optional parameters. */ +export interface GatewayRouteConfigsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type GatewayRouteConfigsGetResponse = GatewayRouteConfigResource; + +/** Optional parameters. */ +export interface GatewayRouteConfigsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type GatewayRouteConfigsCreateOrUpdateResponse = GatewayRouteConfigResource; + +/** Optional parameters. */ +export interface GatewayRouteConfigsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface GatewayRouteConfigsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type GatewayRouteConfigsListResponse = GatewayRouteConfigResourceCollection; + +/** Optional parameters. */ +export interface GatewayRouteConfigsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type GatewayRouteConfigsListNextResponse = GatewayRouteConfigResourceCollection; + +/** Optional parameters. */ +export interface GatewayCustomDomainsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type GatewayCustomDomainsGetResponse = GatewayCustomDomainResource; + +/** Optional parameters. */ +export interface GatewayCustomDomainsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type GatewayCustomDomainsCreateOrUpdateResponse = GatewayCustomDomainResource; + +/** Optional parameters. */ +export interface GatewayCustomDomainsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface GatewayCustomDomainsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type GatewayCustomDomainsListResponse = GatewayCustomDomainResourceCollection; + +/** Optional parameters. */ +export interface GatewayCustomDomainsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type GatewayCustomDomainsListNextResponse = GatewayCustomDomainResourceCollection; + +/** Optional parameters. */ +export interface ApiPortalsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ApiPortalsGetResponse = ApiPortalResource; + +/** Optional parameters. */ +export interface ApiPortalsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type ApiPortalsCreateOrUpdateResponse = ApiPortalResource; + +/** Optional parameters. */ +export interface ApiPortalsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface ApiPortalsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ApiPortalsListResponse = ApiPortalResourceCollection; + +/** Optional parameters. */ +export interface ApiPortalsValidateDomainOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the validateDomain operation. */ +export type ApiPortalsValidateDomainResponse = CustomDomainValidateResult; + +/** Optional parameters. */ +export interface ApiPortalsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ApiPortalsListNextResponse = ApiPortalResourceCollection; + +/** Optional parameters. */ +export interface ApiPortalCustomDomainsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ApiPortalCustomDomainsGetResponse = ApiPortalCustomDomainResource; + +/** Optional parameters. */ +export interface ApiPortalCustomDomainsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type ApiPortalCustomDomainsCreateOrUpdateResponse = ApiPortalCustomDomainResource; + +/** Optional parameters. */ +export interface ApiPortalCustomDomainsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface ApiPortalCustomDomainsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ApiPortalCustomDomainsListResponse = ApiPortalCustomDomainResourceCollection; + +/** Optional parameters. */ +export interface ApiPortalCustomDomainsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ApiPortalCustomDomainsListNextResponse = ApiPortalCustomDomainResourceCollection; + /** Optional parameters. */ export interface AppPlatformManagementClientOptionalParams extends coreClient.ServiceClientOptions { diff --git a/sdk/appplatform/arm-appplatform/src/models/mappers.ts b/sdk/appplatform/arm-appplatform/src/models/mappers.ts index 005aa2b39b36..8700799c6c5d 100644 --- a/sdk/appplatform/arm-appplatform/src/models/mappers.ts +++ b/sdk/appplatform/arm-appplatform/src/models/mappers.ts @@ -27,6 +27,13 @@ export const ClusterResourceProperties: coreClient.CompositeMapper = { className: "NetworkProfile" } }, + vnetAddons: { + serializedName: "vnetAddons", + type: { + name: "Composite", + className: "ServiceVNetAddons" + } + }, version: { serializedName: "version", readOnly: true, @@ -41,6 +48,13 @@ export const ClusterResourceProperties: coreClient.CompositeMapper = { name: "String" } }, + powerState: { + serializedName: "powerState", + readOnly: true, + type: { + name: "String" + } + }, zoneRedundant: { defaultValue: false, serializedName: "zoneRedundant", @@ -54,6 +68,13 @@ export const ClusterResourceProperties: coreClient.CompositeMapper = { type: { name: "String" } + }, + marketplaceResource: { + serializedName: "marketplaceResource", + type: { + name: "Composite", + className: "MarketplaceResource" + } } } } @@ -113,6 +134,19 @@ export const NetworkProfile: coreClient.CompositeMapper = { } } } + }, + ingressConfig: { + serializedName: "ingressConfig", + type: { + name: "Composite", + className: "IngressConfig" + } + }, + outboundType: { + serializedName: "outboundType", + type: { + name: "String" + } } } } @@ -193,6 +227,64 @@ export const RequiredTraffic: coreClient.CompositeMapper = { } }; +export const IngressConfig: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IngressConfig", + modelProperties: { + readTimeoutInSeconds: { + serializedName: "readTimeoutInSeconds", + type: { + name: "Number" + } + } + } + } +}; + +export const ServiceVNetAddons: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ServiceVNetAddons", + modelProperties: { + logStreamPublicEndpoint: { + defaultValue: false, + serializedName: "logStreamPublicEndpoint", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MarketplaceResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MarketplaceResource", + modelProperties: { + plan: { + serializedName: "plan", + type: { + name: "String" + } + }, + publisher: { + serializedName: "publisher", + type: { + name: "String" + } + }, + product: { + serializedName: "product", + type: { + name: "String" + } + } + } + } +}; + export const Sku: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1291,6 +1383,13 @@ export const BuildProperties: coreClient.CompositeMapper = { name: "Composite", className: "TriggeredBuildResult" } + }, + resourceRequests: { + serializedName: "resourceRequests", + type: { + name: "Composite", + className: "BuildResourceRequests" + } } } } @@ -1311,6 +1410,29 @@ export const TriggeredBuildResult: coreClient.CompositeMapper = { } }; +export const BuildResourceRequests: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BuildResourceRequests", + modelProperties: { + cpu: { + defaultValue: "1", + serializedName: "cpu", + type: { + name: "String" + } + }, + memory: { + defaultValue: "2Gi", + serializedName: "memory", + type: { + name: "String" + } + } + } + } +}; + export const BuildpackBindingProperties: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1920,6 +2042,7 @@ export const AppResourceProperties: coreClient.CompositeMapper = { }, fqdn: { serializedName: "fqdn", + readOnly: true, type: { name: "String" } @@ -1945,6 +2068,18 @@ export const AppResourceProperties: coreClient.CompositeMapper = { className: "PersistentDisk" } }, + customPersistentDisks: { + serializedName: "customPersistentDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CustomPersistentDiskResource" + } + } + } + }, enableEndToEndTLS: { defaultValue: false, serializedName: "enableEndToEndTLS", @@ -1963,6 +2098,20 @@ export const AppResourceProperties: coreClient.CompositeMapper = { } } } + }, + vnetAddons: { + serializedName: "vnetAddons", + type: { + name: "Composite", + className: "AppVNetAddons" + } + }, + ingressSettings: { + serializedName: "ingressSettings", + type: { + name: "Composite", + className: "IngressSettings" + } } } } @@ -2030,6 +2179,74 @@ export const PersistentDisk: coreClient.CompositeMapper = { } }; +export const CustomPersistentDiskResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomPersistentDiskResource", + modelProperties: { + customPersistentDiskProperties: { + serializedName: "customPersistentDiskProperties", + type: { + name: "Composite", + className: "CustomPersistentDiskProperties" + } + }, + storageId: { + serializedName: "storageId", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const CustomPersistentDiskProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomPersistentDiskProperties", + uberParent: "CustomPersistentDiskProperties", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, + modelProperties: { + type: { + serializedName: "type", + required: true, + type: { + name: "String" + } + }, + mountPath: { + serializedName: "mountPath", + required: true, + type: { + name: "String" + } + }, + readOnly: { + serializedName: "readOnly", + type: { + name: "Boolean" + } + }, + mountOptions: { + serializedName: "mountOptions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const LoadedCertificate: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2053,6 +2270,95 @@ export const LoadedCertificate: coreClient.CompositeMapper = { } }; +export const AppVNetAddons: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AppVNetAddons", + modelProperties: { + publicEndpoint: { + defaultValue: false, + serializedName: "publicEndpoint", + type: { + name: "Boolean" + } + }, + publicEndpointUrl: { + serializedName: "publicEndpointUrl", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const IngressSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IngressSettings", + modelProperties: { + readTimeoutInSeconds: { + serializedName: "readTimeoutInSeconds", + type: { + name: "Number" + } + }, + sendTimeoutInSeconds: { + serializedName: "sendTimeoutInSeconds", + type: { + name: "Number" + } + }, + sessionAffinity: { + serializedName: "sessionAffinity", + type: { + name: "String" + } + }, + sessionCookieMaxAge: { + serializedName: "sessionCookieMaxAge", + type: { + name: "Number" + } + }, + backendProtocol: { + serializedName: "backendProtocol", + type: { + name: "String" + } + }, + clientAuth: { + serializedName: "clientAuth", + type: { + name: "Composite", + className: "IngressSettingsClientAuth" + } + } + } + } +}; + +export const IngressSettingsClientAuth: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IngressSettingsClientAuth", + modelProperties: { + certificates: { + serializedName: "certificates", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const ManagedIdentityProperties: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2075,6 +2381,41 @@ export const ManagedIdentityProperties: coreClient.CompositeMapper = { type: { name: "String" } + }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "UserAssignedManagedIdentity" + } + } + } + } + } + } +}; + +export const UserAssignedManagedIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UserAssignedManagedIdentity", + modelProperties: { + principalId: { + serializedName: "principalId", + readOnly: true, + type: { + name: "String" + } + }, + clientId: { + serializedName: "clientId", + readOnly: true, + type: { + name: "String" + } } } } @@ -2219,13 +2560,61 @@ export const BindingResourceCollection: coreClient.CompositeMapper = { } }; -export const CertificateProperties: coreClient.CompositeMapper = { +export const StorageProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CertificateProperties", - uberParent: "CertificateProperties", + className: "StorageProperties", + uberParent: "StorageProperties", polymorphicDiscriminator: { - serializedName: "type", + serializedName: "storageType", + clientName: "storageType" + }, + modelProperties: { + storageType: { + serializedName: "storageType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const StorageResourceCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageResourceCollection", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StorageResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const CertificateProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CertificateProperties", + uberParent: "CertificateProperties", + polymorphicDiscriminator: { + serializedName: "type", clientName: "type" }, modelProperties: { @@ -2289,6 +2678,13 @@ export const CertificateProperties: coreClient.CompositeMapper = { } } } + }, + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + type: { + name: "String" + } } } } @@ -2394,6 +2790,13 @@ export const CustomDomainProperties: coreClient.CompositeMapper = { type: { name: "String" } + }, + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + type: { + name: "String" + } } } } @@ -2578,6 +2981,41 @@ export const DeploymentSettings: coreClient.CompositeMapper = { } } } + }, + livenessProbe: { + serializedName: "livenessProbe", + type: { + name: "Composite", + className: "Probe" + } + }, + readinessProbe: { + serializedName: "readinessProbe", + type: { + name: "Composite", + className: "Probe" + } + }, + startupProbe: { + serializedName: "startupProbe", + type: { + name: "Composite", + className: "Probe" + } + }, + terminationGracePeriodSeconds: { + defaultValue: 90, + serializedName: "terminationGracePeriodSeconds", + type: { + name: "Number" + } + }, + containerProbeSettings: { + serializedName: "containerProbeSettings", + type: { + name: "Composite", + className: "ContainerProbeSettings" + } } } } @@ -2604,6 +3042,96 @@ export const ResourceRequests: coreClient.CompositeMapper = { } }; +export const Probe: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Probe", + modelProperties: { + probeAction: { + serializedName: "probeAction", + type: { + name: "Composite", + className: "ProbeAction" + } + }, + disableProbe: { + defaultValue: false, + serializedName: "disableProbe", + required: true, + type: { + name: "Boolean" + } + }, + initialDelaySeconds: { + serializedName: "initialDelaySeconds", + type: { + name: "Number" + } + }, + periodSeconds: { + serializedName: "periodSeconds", + type: { + name: "Number" + } + }, + timeoutSeconds: { + serializedName: "timeoutSeconds", + type: { + name: "Number" + } + }, + failureThreshold: { + serializedName: "failureThreshold", + type: { + name: "Number" + } + }, + successThreshold: { + serializedName: "successThreshold", + type: { + name: "Number" + } + } + } + } +}; + +export const ProbeAction: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProbeAction", + uberParent: "ProbeAction", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, + modelProperties: { + type: { + serializedName: "type", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ContainerProbeSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ContainerProbeSettings", + modelProperties: { + disableProbe: { + serializedName: "disableProbe", + type: { + name: "Boolean" + } + } + } + } +}; + export const DeploymentInstance: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2682,6 +3210,62 @@ export const DeploymentResourceCollection: coreClient.CompositeMapper = { } }; +export const DeploymentList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeploymentList", + modelProperties: { + deployments: { + serializedName: "deployments", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const RemoteDebuggingPayload: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RemoteDebuggingPayload", + modelProperties: { + port: { + serializedName: "port", + type: { + name: "Number" + } + } + } + } +}; + +export const RemoteDebugging: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RemoteDebugging", + modelProperties: { + port: { + serializedName: "port", + type: { + name: "Number" + } + }, + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + } + } + } +}; + export const LogFileUrlResponse: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3394,76 +3978,971 @@ export const ResourceSkuRestrictionInfo: coreClient.CompositeMapper = { } }; -export const TrackedResource: coreClient.CompositeMapper = { +export const GatewayProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "TrackedResource", + className: "GatewayProperties", modelProperties: { - ...Resource.type.modelProperties, - location: { - serializedName: "location", + provisioningState: { + serializedName: "provisioningState", + readOnly: true, type: { name: "String" } }, - tags: { - serializedName: "tags", + public: { + defaultValue: false, + serializedName: "public", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "Boolean" } - } - } - } -}; - -export const ProxyResource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ProxyResource", - modelProperties: { - ...Resource.type.modelProperties - } - } -}; - -export const KeyVaultCertificateProperties: coreClient.CompositeMapper = { - serializedName: "KeyVaultCertificate", - type: { - name: "Composite", - className: "KeyVaultCertificateProperties", - uberParent: "CertificateProperties", - polymorphicDiscriminator: - CertificateProperties.type.polymorphicDiscriminator, - modelProperties: { - ...CertificateProperties.type.modelProperties, - vaultUri: { - serializedName: "vaultUri", - required: true, + }, + url: { + serializedName: "url", + readOnly: true, type: { name: "String" } }, - keyVaultCertName: { - serializedName: "keyVaultCertName", - required: true, + httpsOnly: { + defaultValue: false, + serializedName: "httpsOnly", type: { - name: "String" + name: "Boolean" } }, - certVersion: { - serializedName: "certVersion", + ssoProperties: { + serializedName: "ssoProperties", type: { - name: "String" + name: "Composite", + className: "SsoProperties" } }, - excludePrivateKey: { - defaultValue: false, - serializedName: "excludePrivateKey", + apiMetadataProperties: { + serializedName: "apiMetadataProperties", type: { - name: "Boolean" + name: "Composite", + className: "GatewayApiMetadataProperties" } - } + }, + corsProperties: { + serializedName: "corsProperties", + type: { + name: "Composite", + className: "GatewayCorsProperties" + } + }, + resourceRequests: { + serializedName: "resourceRequests", + type: { + name: "Composite", + className: "GatewayResourceRequests" + } + }, + instances: { + serializedName: "instances", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayInstance" + } + } + } + }, + operatorProperties: { + serializedName: "operatorProperties", + type: { + name: "Composite", + className: "GatewayOperatorProperties" + } + } + } + } +}; + +export const SsoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SsoProperties", + modelProperties: { + scope: { + serializedName: "scope", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + clientId: { + serializedName: "clientId", + type: { + name: "String" + } + }, + clientSecret: { + serializedName: "clientSecret", + type: { + name: "String" + } + }, + issuerUri: { + serializedName: "issuerUri", + type: { + name: "String" + } + } + } + } +}; + +export const GatewayApiMetadataProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayApiMetadataProperties", + modelProperties: { + title: { + serializedName: "title", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + documentation: { + serializedName: "documentation", + type: { + name: "String" + } + }, + version: { + serializedName: "version", + type: { + name: "String" + } + }, + serverUrl: { + serializedName: "serverUrl", + type: { + name: "String" + } + } + } + } +}; + +export const GatewayCorsProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayCorsProperties", + modelProperties: { + allowedOrigins: { + serializedName: "allowedOrigins", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + allowedMethods: { + serializedName: "allowedMethods", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + allowedHeaders: { + serializedName: "allowedHeaders", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + maxAge: { + serializedName: "maxAge", + type: { + name: "Number" + } + }, + allowCredentials: { + serializedName: "allowCredentials", + type: { + name: "Boolean" + } + }, + exposedHeaders: { + serializedName: "exposedHeaders", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const GatewayResourceRequests: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayResourceRequests", + modelProperties: { + cpu: { + defaultValue: "1", + serializedName: "cpu", + type: { + name: "String" + } + }, + memory: { + defaultValue: "2Gi", + serializedName: "memory", + type: { + name: "String" + } + } + } + } +}; + +export const GatewayInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayInstance", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const GatewayOperatorProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayOperatorProperties", + modelProperties: { + resourceRequests: { + serializedName: "resourceRequests", + type: { + name: "Composite", + className: "GatewayOperatorResourceRequests" + } + }, + instances: { + serializedName: "instances", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayInstance" + } + } + } + } + } + } +}; + +export const GatewayOperatorResourceRequests: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayOperatorResourceRequests", + modelProperties: { + cpu: { + serializedName: "cpu", + readOnly: true, + type: { + name: "String" + } + }, + memory: { + serializedName: "memory", + readOnly: true, + type: { + name: "String" + } + }, + instanceCount: { + serializedName: "instanceCount", + readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const GatewayResourceCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayResourceCollection", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const GatewayRouteConfigProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayRouteConfigProperties", + modelProperties: { + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + appResourceId: { + serializedName: "appResourceId", + type: { + name: "String" + } + }, + openApi: { + serializedName: "openApi", + type: { + name: "Composite", + className: "GatewayRouteConfigOpenApiProperties" + } + }, + protocol: { + defaultValue: "HTTP", + serializedName: "protocol", + type: { + name: "String" + } + }, + routes: { + serializedName: "routes", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayApiRoute" + } + } + } + } + } + } +}; + +export const GatewayRouteConfigOpenApiProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayRouteConfigOpenApiProperties", + modelProperties: { + uri: { + serializedName: "uri", + type: { + name: "String" + } + } + } + } +}; + +export const GatewayApiRoute: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayApiRoute", + modelProperties: { + title: { + serializedName: "title", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + uri: { + serializedName: "uri", + type: { + name: "String" + } + }, + ssoEnabled: { + serializedName: "ssoEnabled", + type: { + name: "Boolean" + } + }, + tokenRelay: { + serializedName: "tokenRelay", + type: { + name: "Boolean" + } + }, + predicates: { + serializedName: "predicates", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + filters: { + serializedName: "filters", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + order: { + serializedName: "order", + type: { + name: "Number" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const GatewayRouteConfigResourceCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayRouteConfigResourceCollection", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayRouteConfigResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const GatewayCustomDomainProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayCustomDomainProperties", + modelProperties: { + thumbprint: { + serializedName: "thumbprint", + type: { + name: "String" + } + } + } + } +}; + +export const GatewayCustomDomainResourceCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayCustomDomainResourceCollection", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayCustomDomainResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ApiPortalProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalProperties", + modelProperties: { + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + type: { + name: "String" + } + }, + public: { + defaultValue: false, + serializedName: "public", + type: { + name: "Boolean" + } + }, + url: { + serializedName: "url", + readOnly: true, + type: { + name: "String" + } + }, + httpsOnly: { + defaultValue: false, + serializedName: "httpsOnly", + type: { + name: "Boolean" + } + }, + gatewayIds: { + serializedName: "gatewayIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + sourceUrls: { + serializedName: "sourceUrls", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + ssoProperties: { + serializedName: "ssoProperties", + type: { + name: "Composite", + className: "SsoProperties" + } + }, + resourceRequests: { + serializedName: "resourceRequests", + type: { + name: "Composite", + className: "ApiPortalResourceRequests" + } + }, + instances: { + serializedName: "instances", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApiPortalInstance" + } + } + } + } + } + } +}; + +export const ApiPortalResourceRequests: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalResourceRequests", + modelProperties: { + cpu: { + serializedName: "cpu", + readOnly: true, + type: { + name: "String" + } + }, + memory: { + serializedName: "memory", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ApiPortalInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalInstance", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ApiPortalResourceCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalResourceCollection", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApiPortalResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ApiPortalCustomDomainProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalCustomDomainProperties", + modelProperties: { + thumbprint: { + serializedName: "thumbprint", + type: { + name: "String" + } + } + } + } +}; + +export const ApiPortalCustomDomainResourceCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalCustomDomainResourceCollection", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApiPortalCustomDomainResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const CustomContainer: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomContainer", + modelProperties: { + server: { + serializedName: "server", + type: { + name: "String" + } + }, + containerImage: { + serializedName: "containerImage", + type: { + name: "String" + } + }, + command: { + serializedName: "command", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + args: { + serializedName: "args", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + imageRegistryCredential: { + serializedName: "imageRegistryCredential", + type: { + name: "Composite", + className: "ImageRegistryCredential" + } + }, + languageFramework: { + serializedName: "languageFramework", + type: { + name: "String" + } + } + } + } +}; + +export const ImageRegistryCredential: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImageRegistryCredential", + modelProperties: { + username: { + serializedName: "username", + type: { + name: "String" + } + }, + password: { + serializedName: "password", + type: { + name: "String" + } + } + } + } +}; + +export const TrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + +export const AzureFileVolume: coreClient.CompositeMapper = { + serializedName: "AzureFileVolume", + type: { + name: "Composite", + className: "AzureFileVolume", + uberParent: "CustomPersistentDiskProperties", + polymorphicDiscriminator: + CustomPersistentDiskProperties.type.polymorphicDiscriminator, + modelProperties: { + ...CustomPersistentDiskProperties.type.modelProperties, + shareName: { + serializedName: "shareName", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const StorageAccount: coreClient.CompositeMapper = { + serializedName: "StorageAccount", + type: { + name: "Composite", + className: "StorageAccount", + uberParent: "StorageProperties", + polymorphicDiscriminator: StorageProperties.type.polymorphicDiscriminator, + modelProperties: { + ...StorageProperties.type.modelProperties, + accountName: { + serializedName: "accountName", + required: true, + type: { + name: "String" + } + }, + accountKey: { + serializedName: "accountKey", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const KeyVaultCertificateProperties: coreClient.CompositeMapper = { + serializedName: "KeyVaultCertificate", + type: { + name: "Composite", + className: "KeyVaultCertificateProperties", + uberParent: "CertificateProperties", + polymorphicDiscriminator: + CertificateProperties.type.polymorphicDiscriminator, + modelProperties: { + ...CertificateProperties.type.modelProperties, + vaultUri: { + serializedName: "vaultUri", + required: true, + type: { + name: "String" + } + }, + keyVaultCertName: { + serializedName: "keyVaultCertName", + required: true, + type: { + name: "String" + } + }, + certVersion: { + serializedName: "certVersion", + type: { + name: "String" + } + }, + excludePrivateKey: { + defaultValue: false, + serializedName: "excludePrivateKey", + type: { + name: "Boolean" + } + } } } }; @@ -3529,6 +5008,88 @@ export const BuildResultUserSourceInfo: coreClient.CompositeMapper = { } }; +export const CustomContainerUserSourceInfo: coreClient.CompositeMapper = { + serializedName: "Container", + type: { + name: "Composite", + className: "CustomContainerUserSourceInfo", + uberParent: "UserSourceInfo", + polymorphicDiscriminator: UserSourceInfo.type.polymorphicDiscriminator, + modelProperties: { + ...UserSourceInfo.type.modelProperties, + customContainer: { + serializedName: "customContainer", + type: { + name: "Composite", + className: "CustomContainer" + } + } + } + } +}; + +export const HttpGetAction: coreClient.CompositeMapper = { + serializedName: "HTTPGetAction", + type: { + name: "Composite", + className: "HttpGetAction", + uberParent: "ProbeAction", + polymorphicDiscriminator: ProbeAction.type.polymorphicDiscriminator, + modelProperties: { + ...ProbeAction.type.modelProperties, + path: { + serializedName: "path", + type: { + name: "String" + } + }, + scheme: { + serializedName: "scheme", + type: { + name: "String" + } + } + } + } +}; + +export const ExecAction: coreClient.CompositeMapper = { + serializedName: "ExecAction", + type: { + name: "Composite", + className: "ExecAction", + uberParent: "ProbeAction", + polymorphicDiscriminator: ProbeAction.type.polymorphicDiscriminator, + modelProperties: { + ...ProbeAction.type.modelProperties, + command: { + serializedName: "command", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const TCPSocketAction: coreClient.CompositeMapper = { + serializedName: "TCPSocketAction", + type: { + name: "Composite", + className: "TCPSocketAction", + uberParent: "ProbeAction", + polymorphicDiscriminator: ProbeAction.type.polymorphicDiscriminator, + modelProperties: { + ...ProbeAction.type.modelProperties + } + } +}; + export const ServiceResource: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3804,6 +5365,23 @@ export const BindingResource: coreClient.CompositeMapper = { } }; +export const StorageResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "StorageProperties" + } + } + } + } +}; + export const CertificateResource: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3862,6 +5440,105 @@ export const DeploymentResource: coreClient.CompositeMapper = { } }; +export const GatewayResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "GatewayProperties" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + } + } + } +}; + +export const GatewayRouteConfigResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayRouteConfigResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "GatewayRouteConfigProperties" + } + } + } + } +}; + +export const GatewayCustomDomainResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayCustomDomainResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "GatewayCustomDomainProperties" + } + } + } + } +}; + +export const ApiPortalResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ApiPortalProperties" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "Sku" + } + } + } + } +}; + +export const ApiPortalCustomDomainResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApiPortalCustomDomainResource", + modelProperties: { + ...ProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ApiPortalCustomDomainProperties" + } + } + } + } +}; + export const JarUploadedUserSourceInfo: coreClient.CompositeMapper = { serializedName: "Jar", type: { @@ -3938,12 +5615,21 @@ export const NetCoreZipUploadedUserSourceInfo: coreClient.CompositeMapper = { }; export let discriminators = { + CustomPersistentDiskProperties: CustomPersistentDiskProperties, + StorageProperties: StorageProperties, CertificateProperties: CertificateProperties, UserSourceInfo: UserSourceInfo, + ProbeAction: ProbeAction, + "CustomPersistentDiskProperties.AzureFileVolume": AzureFileVolume, + "StorageProperties.StorageAccount": StorageAccount, "CertificateProperties.KeyVaultCertificate": KeyVaultCertificateProperties, "CertificateProperties.ContentCertificate": ContentCertificateProperties, "UserSourceInfo.UploadedUserSourceInfo": UploadedUserSourceInfo, "UserSourceInfo.BuildResult": BuildResultUserSourceInfo, + "UserSourceInfo.Container": CustomContainerUserSourceInfo, + "ProbeAction.HTTPGetAction": HttpGetAction, + "ProbeAction.ExecAction": ExecAction, + "ProbeAction.TCPSocketAction": TCPSocketAction, "UserSourceInfo.Jar": JarUploadedUserSourceInfo, "UserSourceInfo.Source": SourceUploadedUserSourceInfo, "UserSourceInfo.NetCoreZip": NetCoreZipUploadedUserSourceInfo diff --git a/sdk/appplatform/arm-appplatform/src/models/parameters.ts b/sdk/appplatform/arm-appplatform/src/models/parameters.ts index e4f039e76a4f..3dee45f96d67 100644 --- a/sdk/appplatform/arm-appplatform/src/models/parameters.ts +++ b/sdk/appplatform/arm-appplatform/src/models/parameters.ts @@ -28,10 +28,17 @@ import { ActiveDeploymentCollection as ActiveDeploymentCollectionMapper, CustomDomainValidatePayload as CustomDomainValidatePayloadMapper, BindingResource as BindingResourceMapper, + StorageResource as StorageResourceMapper, CertificateResource as CertificateResourceMapper, CustomDomainResource as CustomDomainResourceMapper, DeploymentResource as DeploymentResourceMapper, - DiagnosticParameters as DiagnosticParametersMapper + RemoteDebuggingPayload as RemoteDebuggingPayloadMapper, + DiagnosticParameters as DiagnosticParametersMapper, + GatewayResource as GatewayResourceMapper, + GatewayRouteConfigResource as GatewayRouteConfigResourceMapper, + GatewayCustomDomainResource as GatewayCustomDomainResourceMapper, + ApiPortalResource as ApiPortalResourceMapper, + ApiPortalCustomDomainResource as ApiPortalCustomDomainResourceMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -61,7 +68,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-04-01", + defaultValue: "2022-09-01-preview", isConstant: true, serializedName: "api-version", type: { @@ -360,6 +367,22 @@ export const bindingResource: OperationParameter = { mapper: BindingResourceMapper }; +export const storageName: OperationURLParameter = { + parameterPath: "storageName", + mapper: { + serializedName: "storageName", + required: true, + type: { + name: "String" + } + } +}; + +export const storageResource: OperationParameter = { + parameterPath: "storageResource", + mapper: StorageResourceMapper +}; + export const certificateName: OperationURLParameter = { parameterPath: "certificateName", mapper: { @@ -424,7 +447,70 @@ export const version: OperationQueryParameter = { collectionFormat: "Multi" }; +export const remoteDebuggingPayload: OperationParameter = { + parameterPath: ["options", "remoteDebuggingPayload"], + mapper: RemoteDebuggingPayloadMapper +}; + export const diagnosticParameters: OperationParameter = { parameterPath: "diagnosticParameters", mapper: DiagnosticParametersMapper }; + +export const gatewayName: OperationURLParameter = { + parameterPath: "gatewayName", + mapper: { + serializedName: "gatewayName", + required: true, + type: { + name: "String" + } + } +}; + +export const gatewayResource: OperationParameter = { + parameterPath: "gatewayResource", + mapper: GatewayResourceMapper +}; + +export const routeConfigName: OperationURLParameter = { + parameterPath: "routeConfigName", + mapper: { + serializedName: "routeConfigName", + required: true, + type: { + name: "String" + } + } +}; + +export const gatewayRouteConfigResource: OperationParameter = { + parameterPath: "gatewayRouteConfigResource", + mapper: GatewayRouteConfigResourceMapper +}; + +export const gatewayCustomDomainResource: OperationParameter = { + parameterPath: "gatewayCustomDomainResource", + mapper: GatewayCustomDomainResourceMapper +}; + +export const apiPortalName: OperationURLParameter = { + parameterPath: "apiPortalName", + mapper: { + serializedName: "apiPortalName", + required: true, + type: { + name: "String" + } + } +}; + +export const apiPortalResource: OperationParameter = { + parameterPath: "apiPortalResource", + mapper: ApiPortalResourceMapper +}; + +export const apiPortalCustomDomainResource: OperationParameter = { + parameterPath: "apiPortalCustomDomainResource", + mapper: ApiPortalCustomDomainResourceMapper +}; diff --git a/sdk/appplatform/arm-appplatform/src/operations/apiPortalCustomDomains.ts b/sdk/appplatform/arm-appplatform/src/operations/apiPortalCustomDomains.ts new file mode 100644 index 000000000000..54a315dfc20b --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operations/apiPortalCustomDomains.ts @@ -0,0 +1,525 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ApiPortalCustomDomains } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AppPlatformManagementClient } from "../appPlatformManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ApiPortalCustomDomainResource, + ApiPortalCustomDomainsListNextOptionalParams, + ApiPortalCustomDomainsListOptionalParams, + ApiPortalCustomDomainsGetOptionalParams, + ApiPortalCustomDomainsGetResponse, + ApiPortalCustomDomainsCreateOrUpdateOptionalParams, + ApiPortalCustomDomainsCreateOrUpdateResponse, + ApiPortalCustomDomainsDeleteOptionalParams, + ApiPortalCustomDomainsListResponse, + ApiPortalCustomDomainsListNextResponse +} from "../models"; + +/// +/** Class containing ApiPortalCustomDomains operations. */ +export class ApiPortalCustomDomainsImpl implements ApiPortalCustomDomains { + private readonly client: AppPlatformManagementClient; + + /** + * Initialize a new instance of the class ApiPortalCustomDomains class. + * @param client Reference to the service client + */ + constructor(client: AppPlatformManagementClient) { + this.client = client; + } + + /** + * Handle requests to list all API portal custom domains. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalCustomDomainsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + serviceName, + apiPortalName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + serviceName, + apiPortalName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalCustomDomainsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list( + resourceGroupName, + serviceName, + apiPortalName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + serviceName, + apiPortalName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalCustomDomainsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + serviceName, + apiPortalName, + options + )) { + yield* page; + } + } + + /** + * Get the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + options?: ApiPortalCustomDomainsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, apiPortalName, domainName, options }, + getOperationSpec + ); + } + + /** + * Create or update the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param apiPortalCustomDomainResource The API portal custom domain for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + apiPortalCustomDomainResource: ApiPortalCustomDomainResource, + options?: ApiPortalCustomDomainsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ApiPortalCustomDomainsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + serviceName, + apiPortalName, + domainName, + apiPortalCustomDomainResource, + options + }, + createOrUpdateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Create or update the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param apiPortalCustomDomainResource The API portal custom domain for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + apiPortalCustomDomainResource: ApiPortalCustomDomainResource, + options?: ApiPortalCustomDomainsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serviceName, + apiPortalName, + domainName, + apiPortalCustomDomainResource, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + options?: ApiPortalCustomDomainsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, apiPortalName, domainName, options }, + deleteOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Delete the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + options?: ApiPortalCustomDomainsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serviceName, + apiPortalName, + domainName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Handle requests to list all API portal custom domains. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalCustomDomainsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, apiPortalName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + nextLink: string, + options?: ApiPortalCustomDomainsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, apiPortalName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalCustomDomainResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.domainName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalCustomDomainResource + }, + 201: { + bodyMapper: Mappers.ApiPortalCustomDomainResource + }, + 202: { + bodyMapper: Mappers.ApiPortalCustomDomainResource + }, + 204: { + bodyMapper: Mappers.ApiPortalCustomDomainResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.apiPortalCustomDomainResource, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.domainName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.domainName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalCustomDomainResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalCustomDomainResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.nextLink, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/appplatform/arm-appplatform/src/operations/apiPortals.ts b/sdk/appplatform/arm-appplatform/src/operations/apiPortals.ts new file mode 100644 index 000000000000..4ae2712e045f --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operations/apiPortals.ts @@ -0,0 +1,538 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ApiPortals } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AppPlatformManagementClient } from "../appPlatformManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ApiPortalResource, + ApiPortalsListNextOptionalParams, + ApiPortalsListOptionalParams, + ApiPortalsGetOptionalParams, + ApiPortalsGetResponse, + ApiPortalsCreateOrUpdateOptionalParams, + ApiPortalsCreateOrUpdateResponse, + ApiPortalsDeleteOptionalParams, + ApiPortalsListResponse, + CustomDomainValidatePayload, + ApiPortalsValidateDomainOptionalParams, + ApiPortalsValidateDomainResponse, + ApiPortalsListNextResponse +} from "../models"; + +/// +/** Class containing ApiPortals operations. */ +export class ApiPortalsImpl implements ApiPortals { + private readonly client: AppPlatformManagementClient; + + /** + * Initialize a new instance of the class ApiPortals class. + * @param client Reference to the service client + */ + constructor(client: AppPlatformManagementClient) { + this.client = client; + } + + /** + * Handles requests to list all resources in a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + serviceName: string, + options?: ApiPortalsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, serviceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, serviceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + serviceName: string, + options?: ApiPortalsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, serviceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + serviceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + serviceName: string, + options?: ApiPortalsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + serviceName, + options + )) { + yield* page; + } + } + + /** + * Get the API portal and its properties. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, apiPortalName, options }, + getOperationSpec + ); + } + + /** + * Create the default API portal or update the existing API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param apiPortalResource The API portal for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + apiPortalResource: ApiPortalResource, + options?: ApiPortalsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ApiPortalsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + serviceName, + apiPortalName, + apiPortalResource, + options + }, + createOrUpdateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Create the default API portal or update the existing API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param apiPortalResource The API portal for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + apiPortalResource: ApiPortalResource, + options?: ApiPortalsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serviceName, + apiPortalName, + apiPortalResource, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete the default API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, apiPortalName, options }, + deleteOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Delete the default API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serviceName, + apiPortalName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Handles requests to list all resources in a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + serviceName: string, + options?: ApiPortalsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, options }, + listOperationSpec + ); + } + + /** + * Check the domains are valid as well as not in use. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param validatePayload Custom domain payload to be validated + * @param options The options parameters. + */ + validateDomain( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + validatePayload: CustomDomainValidatePayload, + options?: ApiPortalsValidateDomainOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serviceName, + apiPortalName, + validatePayload, + options + }, + validateDomainOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + serviceName: string, + nextLink: string, + options?: ApiPortalsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalResource + }, + 201: { + bodyMapper: Mappers.ApiPortalResource + }, + 202: { + bodyMapper: Mappers.ApiPortalResource + }, + 204: { + bodyMapper: Mappers.ApiPortalResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.apiPortalResource, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const validateDomainOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/validateDomain", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.CustomDomainValidateResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.validatePayload, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.apiPortalName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApiPortalResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/appplatform/arm-appplatform/src/operations/buildServiceBuilder.ts b/sdk/appplatform/arm-appplatform/src/operations/buildServiceBuilder.ts index 2fd011ac05aa..190fb0f5f3c9 100644 --- a/sdk/appplatform/arm-appplatform/src/operations/buildServiceBuilder.ts +++ b/sdk/appplatform/arm-appplatform/src/operations/buildServiceBuilder.ts @@ -24,6 +24,8 @@ import { BuildServiceBuilderCreateOrUpdateResponse, BuildServiceBuilderDeleteOptionalParams, BuildServiceBuilderListResponse, + BuildServiceBuilderListDeploymentsOptionalParams, + BuildServiceBuilderListDeploymentsResponse, BuildServiceBuilderListNextResponse } from "../models"; @@ -380,6 +382,34 @@ export class BuildServiceBuilderImpl implements BuildServiceBuilder { ); } + /** + * List deployments that are using the builder. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param buildServiceName The name of the build service resource. + * @param builderName The name of the builder resource. + * @param options The options parameters. + */ + listDeployments( + resourceGroupName: string, + serviceName: string, + buildServiceName: string, + builderName: string, + options?: BuildServiceBuilderListDeploymentsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + serviceName, + buildServiceName, + builderName, + options + }, + listDeploymentsOperationSpec + ); + } + /** * ListNext * @param resourceGroupName The name of the resource group that contains the resource. You can obtain @@ -512,6 +542,30 @@ const listOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const listDeploymentsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/listUsingDeployments", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.DeploymentList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.buildServiceName, + Parameters.builderName + ], + headerParameters: [Parameters.accept], + serializer +}; const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/appplatform/arm-appplatform/src/operations/deployments.ts b/sdk/appplatform/arm-appplatform/src/operations/deployments.ts index 692478d2c7a7..d85e7490f1b0 100644 --- a/sdk/appplatform/arm-appplatform/src/operations/deployments.ts +++ b/sdk/appplatform/arm-appplatform/src/operations/deployments.ts @@ -32,6 +32,12 @@ import { DeploymentsStartOptionalParams, DeploymentsStopOptionalParams, DeploymentsRestartOptionalParams, + DeploymentsEnableRemoteDebuggingOptionalParams, + DeploymentsEnableRemoteDebuggingResponse, + DeploymentsDisableRemoteDebuggingOptionalParams, + DeploymentsDisableRemoteDebuggingResponse, + DeploymentsGetRemoteDebuggingConfigOptionalParams, + DeploymentsGetRemoteDebuggingConfigResponse, DeploymentsGetLogFileUrlOptionalParams, DeploymentsGetLogFileUrlResponse, DiagnosticParameters, @@ -866,6 +872,226 @@ export class DeploymentsImpl implements Deployments { return poller.pollUntilDone(); } + /** + * Enable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + async beginEnableRemoteDebugging( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsEnableRemoteDebuggingOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DeploymentsEnableRemoteDebuggingResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, appName, deploymentName, options }, + enableRemoteDebuggingOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Enable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + async beginEnableRemoteDebuggingAndWait( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsEnableRemoteDebuggingOptionalParams + ): Promise { + const poller = await this.beginEnableRemoteDebugging( + resourceGroupName, + serviceName, + appName, + deploymentName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Disable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + async beginDisableRemoteDebugging( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsDisableRemoteDebuggingOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DeploymentsDisableRemoteDebuggingResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, appName, deploymentName, options }, + disableRemoteDebuggingOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Disable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + async beginDisableRemoteDebuggingAndWait( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsDisableRemoteDebuggingOptionalParams + ): Promise { + const poller = await this.beginDisableRemoteDebugging( + resourceGroupName, + serviceName, + appName, + deploymentName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Get remote debugging config. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + getRemoteDebuggingConfig( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsGetRemoteDebuggingConfigOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, appName, deploymentName, options }, + getRemoteDebuggingConfigOperationSpec + ); + } + /** * Get deployment log file URL * @param resourceGroupName The name of the resource group that contains the resource. You can obtain @@ -1490,6 +1716,98 @@ const restartOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const enableRemoteDebuggingOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/enableRemoteDebugging", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.RemoteDebugging + }, + 201: { + bodyMapper: Mappers.RemoteDebugging + }, + 202: { + bodyMapper: Mappers.RemoteDebugging + }, + 204: { + bodyMapper: Mappers.RemoteDebugging + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.remoteDebuggingPayload, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.appName, + Parameters.deploymentName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const disableRemoteDebuggingOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/disableRemoteDebugging", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.RemoteDebugging + }, + 201: { + bodyMapper: Mappers.RemoteDebugging + }, + 202: { + bodyMapper: Mappers.RemoteDebugging + }, + 204: { + bodyMapper: Mappers.RemoteDebugging + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.appName, + Parameters.deploymentName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getRemoteDebuggingConfigOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getRemoteDebuggingConfig", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.RemoteDebugging + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.appName, + Parameters.deploymentName + ], + headerParameters: [Parameters.accept], + serializer +}; const getLogFileUrlOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl", diff --git a/sdk/appplatform/arm-appplatform/src/operations/gatewayCustomDomains.ts b/sdk/appplatform/arm-appplatform/src/operations/gatewayCustomDomains.ts new file mode 100644 index 000000000000..fcdfb0912e28 --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operations/gatewayCustomDomains.ts @@ -0,0 +1,527 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { GatewayCustomDomains } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AppPlatformManagementClient } from "../appPlatformManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + GatewayCustomDomainResource, + GatewayCustomDomainsListNextOptionalParams, + GatewayCustomDomainsListOptionalParams, + GatewayCustomDomainsGetOptionalParams, + GatewayCustomDomainsGetResponse, + GatewayCustomDomainsCreateOrUpdateOptionalParams, + GatewayCustomDomainsCreateOrUpdateResponse, + GatewayCustomDomainsDeleteOptionalParams, + GatewayCustomDomainsListResponse, + GatewayCustomDomainsListNextResponse +} from "../models"; + +/// +/** Class containing GatewayCustomDomains operations. */ +export class GatewayCustomDomainsImpl implements GatewayCustomDomains { + private readonly client: AppPlatformManagementClient; + + /** + * Initialize a new instance of the class GatewayCustomDomains class. + * @param client Reference to the service client + */ + constructor(client: AppPlatformManagementClient) { + this.client = client; + } + + /** + * Handle requests to list all Spring Cloud Gateway custom domains. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayCustomDomainsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + serviceName, + gatewayName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + serviceName, + gatewayName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayCustomDomainsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list( + resourceGroupName, + serviceName, + gatewayName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + serviceName, + gatewayName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayCustomDomainsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + serviceName, + gatewayName, + options + )) { + yield* page; + } + } + + /** + * Get the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + options?: GatewayCustomDomainsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, domainName, options }, + getOperationSpec + ); + } + + /** + * Create or update the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param gatewayCustomDomainResource The gateway custom domain resource for the create or update + * operation + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + gatewayCustomDomainResource: GatewayCustomDomainResource, + options?: GatewayCustomDomainsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + GatewayCustomDomainsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + serviceName, + gatewayName, + domainName, + gatewayCustomDomainResource, + options + }, + createOrUpdateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Create or update the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param gatewayCustomDomainResource The gateway custom domain resource for the create or update + * operation + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + gatewayCustomDomainResource: GatewayCustomDomainResource, + options?: GatewayCustomDomainsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serviceName, + gatewayName, + domainName, + gatewayCustomDomainResource, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + options?: GatewayCustomDomainsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, gatewayName, domainName, options }, + deleteOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Delete the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + options?: GatewayCustomDomainsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serviceName, + gatewayName, + domainName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Handle requests to list all Spring Cloud Gateway custom domains. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayCustomDomainsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + nextLink: string, + options?: GatewayCustomDomainsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayCustomDomainResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.domainName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.GatewayCustomDomainResource + }, + 201: { + bodyMapper: Mappers.GatewayCustomDomainResource + }, + 202: { + bodyMapper: Mappers.GatewayCustomDomainResource + }, + 204: { + bodyMapper: Mappers.GatewayCustomDomainResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.gatewayCustomDomainResource, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.domainName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.domainName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayCustomDomainResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayCustomDomainResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.nextLink, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/appplatform/arm-appplatform/src/operations/gatewayRouteConfigs.ts b/sdk/appplatform/arm-appplatform/src/operations/gatewayRouteConfigs.ts new file mode 100644 index 000000000000..b55d0a289bc9 --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operations/gatewayRouteConfigs.ts @@ -0,0 +1,529 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { GatewayRouteConfigs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AppPlatformManagementClient } from "../appPlatformManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + GatewayRouteConfigResource, + GatewayRouteConfigsListNextOptionalParams, + GatewayRouteConfigsListOptionalParams, + GatewayRouteConfigsGetOptionalParams, + GatewayRouteConfigsGetResponse, + GatewayRouteConfigsCreateOrUpdateOptionalParams, + GatewayRouteConfigsCreateOrUpdateResponse, + GatewayRouteConfigsDeleteOptionalParams, + GatewayRouteConfigsListResponse, + GatewayRouteConfigsListNextResponse +} from "../models"; + +/// +/** Class containing GatewayRouteConfigs operations. */ +export class GatewayRouteConfigsImpl implements GatewayRouteConfigs { + private readonly client: AppPlatformManagementClient; + + /** + * Initialize a new instance of the class GatewayRouteConfigs class. + * @param client Reference to the service client + */ + constructor(client: AppPlatformManagementClient) { + this.client = client; + } + + /** + * Handle requests to list all Spring Cloud Gateway route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayRouteConfigsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + serviceName, + gatewayName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage( + resourceGroupName, + serviceName, + gatewayName, + options + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayRouteConfigsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list( + resourceGroupName, + serviceName, + gatewayName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + serviceName, + gatewayName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayRouteConfigsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + serviceName, + gatewayName, + options + )) { + yield* page; + } + } + + /** + * Get the Spring Cloud Gateway route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + options?: GatewayRouteConfigsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, routeConfigName, options }, + getOperationSpec + ); + } + + /** + * Create the default Spring Cloud Gateway route configs or update the existing Spring Cloud Gateway + * route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param gatewayRouteConfigResource The Spring Cloud Gateway route config for the create or update + * operation + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + gatewayRouteConfigResource: GatewayRouteConfigResource, + options?: GatewayRouteConfigsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + GatewayRouteConfigsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + serviceName, + gatewayName, + routeConfigName, + gatewayRouteConfigResource, + options + }, + createOrUpdateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Create the default Spring Cloud Gateway route configs or update the existing Spring Cloud Gateway + * route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param gatewayRouteConfigResource The Spring Cloud Gateway route config for the create or update + * operation + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + gatewayRouteConfigResource: GatewayRouteConfigResource, + options?: GatewayRouteConfigsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serviceName, + gatewayName, + routeConfigName, + gatewayRouteConfigResource, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete the Spring Cloud Gateway route config. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + options?: GatewayRouteConfigsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, gatewayName, routeConfigName, options }, + deleteOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Delete the Spring Cloud Gateway route config. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + options?: GatewayRouteConfigsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serviceName, + gatewayName, + routeConfigName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Handle requests to list all Spring Cloud Gateway route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayRouteConfigsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + nextLink: string, + options?: GatewayRouteConfigsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayRouteConfigResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName, + Parameters.routeConfigName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.GatewayRouteConfigResource + }, + 201: { + bodyMapper: Mappers.GatewayRouteConfigResource + }, + 202: { + bodyMapper: Mappers.GatewayRouteConfigResource + }, + 204: { + bodyMapper: Mappers.GatewayRouteConfigResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.gatewayRouteConfigResource, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName, + Parameters.routeConfigName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName, + Parameters.routeConfigName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayRouteConfigResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayRouteConfigResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.nextLink, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/appplatform/arm-appplatform/src/operations/gateways.ts b/sdk/appplatform/arm-appplatform/src/operations/gateways.ts new file mode 100644 index 000000000000..8f178b9cc36a --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operations/gateways.ts @@ -0,0 +1,526 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Gateways } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AppPlatformManagementClient } from "../appPlatformManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + GatewayResource, + GatewaysListNextOptionalParams, + GatewaysListOptionalParams, + GatewaysGetOptionalParams, + GatewaysGetResponse, + GatewaysCreateOrUpdateOptionalParams, + GatewaysCreateOrUpdateResponse, + GatewaysDeleteOptionalParams, + GatewaysListResponse, + CustomDomainValidatePayload, + GatewaysValidateDomainOptionalParams, + GatewaysValidateDomainResponse, + GatewaysListNextResponse +} from "../models"; + +/// +/** Class containing Gateways operations. */ +export class GatewaysImpl implements Gateways { + private readonly client: AppPlatformManagementClient; + + /** + * Initialize a new instance of the class Gateways class. + * @param client Reference to the service client + */ + constructor(client: AppPlatformManagementClient) { + this.client = client; + } + + /** + * Handles requests to list all resources in a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + serviceName: string, + options?: GatewaysListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, serviceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, serviceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + serviceName: string, + options?: GatewaysListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, serviceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + serviceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + serviceName: string, + options?: GatewaysListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + serviceName, + options + )) { + yield* page; + } + } + + /** + * Get the Spring Cloud Gateway and its properties. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewaysGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, options }, + getOperationSpec + ); + } + + /** + * Create the default Spring Cloud Gateway or update the existing Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param gatewayResource The gateway for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + gatewayResource: GatewayResource, + options?: GatewaysCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + GatewaysCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, gatewayName, gatewayResource, options }, + createOrUpdateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Create the default Spring Cloud Gateway or update the existing Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param gatewayResource The gateway for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + gatewayResource: GatewayResource, + options?: GatewaysCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serviceName, + gatewayName, + gatewayResource, + options + ); + return poller.pollUntilDone(); + } + + /** + * Disable the default Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewaysDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, gatewayName, options }, + deleteOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Disable the default Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewaysDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serviceName, + gatewayName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Handles requests to list all resources in a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + serviceName: string, + options?: GatewaysListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, options }, + listOperationSpec + ); + } + + /** + * Check the domains are valid as well as not in use. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param validatePayload Custom domain payload to be validated + * @param options The options parameters. + */ + validateDomain( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + validatePayload: CustomDomainValidatePayload, + options?: GatewaysValidateDomainOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, gatewayName, validatePayload, options }, + validateDomainOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + serviceName: string, + nextLink: string, + options?: GatewaysListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.GatewayResource + }, + 201: { + bodyMapper: Mappers.GatewayResource + }, + 202: { + bodyMapper: Mappers.GatewayResource + }, + 204: { + bodyMapper: Mappers.GatewayResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.gatewayResource, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const validateDomainOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/validateDomain", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.CustomDomainValidateResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.validatePayload, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.gatewayName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.GatewayResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/appplatform/arm-appplatform/src/operations/index.ts b/sdk/appplatform/arm-appplatform/src/operations/index.ts index a53d4bef767a..74a7d0c1f6fa 100644 --- a/sdk/appplatform/arm-appplatform/src/operations/index.ts +++ b/sdk/appplatform/arm-appplatform/src/operations/index.ts @@ -17,9 +17,15 @@ export * from "./buildServiceAgentPool"; export * from "./monitoringSettings"; export * from "./apps"; export * from "./bindings"; +export * from "./storages"; export * from "./certificates"; export * from "./customDomains"; export * from "./deployments"; export * from "./operations"; export * from "./runtimeVersions"; export * from "./skus"; +export * from "./gateways"; +export * from "./gatewayRouteConfigs"; +export * from "./gatewayCustomDomains"; +export * from "./apiPortals"; +export * from "./apiPortalCustomDomains"; diff --git a/sdk/appplatform/arm-appplatform/src/operations/services.ts b/sdk/appplatform/arm-appplatform/src/operations/services.ts index 13136521c513..1743533458b0 100644 --- a/sdk/appplatform/arm-appplatform/src/operations/services.ts +++ b/sdk/appplatform/arm-appplatform/src/operations/services.ts @@ -35,6 +35,8 @@ import { ServicesDisableTestEndpointOptionalParams, ServicesEnableTestEndpointOptionalParams, ServicesEnableTestEndpointResponse, + ServicesStopOptionalParams, + ServicesStartOptionalParams, NameAvailabilityParameters, ServicesCheckNameAvailabilityOptionalParams, ServicesCheckNameAvailabilityResponse, @@ -514,6 +516,174 @@ export class ServicesImpl implements Services { ); } + /** + * Stop a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + async beginStop( + resourceGroupName: string, + serviceName: string, + options?: ServicesStopOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, options }, + stopOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Stop a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + async beginStopAndWait( + resourceGroupName: string, + serviceName: string, + options?: ServicesStopOptionalParams + ): Promise { + const poller = await this.beginStop( + resourceGroupName, + serviceName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Start a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + async beginStart( + resourceGroupName: string, + serviceName: string, + options?: ServicesStartOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, options }, + startOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Start a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + async beginStartAndWait( + resourceGroupName: string, + serviceName: string, + options?: ServicesStartOptionalParams + ): Promise { + const poller = await this.beginStart( + resourceGroupName, + serviceName, + options + ); + return poller.pollUntilDone(); + } + /** * Checks that the resource name is valid and is not already in use. * @param location the region @@ -795,6 +965,64 @@ const enableTestEndpointOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const stopOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/stop", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + 404: { + isError: true + }, + 409: { + isError: true + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const startOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/start", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + 404: { + isError: true + }, + 409: { + isError: true + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName + ], + headerParameters: [Parameters.accept], + serializer +}; const checkNameAvailabilityOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability", diff --git a/sdk/appplatform/arm-appplatform/src/operations/storages.ts b/sdk/appplatform/arm-appplatform/src/operations/storages.ts new file mode 100644 index 000000000000..5118a7671a58 --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operations/storages.ts @@ -0,0 +1,476 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Storages } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AppPlatformManagementClient } from "../appPlatformManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + StorageResource, + StoragesListNextOptionalParams, + StoragesListOptionalParams, + StoragesGetOptionalParams, + StoragesGetResponse, + StoragesCreateOrUpdateOptionalParams, + StoragesCreateOrUpdateResponse, + StoragesDeleteOptionalParams, + StoragesListResponse, + StoragesListNextResponse +} from "../models"; + +/// +/** Class containing Storages operations. */ +export class StoragesImpl implements Storages { + private readonly client: AppPlatformManagementClient; + + /** + * Initialize a new instance of the class Storages class. + * @param client Reference to the service client + */ + constructor(client: AppPlatformManagementClient) { + this.client = client; + } + + /** + * List all the storages of one Azure Spring Apps resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + serviceName: string, + options?: StoragesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, serviceName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, serviceName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + serviceName: string, + options?: StoragesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, serviceName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + serviceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + serviceName: string, + options?: StoragesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + serviceName, + options + )) { + yield* page; + } + } + + /** + * Get the storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + storageName: string, + options?: StoragesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, storageName, options }, + getOperationSpec + ); + } + + /** + * Create or update storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param storageResource Parameters for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + storageName: string, + storageResource: StorageResource, + options?: StoragesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + StoragesCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, storageName, storageResource, options }, + createOrUpdateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Create or update storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param storageResource Parameters for the create or update operation + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + storageName: string, + storageResource: StorageResource, + options?: StoragesCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + serviceName, + storageName, + storageResource, + options + ); + return poller.pollUntilDone(); + } + + /** + * Delete the storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + serviceName: string, + storageName: string, + options?: StoragesDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, serviceName, storageName, options }, + deleteOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Delete the storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + storageName: string, + options?: StoragesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + serviceName, + storageName, + options + ); + return poller.pollUntilDone(); + } + + /** + * List all the storages of one Azure Spring Apps resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + serviceName: string, + options?: StoragesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + serviceName: string, + nextLink: string, + options?: StoragesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, serviceName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.StorageResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.storageName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.StorageResource + }, + 201: { + bodyMapper: Mappers.StorageResource + }, + 202: { + bodyMapper: Mappers.StorageResource + }, + 204: { + bodyMapper: Mappers.StorageResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.storageResource, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.storageName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.storageName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.StorageResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.StorageResourceCollection + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.serviceName, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/apiPortalCustomDomains.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/apiPortalCustomDomains.ts new file mode 100644 index 000000000000..28a46086f61a --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/apiPortalCustomDomains.ts @@ -0,0 +1,127 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ApiPortalCustomDomainResource, + ApiPortalCustomDomainsListOptionalParams, + ApiPortalCustomDomainsGetOptionalParams, + ApiPortalCustomDomainsGetResponse, + ApiPortalCustomDomainsCreateOrUpdateOptionalParams, + ApiPortalCustomDomainsCreateOrUpdateResponse, + ApiPortalCustomDomainsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ApiPortalCustomDomains. */ +export interface ApiPortalCustomDomains { + /** + * Handle requests to list all API portal custom domains. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalCustomDomainsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + options?: ApiPortalCustomDomainsGetOptionalParams + ): Promise; + /** + * Create or update the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param apiPortalCustomDomainResource The API portal custom domain for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + apiPortalCustomDomainResource: ApiPortalCustomDomainResource, + options?: ApiPortalCustomDomainsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ApiPortalCustomDomainsCreateOrUpdateResponse + > + >; + /** + * Create or update the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param apiPortalCustomDomainResource The API portal custom domain for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + apiPortalCustomDomainResource: ApiPortalCustomDomainResource, + options?: ApiPortalCustomDomainsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + options?: ApiPortalCustomDomainsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete the API portal custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param domainName The name of the API portal custom domain. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + domainName: string, + options?: ApiPortalCustomDomainsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/apiPortals.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/apiPortals.ts new file mode 100644 index 000000000000..0f5edd60121f --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/apiPortals.ts @@ -0,0 +1,134 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ApiPortalResource, + ApiPortalsListOptionalParams, + ApiPortalsGetOptionalParams, + ApiPortalsGetResponse, + ApiPortalsCreateOrUpdateOptionalParams, + ApiPortalsCreateOrUpdateResponse, + ApiPortalsDeleteOptionalParams, + CustomDomainValidatePayload, + ApiPortalsValidateDomainOptionalParams, + ApiPortalsValidateDomainResponse +} from "../models"; + +/// +/** Interface representing a ApiPortals. */ +export interface ApiPortals { + /** + * Handles requests to list all resources in a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + serviceName: string, + options?: ApiPortalsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the API portal and its properties. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalsGetOptionalParams + ): Promise; + /** + * Create the default API portal or update the existing API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param apiPortalResource The API portal for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + apiPortalResource: ApiPortalResource, + options?: ApiPortalsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ApiPortalsCreateOrUpdateResponse + > + >; + /** + * Create the default API portal or update the existing API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param apiPortalResource The API portal for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + apiPortalResource: ApiPortalResource, + options?: ApiPortalsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete the default API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete the default API portal. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + options?: ApiPortalsDeleteOptionalParams + ): Promise; + /** + * Check the domains are valid as well as not in use. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param apiPortalName The name of API portal. + * @param validatePayload Custom domain payload to be validated + * @param options The options parameters. + */ + validateDomain( + resourceGroupName: string, + serviceName: string, + apiPortalName: string, + validatePayload: CustomDomainValidatePayload, + options?: ApiPortalsValidateDomainOptionalParams + ): Promise; +} diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/buildServiceBuilder.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/buildServiceBuilder.ts index b5dac3a6acb2..023e36549a93 100644 --- a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/buildServiceBuilder.ts +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/buildServiceBuilder.ts @@ -15,7 +15,9 @@ import { BuildServiceBuilderGetResponse, BuildServiceBuilderCreateOrUpdateOptionalParams, BuildServiceBuilderCreateOrUpdateResponse, - BuildServiceBuilderDeleteOptionalParams + BuildServiceBuilderDeleteOptionalParams, + BuildServiceBuilderListDeploymentsOptionalParams, + BuildServiceBuilderListDeploymentsResponse } from "../models"; /// @@ -124,4 +126,20 @@ export interface BuildServiceBuilder { builderName: string, options?: BuildServiceBuilderDeleteOptionalParams ): Promise; + /** + * List deployments that are using the builder. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param buildServiceName The name of the build service resource. + * @param builderName The name of the builder resource. + * @param options The options parameters. + */ + listDeployments( + resourceGroupName: string, + serviceName: string, + buildServiceName: string, + builderName: string, + options?: BuildServiceBuilderListDeploymentsOptionalParams + ): Promise; } diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/deployments.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/deployments.ts index 7acb1e3ff80a..faff94d6821f 100644 --- a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/deployments.ts +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/deployments.ts @@ -22,6 +22,12 @@ import { DeploymentsStartOptionalParams, DeploymentsStopOptionalParams, DeploymentsRestartOptionalParams, + DeploymentsEnableRemoteDebuggingOptionalParams, + DeploymentsEnableRemoteDebuggingResponse, + DeploymentsDisableRemoteDebuggingOptionalParams, + DeploymentsDisableRemoteDebuggingResponse, + DeploymentsGetRemoteDebuggingConfigOptionalParams, + DeploymentsGetRemoteDebuggingConfigResponse, DeploymentsGetLogFileUrlOptionalParams, DeploymentsGetLogFileUrlResponse, DiagnosticParameters, @@ -285,6 +291,96 @@ export interface Deployments { deploymentName: string, options?: DeploymentsRestartOptionalParams ): Promise; + /** + * Enable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + beginEnableRemoteDebugging( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsEnableRemoteDebuggingOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DeploymentsEnableRemoteDebuggingResponse + > + >; + /** + * Enable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + beginEnableRemoteDebuggingAndWait( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsEnableRemoteDebuggingOptionalParams + ): Promise; + /** + * Disable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + beginDisableRemoteDebugging( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsDisableRemoteDebuggingOptionalParams + ): Promise< + PollerLike< + PollOperationState, + DeploymentsDisableRemoteDebuggingResponse + > + >; + /** + * Disable remote debugging. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + beginDisableRemoteDebuggingAndWait( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsDisableRemoteDebuggingOptionalParams + ): Promise; + /** + * Get remote debugging config. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param appName The name of the App resource. + * @param deploymentName The name of the Deployment resource. + * @param options The options parameters. + */ + getRemoteDebuggingConfig( + resourceGroupName: string, + serviceName: string, + appName: string, + deploymentName: string, + options?: DeploymentsGetRemoteDebuggingConfigOptionalParams + ): Promise; /** * Get deployment log file URL * @param resourceGroupName The name of the resource group that contains the resource. You can obtain diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gatewayCustomDomains.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gatewayCustomDomains.ts new file mode 100644 index 000000000000..fd8cfb52a05f --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gatewayCustomDomains.ts @@ -0,0 +1,129 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + GatewayCustomDomainResource, + GatewayCustomDomainsListOptionalParams, + GatewayCustomDomainsGetOptionalParams, + GatewayCustomDomainsGetResponse, + GatewayCustomDomainsCreateOrUpdateOptionalParams, + GatewayCustomDomainsCreateOrUpdateResponse, + GatewayCustomDomainsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a GatewayCustomDomains. */ +export interface GatewayCustomDomains { + /** + * Handle requests to list all Spring Cloud Gateway custom domains. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayCustomDomainsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + options?: GatewayCustomDomainsGetOptionalParams + ): Promise; + /** + * Create or update the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param gatewayCustomDomainResource The gateway custom domain resource for the create or update + * operation + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + gatewayCustomDomainResource: GatewayCustomDomainResource, + options?: GatewayCustomDomainsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + GatewayCustomDomainsCreateOrUpdateResponse + > + >; + /** + * Create or update the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param gatewayCustomDomainResource The gateway custom domain resource for the create or update + * operation + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + gatewayCustomDomainResource: GatewayCustomDomainResource, + options?: GatewayCustomDomainsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + options?: GatewayCustomDomainsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete the Spring Cloud Gateway custom domain. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param domainName The name of the Spring Cloud Gateway custom domain. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + domainName: string, + options?: GatewayCustomDomainsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gatewayRouteConfigs.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gatewayRouteConfigs.ts new file mode 100644 index 000000000000..a687db447dd2 --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gatewayRouteConfigs.ts @@ -0,0 +1,131 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + GatewayRouteConfigResource, + GatewayRouteConfigsListOptionalParams, + GatewayRouteConfigsGetOptionalParams, + GatewayRouteConfigsGetResponse, + GatewayRouteConfigsCreateOrUpdateOptionalParams, + GatewayRouteConfigsCreateOrUpdateResponse, + GatewayRouteConfigsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a GatewayRouteConfigs. */ +export interface GatewayRouteConfigs { + /** + * Handle requests to list all Spring Cloud Gateway route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewayRouteConfigsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the Spring Cloud Gateway route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + options?: GatewayRouteConfigsGetOptionalParams + ): Promise; + /** + * Create the default Spring Cloud Gateway route configs or update the existing Spring Cloud Gateway + * route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param gatewayRouteConfigResource The Spring Cloud Gateway route config for the create or update + * operation + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + gatewayRouteConfigResource: GatewayRouteConfigResource, + options?: GatewayRouteConfigsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + GatewayRouteConfigsCreateOrUpdateResponse + > + >; + /** + * Create the default Spring Cloud Gateway route configs or update the existing Spring Cloud Gateway + * route configs. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param gatewayRouteConfigResource The Spring Cloud Gateway route config for the create or update + * operation + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + gatewayRouteConfigResource: GatewayRouteConfigResource, + options?: GatewayRouteConfigsCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete the Spring Cloud Gateway route config. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + options?: GatewayRouteConfigsDeleteOptionalParams + ): Promise, void>>; + /** + * Delete the Spring Cloud Gateway route config. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param routeConfigName The name of the Spring Cloud Gateway route config. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + routeConfigName: string, + options?: GatewayRouteConfigsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gateways.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gateways.ts new file mode 100644 index 000000000000..9f95eea1bc7a --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/gateways.ts @@ -0,0 +1,134 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + GatewayResource, + GatewaysListOptionalParams, + GatewaysGetOptionalParams, + GatewaysGetResponse, + GatewaysCreateOrUpdateOptionalParams, + GatewaysCreateOrUpdateResponse, + GatewaysDeleteOptionalParams, + CustomDomainValidatePayload, + GatewaysValidateDomainOptionalParams, + GatewaysValidateDomainResponse +} from "../models"; + +/// +/** Interface representing a Gateways. */ +export interface Gateways { + /** + * Handles requests to list all resources in a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + serviceName: string, + options?: GatewaysListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the Spring Cloud Gateway and its properties. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewaysGetOptionalParams + ): Promise; + /** + * Create the default Spring Cloud Gateway or update the existing Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param gatewayResource The gateway for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + gatewayResource: GatewayResource, + options?: GatewaysCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + GatewaysCreateOrUpdateResponse + > + >; + /** + * Create the default Spring Cloud Gateway or update the existing Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param gatewayResource The gateway for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + gatewayResource: GatewayResource, + options?: GatewaysCreateOrUpdateOptionalParams + ): Promise; + /** + * Disable the default Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewaysDeleteOptionalParams + ): Promise, void>>; + /** + * Disable the default Spring Cloud Gateway. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + options?: GatewaysDeleteOptionalParams + ): Promise; + /** + * Check the domains are valid as well as not in use. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param gatewayName The name of Spring Cloud Gateway. + * @param validatePayload Custom domain payload to be validated + * @param options The options parameters. + */ + validateDomain( + resourceGroupName: string, + serviceName: string, + gatewayName: string, + validatePayload: CustomDomainValidatePayload, + options?: GatewaysValidateDomainOptionalParams + ): Promise; +} diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/index.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/index.ts index a53d4bef767a..74a7d0c1f6fa 100644 --- a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/index.ts +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/index.ts @@ -17,9 +17,15 @@ export * from "./buildServiceAgentPool"; export * from "./monitoringSettings"; export * from "./apps"; export * from "./bindings"; +export * from "./storages"; export * from "./certificates"; export * from "./customDomains"; export * from "./deployments"; export * from "./operations"; export * from "./runtimeVersions"; export * from "./skus"; +export * from "./gateways"; +export * from "./gatewayRouteConfigs"; +export * from "./gatewayCustomDomains"; +export * from "./apiPortals"; +export * from "./apiPortalCustomDomains"; diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/services.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/services.ts index a126d70ac300..39217aa14f9c 100644 --- a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/services.ts +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/services.ts @@ -27,6 +27,8 @@ import { ServicesDisableTestEndpointOptionalParams, ServicesEnableTestEndpointOptionalParams, ServicesEnableTestEndpointResponse, + ServicesStopOptionalParams, + ServicesStartOptionalParams, NameAvailabilityParameters, ServicesCheckNameAvailabilityOptionalParams, ServicesCheckNameAvailabilityResponse @@ -204,6 +206,54 @@ export interface Services { serviceName: string, options?: ServicesEnableTestEndpointOptionalParams ): Promise; + /** + * Stop a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + beginStop( + resourceGroupName: string, + serviceName: string, + options?: ServicesStopOptionalParams + ): Promise, void>>; + /** + * Stop a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + beginStopAndWait( + resourceGroupName: string, + serviceName: string, + options?: ServicesStopOptionalParams + ): Promise; + /** + * Start a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + beginStart( + resourceGroupName: string, + serviceName: string, + options?: ServicesStartOptionalParams + ): Promise, void>>; + /** + * Start a Service. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + beginStartAndWait( + resourceGroupName: string, + serviceName: string, + options?: ServicesStartOptionalParams + ): Promise; /** * Checks that the resource name is valid and is not already in use. * @param location the region diff --git a/sdk/appplatform/arm-appplatform/src/operationsInterfaces/storages.ts b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/storages.ts new file mode 100644 index 000000000000..0eeb8fa2ba06 --- /dev/null +++ b/sdk/appplatform/arm-appplatform/src/operationsInterfaces/storages.ts @@ -0,0 +1,115 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + StorageResource, + StoragesListOptionalParams, + StoragesGetOptionalParams, + StoragesGetResponse, + StoragesCreateOrUpdateOptionalParams, + StoragesCreateOrUpdateResponse, + StoragesDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a Storages. */ +export interface Storages { + /** + * List all the storages of one Azure Spring Apps resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + serviceName: string, + options?: StoragesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + serviceName: string, + storageName: string, + options?: StoragesGetOptionalParams + ): Promise; + /** + * Create or update storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param storageResource Parameters for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + serviceName: string, + storageName: string, + storageResource: StorageResource, + options?: StoragesCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + StoragesCreateOrUpdateResponse + > + >; + /** + * Create or update storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param storageResource Parameters for the create or update operation + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + serviceName: string, + storageName: string, + storageResource: StorageResource, + options?: StoragesCreateOrUpdateOptionalParams + ): Promise; + /** + * Delete the storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + serviceName: string, + storageName: string, + options?: StoragesDeleteOptionalParams + ): Promise, void>>; + /** + * Delete the storage resource. + * @param resourceGroupName The name of the resource group that contains the resource. You can obtain + * this value from the Azure Resource Manager API or the portal. + * @param serviceName The name of the Service resource. + * @param storageName The name of the storage resource. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + serviceName: string, + storageName: string, + options?: StoragesDeleteOptionalParams + ): Promise; +} diff --git a/sdk/appplatform/arm-appplatform/test/sampleTest.ts b/sdk/appplatform/arm-appplatform/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/appplatform/arm-appplatform/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/appplatform/arm-appplatform/tsconfig.json b/sdk/appplatform/arm-appplatform/tsconfig.json index 04fa881dd845..3e6ae96443f3 100644 --- a/sdk/appplatform/arm-appplatform/tsconfig.json +++ b/sdk/appplatform/arm-appplatform/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-appplatform": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"